CSFML - C binding of the Simple and Fast Multimedia Library

CSFML 3.0.0
Loading...
Searching...
No Matches
Image.h
Go to the documentation of this file.
1
2//
3// SFML - Simple and Fast Multimedia Library
4// Copyright (C) 2007-2026 Laurent Gomila (laurent@sfml-dev.org)
5//
6// This software is provided 'as-is', without any express or implied warranty.
7// In no event will the authors be held liable for any damages arising from the use of this software.
8//
9// Permission is granted to anyone to use this software for any purpose,
10// including commercial applications, and to alter it and redistribute it freely,
11// subject to the following restrictions:
12//
13// 1. The origin of this software must not be misrepresented;
14// you must not claim that you wrote the original software.
15// If you use this software in a product, an acknowledgment
16// in the product documentation would be appreciated but is not required.
17//
18// 2. Altered source versions must be plainly marked as such,
19// and must not be misrepresented as being the original software.
20//
21// 3. This notice may not be removed or altered from any source distribution.
22//
24
25#pragma once
26
28// Headers
30#include <CSFML/Graphics/Export.h>
31
32#include <CSFML/Graphics/Color.h>
33#include <CSFML/Graphics/Rect.h>
34#include <CSFML/Graphics/Types.h>
35#include <CSFML/System/Buffer.h>
36#include <CSFML/System/InputStream.h>
37#include <CSFML/System/Vector2.h>
38
39#include <stddef.h>
40
41
52 CSFML_GRAPHICS_API sfImage* sfImage_create(sfVector2u size);
53
63 CSFML_GRAPHICS_API sfImage* sfImage_createFromColor(sfVector2u size, sfColor color);
64
79 CSFML_GRAPHICS_API sfImage* sfImage_createFromPixels(sfVector2u size, const uint8_t* pixels);
80
94 CSFML_GRAPHICS_API sfImage* sfImage_createFromFile(const char* filename);
95
110 CSFML_GRAPHICS_API sfImage* sfImage_createFromMemory(const void* data, size_t size);
111
125 CSFML_GRAPHICS_API sfImage* sfImage_createFromStream(sfInputStream* stream);
126
135 CSFML_GRAPHICS_API sfImage* sfImage_copy(const sfImage* image);
136
143 CSFML_GRAPHICS_API void sfImage_destroy(const sfImage* image);
144
161 CSFML_GRAPHICS_API bool sfImage_saveToFile(const sfImage* image, const char* filename);
162
180 CSFML_GRAPHICS_API bool sfImage_saveToMemory(const sfImage* image, sfBuffer* output, const char* format);
181
190 CSFML_GRAPHICS_API sfVector2u sfImage_getSize(const sfImage* image);
191
204 CSFML_GRAPHICS_API void sfImage_createMaskFromColor(sfImage* image, sfColor color, uint8_t alpha);
205
228 CSFML_GRAPHICS_API bool sfImage_copyImage(sfImage* image, const sfImage* source, sfVector2u dest, sfIntRect sourceRect, bool applyAlpha);
229
242 CSFML_GRAPHICS_API void sfImage_setPixel(sfImage* image, sfVector2u coords, sfColor color);
243
257 CSFML_GRAPHICS_API sfColor sfImage_getPixel(const sfImage* image, sfVector2u coords);
258
274 CSFML_GRAPHICS_API const uint8_t* sfImage_getPixelsPtr(const sfImage* image);
275
282 CSFML_GRAPHICS_API void sfImage_flipHorizontally(sfImage* image);
283
290 CSFML_GRAPHICS_API void sfImage_flipVertically(sfImage* image);
Buffer.h
Color.h
Export.h
CSFML_GRAPHICS_API
#define CSFML_GRAPHICS_API
Definition Graphics/Export.h:42
Types.h
sfImage
struct sfImage sfImage
Definition Graphics/Types.h:31
sfImage_setPixel
void sfImage_setPixel(sfImage *image, sfVector2u coords, sfColor color)
Change the color of a pixel in an image.
sfImage_flipHorizontally
void sfImage_flipHorizontally(sfImage *image)
Flip an image horizontally (left <-> right).
sfImage_createFromStream
sfImage * sfImage_createFromStream(sfInputStream *stream)
Create an image from a custom stream.
sfImage_getSize
sfVector2u sfImage_getSize(const sfImage *image)
Return the size of an image.
sfImage_saveToFile
bool sfImage_saveToFile(const sfImage *image, const char *filename)
Save an image to a file on disk.
sfImage_createFromColor
sfImage * sfImage_createFromColor(sfVector2u size, sfColor color)
Create an image and fill it with a unique color.
sfImage_createMaskFromColor
void sfImage_createMaskFromColor(sfImage *image, sfColor color, uint8_t alpha)
Create a transparency mask from a specified color-key.
sfImage_getPixelsPtr
const uint8_t * sfImage_getPixelsPtr(const sfImage *image)
Get a read-only pointer to the array of pixels of an image.
sfImage_createFromFile
sfImage * sfImage_createFromFile(const char *filename)
Create an image from a file on disk.
sfImage_saveToMemory
bool sfImage_saveToMemory(const sfImage *image, sfBuffer *output, const char *format)
Save the image to a buffer in memory.
sfImage_flipVertically
void sfImage_flipVertically(sfImage *image)
Flip an image vertically (top <-> bottom).
sfImage_copy
sfImage * sfImage_copy(const sfImage *image)
Copy an existing image.
sfImage_createFromPixels
sfImage * sfImage_createFromPixels(sfVector2u size, const uint8_t *pixels)
Create an image from an array of pixels.
sfImage_destroy
void sfImage_destroy(const sfImage *image)
Destroy an existing image.
sfImage_createFromMemory
sfImage * sfImage_createFromMemory(const void *data, size_t size)
Create an image from a file in memory.
sfImage_create
sfImage * sfImage_create(sfVector2u size)
Create an image.
sfImage_copyImage
bool sfImage_copyImage(sfImage *image, const sfImage *source, sfVector2u dest, sfIntRect sourceRect, bool applyAlpha)
Copy pixels from an image onto another.
sfImage_getPixel
sfColor sfImage_getPixel(const sfImage *image, sfVector2u coords)
Get the color of a pixel in an image.
InputStream.h
Rect.h
sfBuffer
struct sfBuffer sfBuffer
Definition System/Types.h:28
Vector2.h
sfColor
Utility class for manpulating RGBA colors.
Definition Color.h:38
sfInputStream
Set of callbacks that allow users to define custom file streams.
Definition InputStream.h:46
sfIntRect
Definition Rect.h:46
sfVector2u
2-component vector of unsigned integers
Definition Vector2.h:49