-
Notifications
You must be signed in to change notification settings - Fork 29
API Image
Image loading, saving, animation, and metadata functions.
- Functions: 102
- Functions with XML docs: 102
public static bool AddAnimationEncoderFrame(IntPtr encoder, IntPtr surface, ulong duration);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_AddAnimationEncoderFrame(IMG_AnimationEncoder *encoder, SDL_Surface *surface, Uint64 duration);
Add a frame to an animation encoder.
Parameters
| Name | Type | Description |
|---|---|---|
encoder |
IntPtr |
the receiving images. |
surface |
IntPtr |
the surface to add as the next frame in the animation. |
duration |
ulong |
the duration of the frame, usually in milliseconds but can be other units if the Image.Props.AnimationEncoderCreateTimebaseDenominatorNumber property is set when creating the encoder. |
Returns
true on success or false on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.AddAnimationEncoderFrame(System.IntPtr,System.IntPtr,System.UInt64)
public static bool CloseAnimationDecoder(IntPtr decoder);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_CloseAnimationDecoder(IMG_AnimationDecoder *decoder);
Close an animation decoder, finishing any decoding. Calling this function frees the animation decoder, and returns the final status of the decoding process.
Parameters
| Name | Type | Description |
|---|---|---|
decoder |
IntPtr |
the decoder to close. |
Returns
true on success or false on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.CloseAnimationDecoder(System.IntPtr)
public static bool CloseAnimationEncoder(IntPtr encoder);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_CloseAnimationEncoder(IMG_AnimationEncoder *encoder);
Close an animation encoder, finishing any encoding. Calling this function frees the animation encoder, and returns the final status of the encoding process.
Parameters
| Name | Type | Description |
|---|---|---|
encoder |
IntPtr |
the encoder to close. |
Returns
true on success or false on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.CloseAnimationEncoder(System.IntPtr)
public static IntPtr CreateAnimatedCursor(IntPtr anim, int hotX, int hotY);SDL declaration
extern SDL_DECLSPEC SDL_Cursor * SDLCALL IMG_CreateAnimatedCursor(IMG_Animation *anim, int hot_x, int hot_y);
Create an animated cursor from an animation.
Parameters
| Name | Type | Description |
|---|---|---|
anim |
IntPtr |
an animation to use to create an animated cursor. |
hotX |
int |
the x position of the cursor hot spot. |
hotY |
int |
the y position of the cursor hot spot. |
Returns
the new cursor on success or null on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.CreateAnimatedCursor(System.IntPtr,System.Int32,System.Int32)
public static IntPtr CreateAnimationDecoder(string file);SDL declaration
extern SDL_DECLSPEC IMG_AnimationDecoder * SDLCALL IMG_CreateAnimationDecoder(const char *file);
Create a decoder to read a series of images from a file. These animation types are currently supported:
- ANI
- APNG
- AVIFS
- GIF
- WEBP The file type is determined from the file extension, e.g. "file.webp" will be decoded using WEBP.
Parameters
| Name | Type | Description |
|---|---|---|
file |
string |
the file containing a series of images. |
Returns
a new IMG_AnimationDecoder, or null on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.CreateAnimationDecoder(System.String)
public static IntPtr CreateAnimationDecoderIO(IntPtr src, bool closeio, string type);SDL declaration
extern SDL_DECLSPEC IMG_AnimationDecoder * SDLCALL IMG_CreateAnimationDecoder_IO(SDL_IOStream *src, bool closeio, const char *type);
Create a decoder to read a series of images from an IOStream. These animation types are currently supported:
- ANI
- APNG
- AVIFS
- GIF
- WEBP
If
closeioistrue,srcwill be closed before returning if this function fails, or when the animation decoder is closed if this function succeeds.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
an SDL_IOStream containing a series of images. |
closeio |
bool |
true to close the SDL_IOStream when done, false to leave it open. |
type |
string |
a filename extension that represent this data ("WEBP", etc). |
Returns
a new IMG_AnimationDecoder, or null on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.CreateAnimationDecoderIO(System.IntPtr,System.Boolean,System.String)
public static IntPtr CreateAnimationDecoderWithProperties(uint props);Create an animation decoder with the specified properties. These animation types are currently supported:
-
ANI
-
APNG
-
AVIFS
-
GIF
-
WEBP These are the supported properties:
-
Image.Props.AnimationDecoderCreateFilenameString: the file to load, if an SDL_IOStream isn't being used. This is required ifImage.Props.AnimationDecoderCreateIOStreamPointerisn't set. -
Image.Props.AnimationDecoderCreateIOStreamPointer: an SDL_IOStream containing a series of images. This should not be closed until the animation decoder is closed. This is required ifImage.Props.AnimationDecoderCreateFilenameStringisn't set. -
Image.Props.AnimationDecoderCreateIOStreamAutoCloseBoolean:trueif closing the animation decoder should also close the associated SDL_IOStream. -
Image.Props.AnimationDecoderCreateTypeString: the input file type, e.g. "webp", defaults to the file extension ifImage.Props.AnimationDecoderCreateFilenameStringis set.
Parameters
| Name | Type | Description |
|---|---|---|
props |
uint |
the properties of the animation decoder. |
Returns
a new IMG_AnimationDecoder, or null on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.CreateAnimationDecoderWithProperties(System.UInt32)
public static IntPtr CreateAnimationEncoder(string file);SDL declaration
extern SDL_DECLSPEC IMG_AnimationEncoder * SDLCALL IMG_CreateAnimationEncoder(const char *file);
Create an encoder to save a series of images to a file. These animation types are currently supported:
- ANI
- APNG
- AVIFS
- GIF
- WEBP The file type is determined from the file extension, e.g. "file.webp" will be encoded using WEBP.
Parameters
| Name | Type | Description |
|---|---|---|
file |
string |
the file where the animation will be saved. |
Returns
a new IMG_AnimationEncoder, or null on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.CreateAnimationEncoder(System.String)
public static IntPtr CreateAnimationEncoderIO(IntPtr dst, bool closeio, string type);SDL declaration
extern SDL_DECLSPEC IMG_AnimationEncoder * SDLCALL IMG_CreateAnimationEncoder_IO(SDL_IOStream *dst, bool closeio, const char *type);
Create an encoder to save a series of images to an IOStream. These animation types are currently supported:
- ANI
- APNG
- AVIFS
- GIF
- WEBP
If
closeioistrue,dstwill be closed before returning if this function fails, or when the animation encoder is closed if this function succeeds.
Parameters
| Name | Type | Description |
|---|---|---|
dst |
IntPtr |
dst an SDL_IOStream that will be used to save the stream. |
closeio |
bool |
true to close the SDL_IOStream when done, false to leave it open. |
type |
string |
a filename extension that represent this data ("WEBP", etc). |
Returns
a new IMG_AnimationEncoder, or null on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.CreateAnimationEncoderIO(System.IntPtr,System.Boolean,System.String)
public static IntPtr CreateAnimationEncoderWithProperties(uint props);SDL declaration
extern SDL_DECLSPEC IMG_AnimationEncoder * SDLCALL IMG_CreateAnimationEncoderWithProperties(SDL_PropertiesID props);
Create an animation encoder with the specified properties. These animation types are currently supported:
-
ANI
-
APNG
-
AVIFS
-
GIF
-
WEBP These are the supported properties:
-
Image.Props.AnimationEncoderCreateFilenameString: the file to save, if an SDL_IOStream isn't being used. This is required ifImage.Props.AnimationEncoderCreateIOStreamPointerisn't set. -
Image.Props.AnimationEncoderCreateIOStreamPointer: an SDL_IOStream that will be used to save the stream. This should not be closed until the animation encoder is closed. This is required ifImage.Props.AnimationEncoderCreateFilenameStringisn't set. -
Image.Props.AnimationEncoderCreateIOStreamAutoCloseBoolean:trueif closing the animation encoder should also close the associated SDL_IOStream. -
Image.Props.AnimationEncoderCreateTypeString: the output file type, e.g. "webp", defaults to the file extension ifImage.Props.AnimationEncoderCreateFilenameStringis set. -
Image.Props.AnimationEncoderCreateQualityNumber: the compression quality, in the range of 0 to 100. The higher the number, the higher the quality and file size. This defaults to a balanced value for compression and quality. -
Image.Props.AnimationEncoderCreateTimebaseNumeratorNumber: the numerator of the fraction used to multiply the pts to convert it to seconds. This defaults to 1. -
Image.Props.AnimationEncoderCreateTimebaseDenominatorNumber: the denominator of the fraction used to multiply the pts to convert it to seconds. This defaults to 1000.
Parameters
| Name | Type | Description |
|---|---|---|
props |
uint |
the properties of the animation encoder. |
Returns
a new IMG_AnimationEncoder, or null on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.CreateAnimationEncoderWithProperties(System.UInt32)
public static void FreeAnimation(IntPtr anim);SDL declaration
extern SDL_DECLSPEC void SDLCALL IMG_FreeAnimation(IMG_Animation *anim);
Dispose of an Image.Animation and free its resources. The provided anim pointer is not valid once this call returns.
Parameters
| Name | Type | Description |
|---|---|---|
anim |
IntPtr |
Image.Animation to dispose of. |
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.FreeAnimation(System.IntPtr)
public static bool GetAnimationDecoderFrame(IntPtr decoder, out IntPtr frame, long duration);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_GetAnimationDecoderFrame(IMG_AnimationDecoder *decoder, SDL_Surface **frame, Uint64 *duration);
Get the next frame in an animation decoder. This function decodes the next frame in the animation decoder, returning it as an SDL_Surface. The returned surface should be freed with SDL.DestroySurface when no longer needed.
If the animation decoder has no more frames or an error occurred while decoding the frame, this function returns false. In that case, please call SDL.GetError for more information. If SDL.GetError returns an empty string, that means there are no more available frames. If SDL.GetError returns a valid string, that means the decoding failed.
Parameters
| Name | Type | Description |
|---|---|---|
decoder |
IntPtr |
the animation decoder. |
frame |
out IntPtr |
a pointer filled in with the SDL_Surface for the next frame in the animation. |
duration |
long |
the duration of the frame, usually in milliseconds but can be other units if the Image.Props.AnimationDecoderCreateTimebaseDenominatorNumber property is set when creating the decoder. |
Returns
true on success or false on failure and when no more frames are available; call Image.GetAnimationDecoderStatus or SDL.GetError for more information.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.GetAnimationDecoderFrame(System.IntPtr,System.IntPtr@,System.Int64)
public static uint GetAnimationDecoderProperties(IntPtr decoder);SDL declaration
extern SDL_DECLSPEC SDL_PropertiesID SDLCALL IMG_GetAnimationDecoderProperties(IMG_AnimationDecoder *decoder);
Get the properties of an animation decoder. This function returns the properties of the animation decoder, which holds information about the underlying image such as description, copyright text and loop count.
Image.Props.MetadataLoopCountNumber, if present, specifies the number of times to play the animation, with 0 meaning loop continuously.
Parameters
| Name | Type | Description |
|---|---|---|
decoder |
IntPtr |
the animation decoder. |
Returns
the properties ID of the animation decoder, or 0 if there are no properties; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.GetAnimationDecoderProperties(System.IntPtr)
public static Image.AnimationDecoderStatus GetAnimationDecoderStatus(IntPtr decoder);SDL declaration
extern SDL_DECLSPEC IMG_AnimationDecoderStatus SDLCALL IMG_GetAnimationDecoderStatus(IMG_AnimationDecoder *decoder);
Get the decoder status indicating the current state of the decoder.
Parameters
| Name | Type | Description |
|---|---|---|
decoder |
IntPtr |
the decoder to get the status of. |
Returns
the status of the underlying decoder, or Image.AnimationDecoderStatus.Invalid if the given decoder is invalid.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.GetAnimationDecoderStatus(System.IntPtr)
public static IntPtr GetClipboardImage();SDL declaration
extern SDL_DECLSPEC SDL_Surface * SDLCALL IMG_GetClipboardImage(void);
Get the image currently in the clipboard. When done with the returned surface, the app should dispose of it with a call to SDL.DestroySurface.
Returns
a new SDL surface, or null if no supported image is available.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.GetClipboardImage
public static bool IsANI(IntPtr src);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_isANI(SDL_IOStream *src);
Detect ANI animated cursor data on a readable/seekable SDL_IOStream. This function attempts to determine if a file is a given filetype, reading the least amount possible from the SDL_IOStream (usually a few bytes).
There is no distinction made between "not the filetype in question" and basic i/o errors.
This function will always attempt to seek src back to where it started when this function was called, but it will not report any errors in doing so, but assuming seeking works, this means you can immediately use this with a different IMG_isTYPE function, or load the image without further seeking.
You do not need to call this function to load data; SDL_image can work to determine file type in many cases in its standard load functions.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
a seekable/readable SDL_IOStream to provide image data. |
Returns
true if this is ANI animated cursor data, false otherwise.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.IsANI(System.IntPtr)
public static bool IsAVIF(IntPtr src);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_isAVIF(SDL_IOStream *src);
Detect AVIF image data on a readable/seekable SDL_IOStream.
This function attempts to determine if a file is a given filetype, reading the least amount possible from the SDL_IOStream (usually a few bytes).
There is no distinction made between "not the filetype in question" and basic i/o errors.
This function will always attempt to seek src back to where it started when this function was called, but it will not report any errors in doing so, but assuming seeking works, this means you can immediately use this with a different IsTYPE function, or load the image without further seeking.
You do not need to call this function to load data; SDL_image can work to determine file type in many cases in its standard load functions.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
a seekable/readable SDL_IOStream to provide image data. |
Returns
true if this is AVIF data, false otherwise.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.IsAVIF(System.IntPtr)
public static bool IsBMP(IntPtr src);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_isBMP(SDL_IOStream *src);
Detect BMP image data on a readable/seekable SDL_IOStream.
This function attempts to determine if a file is a given filetype, reading the least amount possible from the SDL_IOStream (usually a few bytes).
There is no distinction made between "not the filetype in question" and basic i/o errors.
This function will always attempt to seek src back to where it started when this function was called, but it will not report any errors in doing so, but assuming seeking works, this means you can immediately use this with a different IsTYPE function, or load the image without further seeking.
You do not need to call this function to load data; SDL_image can work to determine file type in many cases in its standard load functions.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
a seekable/readable SDL_IOStream to provide image data. |
Returns
true if this is BMP data, false otherwise.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.IsBMP(System.IntPtr)
public static bool IsCUR(IntPtr src);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_isCUR(SDL_IOStream *src);
Detect CUR image data on a readable/seekable SDL_IOStream.
This function attempts to determine if a file is a given filetype, reading the least amount possible from the SDL_IOStream (usually a few bytes).
There is no distinction made between "not the filetype in question" and basic i/o errors.
This function will always attempt to seek src back to where it started when this function was called, but it will not report any errors in doing so, but assuming seeking works, this means you can immediately use this with a different IsTYPE function, or load the image without further seeking.
You do not need to call this function to load data; SDL_image can work to determine file type in many cases in its standard load functions.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
a seekable/readable SDL_IOStream to provide image data. |
Returns
true if this is CUR data, false otherwise.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.IsCUR(System.IntPtr)
public static bool IsGIF(IntPtr src);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_isGIF(SDL_IOStream *src);
Detect GIF image data on a readable/seekable SDL_IOStream.
This function attempts to determine if a file is a given filetype, reading the least amount possible from the SDL_IOStream (usually a few bytes).
There is no distinction made between "not the filetype in question" and basic i/o errors.
This function will always attempt to seek src back to where it started when this function was called, but it will not report any errors in doing so, but assuming seeking works, this means you can immediately use this with a different IsTYPE function, or load the image without further seeking.
You do not need to call this function to load data; SDL_image can work to determine file type in many cases in its standard load functions.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
a seekable/readable SDL_IOStream to provide image data. |
Returns
true if this is GIF data, false otherwise.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.IsGIF(System.IntPtr)
public static bool IsICO(IntPtr src);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_isICO(SDL_IOStream *src);
Detect ICO image data on a readable/seekable SDL_IOStream.
This function attempts to determine if a file is a given filetype, reading the least amount possible from the SDL_IOStream (usually a few bytes).
There is no distinction made between "not the filetype in question" and basic i/o errors.
This function will always attempt to seek src back to where it started when this function was called, but it will not report any errors in doing so, but assuming seeking works, this means you can immediately use this with a different IsTYPE function, or load the image without further seeking.
You do not need to call this function to load data; SDL_image can work to determine file type in many cases in its standard load functions.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
a seekable/readable SDL_IOStream to provide image data. |
Returns
true if this is ICO data, false otherwise.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.IsICO(System.IntPtr)
public static bool IsJPG(IntPtr src);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_isJPG(SDL_IOStream *src);
Detect JPG image data on a readable/seekable SDL_IOStream.
This function attempts to determine if a file is a given filetype, reading the least amount possible from the SDL_IOStream (usually a few bytes).
There is no distinction made between "not the filetype in question" and basic i/o errors.
This function will always attempt to seek src back to where it started when this function was called, but it will not report any errors in doing so, but assuming seeking works, this means you can immediately use this with a different IMG_isTYPE function, or load the image without further seeking.
You do not need to call this function to load data; SDL_image can work to determine file type in many cases in its standard load functions.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
a seekable/readable SDL_IOStream to provide image data. |
Returns
true if this is JPG data, false otherwise.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.IsJPG(System.IntPtr)
public static bool IsJXL(IntPtr src);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_isJXL(SDL_IOStream *src);
Detect JXL image data on a readable/seekable SDL_IOStream.
This function attempts to determine if a file is a given filetype, reading the least amount possible from the SDL_IOStream (usually a few bytes).
There is no distinction made between "not the filetype in question" and basic i/o errors.
This function will always attempt to seek src back to where it started when this function was called, but it will not report any errors in doing so, but assuming seeking works, this means you can immediately use this with a different IsTYPE function, or load the image without further seeking.
You do not need to call this function to load data; SDL_image can work to determine file type in many cases in its standard load functions.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
a seekable/readable SDL_IOStream to provide image data. |
Returns
true if this is JXL data, false otherwise.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.IsJXL(System.IntPtr)
public static bool IsLBM(IntPtr src);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_isLBM(SDL_IOStream *src);
Detect LBM image data on a readable/seekable SDL_IOStream.
This function attempts to determine if a file is a given filetype, reading the least amount possible from the SDL_IOStream (usually a few bytes).
There is no distinction made between "not the filetype in question" and basic i/o errors.
You do not need to call this function to load data; SDL_image can work to determine file type in many cases in its standard load functions.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
a seekable/readable SDL_IOStream to provide image data. |
Returns
true if this is LBM data, false otherwise.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.IsLBM(System.IntPtr)
public static bool IsPCX(IntPtr src);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_isPCX(SDL_IOStream *src);
Detect PCX image data on a readable/seekable SDL_IOStream.
This function attempts to determine if a file is a given filetype, reading the least amount possible from the SDL_IOStream (usually a few bytes).
There is no distinction made between "not the filetype in question" and basic i/o errors.
This function will always attempt to seek src back to where it started when this function was called, but it will not report any errors in doing so, but assuming seeking works, this means you can immediately use this with a different IsTYPE function, or load the image without further seeking.
You do not need to call this function to load data; SDL_image can work to determine file type in many cases in its standard load functions.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
a seekable/readable SDL_IOStream to provide image data. |
Returns
true if this is PCX data, false otherwise.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.IsPCX(System.IntPtr)
public static bool IsPNG(IntPtr src);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_isPNG(SDL_IOStream *src);
Detect PNG image data on a readable/seekable SDL_IOStream.
This function attempts to determine if a file is a given filetype, reading the least amount possible from the SDL_IOStream (usually a few bytes).
There is no distinction made between "not the filetype in question" and basic i/o errors.
This function will always attempt to seek src back to where it started when this function was called, but it will not report any errors in doing so, but assuming seeking works, this means you can immediately use this with a different IMG_isTYPE function, or load the image without further seeking.
You do not need to call this function to load data; SDL_image can work to determine file type in many cases in its standard load functions.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
a seekable/readable SDL_IOStream to provide image data. |
Returns
true if this is PNG data, false otherwise.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.IsPNG(System.IntPtr)
public static bool IsPNM(IntPtr src);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_isPNM(SDL_IOStream *src);
Detect PNM image data on a readable/seekable SDL_IOStream.
This function attempts to determine if a file is a given filetype, reading the least amount possible from the SDL_IOStream (usually a few bytes).
There is no distinction made between "not the filetype in question" and basic i/o errors.
This function will always attempt to seek src back to where it started when this function was called, but it will not report any errors in doing so, but assuming seeking works, this means you can immediately use this with a different IMG_isTYPE function, or load the image without further seeking.
You do not need to call this function to load data; SDL_image can work to determine file type in many cases in its standard load functions.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
a seekable/readable SDL_IOStream to provide image data. |
Returns
true if this is PNM data, false otherwise.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.IsPNM(System.IntPtr)
public static bool IsQOI(IntPtr src);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_isQOI(SDL_IOStream *src);
Detect QOI image data on a readable/seekable SDL_IOStream.
This function attempts to determine if a file is a given filetype, reading the least amount possible from the SDL_IOStream (usually a few bytes).
There is no distinction made between "not the filetype in question" and\ basic i/o errors.
This function will always attempt to seek src back to where it started when this function was called, but it will not report any errors in doing so, but assuming seeking works, this means you can immediately use this with a different IsTYPE function, or load the image without further seeking.
You do not need to call this function to load data; SDL_image can work to determine file type in many cases in its standard load functions.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
a seekable/readable SDL_IOStream to provide image data. |
Returns
true if this is QOI data, false otherwise.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.IsQOI(System.IntPtr)
public static bool IsSVG(IntPtr src);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_isSVG(SDL_IOStream *src);
Detect SVG image data on a readable/seekable SDL_IOStream.
This function attempts to determine if a file is a given filetype, reading the least amount possible from the SDL_IOStream (usually a few bytes).
There is no distinction made between "not the filetype in question" and basic i/o errors.
This function will always attempt to seek src back to where it started when this function was called, but it will not report any errors in doing so, but assuming seeking works, this means you can immediately use this with a different IsTYPE function, or load the image without further seeking.
You do not need to call this function to load data; SDL_image can work to determine file type in many cases in its standard load functions.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
a seekable/readable SDL_IOStream to provide image data. |
Returns
true if this is SVG data, false otherwise.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.IsSVG(System.IntPtr)
public static bool IsTIF(IntPtr src);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_isTIF(SDL_IOStream *src);
Detect TIFF image data on a readable/seekable SDL_IOStream.
This function attempts to determine if a file is a given filetype, reading the least amount possible from the SDL_IOStream (usually a few bytes).
There is no distinction made between "not the filetype in question" and basic i/o errors.
This function will always attempt to seek src back to where it started when this function was called, but it will not report any errors in doing so, but assuming seeking works, this means you can immediately use this with a different IsTYPE function, or load the image without further seeking.
You do not need to call this function to load data; SDL_image can work to determine file type in many cases in its standard load functions.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
a seekable/readable SDL_IOStream to provide image data. |
Returns
true if this is TIFF data, false otherwise.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.IsTIF(System.IntPtr)
public static bool IsWEBP(IntPtr src);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_isWEBP(SDL_IOStream *src);
Detect WEBP image data on a readable/seekable SDL_IOStream.
This function attempts to determine if a file is a given filetype, reading the least amount possible from the SDL_IOStream (usually a few bytes).
There is no distinction made between "not the filetype in question" and basic i/o errors.
This function will always attempt to seek src back to where it started when this function was called, but it will not report any errors in doing so, but assuming seeking works, this means you can immediately use this with a different IsTYPE function, or load the image without further seeking.
You do not need to call this function to load data; SDL_image can work to determine file type in many cases in its standard load functions.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
a seekable/readable SDL_IOStream to provide image data. |
Returns
true if this is WEBP data, false otherwise.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.IsWEBP(System.IntPtr)
public static bool IsXCF(IntPtr src);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_isXCF(SDL_IOStream *src);
Detect XCF image data on a readable/seekable SDL_IOStream.
This function attempts to determine if a file is a given filetype, reading the least amount possible from the SDL_IOStream (usually a few bytes).
There is no distinction made between "not the filetype in question" and basic i/o errors.
This function will always attempt to seek src back to where it started when this function was called, but it will not report any errors in doing so, but assuming seeking works, this means you can immediately use this with a different IsTYPE function, or load the image without further seeking.
You do not need to call this function to load data; SDL_image can work to determine file type in many cases in its standard load functions.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
a seekable/readable SDL_IOStream to provide image data. |
Returns
true if this is XCF data, false otherwise.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.IsXCF(System.IntPtr)
public static bool IsXPM(IntPtr src);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_isXPM(SDL_IOStream *src);
Detect XPM image data on a readable/seekable SDL_IOStream.
This function attempts to determine if a file is a given filetype, reading the least amount possible from the SDL_IOStream (usually a few bytes).
There is no distinction made between "not the filetype in question" and basic i/o errors.
This function will always attempt to seek src back to where it started when this function was called, but it will not report any errors in doing so, but assuming seeking works, this means you can immediately use this with a different IsTYPE function, or load the image without further seeking.
You do not need to call this function to load data; SDL_image can work to determine file type in many cases in its standard load functions.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
a seekable/readable SDL_IOStream to provide image data. |
Returns
true if this is XPM data, false otherwise.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.IsXPM(System.IntPtr)
public static bool IsXV(IntPtr src);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_isXV(SDL_IOStream *src);
Detect XV image data on a readable/seekable SDL_IOStream.
This function attempts to determine if a file is a given filetype, reading the least amount possible from the SDL_IOStream (usually a few bytes).
There is no distinction made between "not the filetype in question" and basic i/o errors.
This function will always attempt to seek src back to where it started when this function was called, but it will not report any errors in doing so, but assuming seeking works, this means you can immediately use this with a different IsTYPE function, or load the image without further seeking.
You do not need to call this function to load data; SDL_image can work to determine file type in many cases in its standard load functions.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
a seekable/readable SDL_IOStream to provide image data. |
Returns
true if this is XV data, false otherwise.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.IsXV(System.IntPtr)
public static IntPtr Load(string file);SDL declaration
extern SDL_DECLSPEC SDL_Surface * SDLCALL IMG_Load(const char *file);
Load an image from a filesystem path into a software surface.
An SDL.Surface is a buffer of pixels in memory accessible by the CPU. Use this if you plan to hand the data to something else or manipulate it by calling: SDL.SetSurfaceColorKey(image, SDL_RLEACCEL, image.Format.Colorkey);
There are no guarantees about what format the new SDL.Surface data will be; in many cases, SDL_image will attempt to supply a surface that exactly matches the provided image, but in others it might have to convert (either because the image is in a format that SDL doesn't directly support or because it's compressed data that could reasonably uncompress to various formats and SDL_image had to pick one). You can inspect an SDL.Surface for its specifics, and use SDL.ConvertSurface to then migrate to any supported format.
If the image format supports a transparent pixel, SDL will set the colorkey for the surface. You can enable RLE acceleration on the surface afterwards by calling: SDL.SetSurfaceColorKey(image, SDL_RLEACCEL, image.Format.Colorkey);
There is a separate function to read files from an SDL_IOStream, if you need an i/o abstraction to provide data from anywhere instead of a simple filesystem read; that function is Image.LoadIO.
If you are using SDL's 2D rendering API, there is an equivalent call to load images directly into an SDL_Texture for use by the GPU without using a software surface: call Image.LoadTexture instead.
When done with the returned surface, the app should dispose of it with a call to SDL_DestroySurface ().
Parameters
| Name | Type | Description |
|---|---|---|
file |
string |
a path on the filesystem to load an image from. |
Returns
a new SDL surface, or null on error.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.Load(System.String)
public static IntPtr LoadANIAnimationIO(IntPtr src);SDL declaration
extern SDL_DECLSPEC IMG_Animation *SDLCALL IMG_LoadANIAnimation_IO(SDL_IOStream *src);
Load an ANI animation directly from an SDL_IOStream. If you know you definitely have an ANI image, you can call this function, which will skip SDL_image's file format detection routines. Generally, it's better to use the abstract interfaces; also, there is only an SDL_IOStream interface available here.
When done with the returned animation, the app should dispose of it with a call to Image.FreeAnimation.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
an SDL_IOStream from which data will be read. |
Returns
a new Image.Animation, or null on error.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.LoadANIAnimationIO(System.IntPtr)
public static IntPtr LoadAnimation(string file);SDL declaration
extern SDL_DECLSPEC IMG_Animation * SDLCALL IMG_LoadAnimation(const char *file);
Load an animation from a file.
When done with the returned animation, the app should dispose of it with a call to Image.FreeAnimation.
Parameters
| Name | Type | Description |
|---|---|---|
file |
string |
path on the filesystem containing an animated image. |
Returns
a new Image.Animation, or null on error.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.LoadAnimation(System.String)
public static IntPtr LoadAnimationIO(IntPtr src, bool closeio);SDL declaration
extern SDL_DECLSPEC IMG_Animation * SDLCALL IMG_LoadAnimation_IO(SDL_IOStream *src, bool closeio);
Load an animation from an SDL_IOStream.
If closeio is true, src will be closed before returning, whether this function succeeds or not. SDL_image reads everything it needs from src during this call in any case.
When done with the returned animation, the app should dispose of it with a call to Image.FreeAnimation.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
an SDL_IOStream that data will be read from. |
closeio |
bool |
true to close/free the SDL_IOStream before returning, false to leave it open. |
Returns
a new Image.Animation, or null on error.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.LoadAnimationIO(System.IntPtr,System.Boolean)
public static IntPtr LoadAnimationTypedIO(IntPtr src, bool closeio, string type);SDL declaration
extern SDL_DECLSPEC IMG_Animation * SDLCALL IMG_LoadAnimationTyped_IO(SDL_IOStream *src, bool closeio, const char *type);
Load an animation from an SDL_IOStream.
Even though this function accepts a file type, SDL_image may still try other decoders that are capable of detecting file type from the contents of the image data, but may rely on the caller-provided type string for formats that it cannot autodetect. If type is null, SDL_image will rely solely on its ability to guess the format.
If closeio is true, src will be closed before returning, whether this function succeeds or not. SDL_image reads everything it needs from src during this call in any case.
When done with the returned animation, the app should dispose of it with a call to Image.FreeAnimation.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
an SDL_IOStream that data will be read from. |
closeio |
bool |
true to close/free the SDL_IOStream before returning, false to leave it open. |
type |
string |
a filename extension that represent this data ("GIF", etc). |
Returns
a new Image.Animation, or null on error.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.LoadAnimationTypedIO(System.IntPtr,System.Boolean,System.String)
public static IntPtr LoadAPNGAnimationIO(IntPtr src);SDL declaration
extern SDL_DECLSPEC IMG_Animation *SDLCALL IMG_LoadAPNGAnimation_IO(SDL_IOStream *src);
Load an APNG animation directly from an SDL_IOStream. If you know you definitely have an APNG image, you can call this function, which will skip SDL_image's file format detection routines. Generally, it's better to use the abstract interfaces; also, there is only an SDL_IOStream interface available here.
When done with the returned animation, the app should dispose of it with a call to Image.FreeAnimation.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
an SDL_IOStream from which data will be read. |
Returns
a new Image.Animation, or null on error.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.LoadAPNGAnimationIO(System.IntPtr)
public static IntPtr LoadAVIFAnimationIO(IntPtr src);SDL declaration
extern SDL_DECLSPEC IMG_Animation *SDLCALL IMG_LoadAVIFAnimation_IO(SDL_IOStream *src);
Load an AVIF animation directly from an SDL_IOStream. If you know you definitely have an AVIF animation, you can call this function, which will skip SDL_image's file format detection routines. Generally it's better to use the abstract interfaces; also, there is only an SDL_IOStream interface available here.
When done with the returned animation, the app should dispose of it with a call to Image.FreeAnimation.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
an SDL_IOStream that data will be read from. |
Returns
a new Image.Animation, or null on error.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.LoadAVIFAnimationIO(System.IntPtr)
public static IntPtr LoadAVIFIO(IntPtr src);SDL declaration
extern SDL_DECLSPEC SDL_Surface * SDLCALL IMG_LoadAVIF_IO(SDL_IOStream *src);
Load a AVIF image directly.
If you know you definitely have a AVIF image, you can call this function, which will skip SDL_image's file format detection routines. Generally it's better to use the abstract interfaces; also, there is only an SDL_IOStream interface available here.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
an SDL_IOStream to load image data from. |
Returns
SDL surface, or null on error.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.LoadAVIFIO(System.IntPtr)
public static IntPtr LoadBMPIO(IntPtr src);SDL declaration
extern SDL_DECLSPEC SDL_Surface * SDLCALL IMG_LoadBMP_IO(SDL_IOStream *src);
Load a BMP image directly.
If you know you definitely have a BMP image, you can call this function, which will skip SDL_image's file format detection routines. Generally it's better to use the abstract interfaces; also, there is only an SDL_IOStream interface available here.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
an SDL_IOStream to load image data from. |
Returns
SDL surface, or null on error.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.LoadBMPIO(System.IntPtr)
public static IntPtr LoadCURIO(IntPtr src);SDL declaration
extern SDL_DECLSPEC SDL_Surface * SDLCALL IMG_LoadCUR_IO(SDL_IOStream *src);
Load a CUR image directly.
If you know you definitely have a CUR image, you can call this function, which will skip SDL_image's file format detection routines. Generally it's better to use the abstract interfaces; also, there is only an SDL_IOStream interface available here.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
an SDL_IOStream to load image data from. |
Returns
SDL surface, or null on error.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.LoadCURIO(System.IntPtr)
public static IntPtr LoadGIFAnimationIO(IntPtr src);SDL declaration
extern SDL_DECLSPEC IMG_Animation * SDLCALL IMG_LoadGIFAnimation_IO(SDL_IOStream *src);
Load a GIF animation directly. If you know you definitely have a GIF image, you can call this function, which will skip SDL_image's file format detection routines. Generally it's better to use the abstract interfaces; also, there is only an SDL_IOStream interface available here.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
an SDL_IOStream that data will be read from. |
Returns
a new Image.Animation, or null on error.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.LoadGIFAnimationIO(System.IntPtr)
public static IntPtr LoadGIFIO(IntPtr src);SDL declaration
extern SDL_DECLSPEC SDL_Surface * SDLCALL IMG_LoadGIF_IO(SDL_IOStream *src);
Load a GIF image directly.
If you know you definitely have a GIF image, you can call this function, which will skip SDL_image's file format detection routines. Generally it's better to use the abstract interfaces; also, there is only an SDL_IOStream interface available here.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
an SDL_IOStream to load image data from. |
Returns
SDL surface, or null on error.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.LoadGIFIO(System.IntPtr)
public static IntPtr LoadGPUTexture(IntPtr device, IntPtr copyPass, string file, out int width, out int height);SDL declaration
extern SDL_DECLSPEC SDL_GPUTexture * SDLCALL IMG_LoadGPUTexture(SDL_GPUDevice *device, SDL_GPUCopyPass *copyPass, const char *file, int *width, int *height);
Load an image from a filesystem path into a GPU texture. An SDL_GPUTexture represents an image in GPU memory, usable by SDL's GPU API. Regardless of the source format of the image, this function will create a GPU texture with the format SDL.GPUTextureFormat.R8G8B8A8Unorm with no mip levels. It can be bound as a sampled texture from a graphics or compute pipeline and as a a readonly storage texture in a compute pipeline.
There is a separate function to read files from an SDL_IOStream, if you need an i/o abstraction to provide data from anywhere instead of a simple filesystem read; that function is Image.LoadGPUTextureIO.
When done with the returned texture, the app should dispose of it with a call to SDL.ReleaseGPUTexture.
Parameters
| Name | Type | Description |
|---|---|---|
device |
IntPtr |
the SDL_GPUDevice to use to create the GPU texture. |
copyPass |
IntPtr |
the SDL_GPUCopyPass to use to upload the loaded image to the GPU texture. |
file |
string |
a path on the filesystem to load an image from. |
width |
out int |
a pointer filled in with the width of the GPU texture. may be null. |
height |
out int |
a pointer filled in with the width of the GPU texture. may be null. |
Returns
a new GPU texture, or null on error.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.LoadGPUTexture(System.IntPtr,System.IntPtr,System.String,System.Int32@,System.Int32@)
public static IntPtr LoadGPUTextureIO(IntPtr device, IntPtr copyPass, IntPtr src, bool closeio, out int width, out int height);SDL declaration
extern SDL_DECLSPEC SDL_GPUTexture * SDLCALL IMG_LoadGPUTexture_IO(SDL_GPUDevice *device, SDL_GPUCopyPass *copy_pass, SDL_IOStream *src, bool closeio, int *width, int *height);
Load an image from an SDL data source into a GPU texture. An SDL_GPUTexture represents an image in GPU memory, usable by SDL's GPU API. Regardless of the source format of the image, this function will create a GPU texture with the format SDL.GPUTextureFormat.R8G8B8A8Unorm with no mip levels. It can be bound as a sampled texture from a graphics or compute pipeline and as a a readonly storage texture in a compute pipeline.
If closeio is true, src will be closed before returning, whether this function succeeds or not. SDL_image reads everything it needs from src during this call in any case.
There is a separate function to read files from disk without having to deal with SDL_IOStream: `IMG_LoadGPUTexture(device, copy_pass, "filename.jpg", width, height) will call this function and manage those details for you, determining the file type from the filename's extension.
There is also IMG_LoadGPUTextureTyped_IO(), which is equivalent to this function except a file extension (like "BMP", "JPG", etc) can be specified, in case SDL_image cannot autodetect the file format.
When done with the returned texture, the app should dispose of it with a call to SDL.ReleaseGPUTexture.
Parameters
| Name | Type | Description |
|---|---|---|
device |
IntPtr |
the SDL_GPUDevice to use to create the GPU texture. |
copyPass |
IntPtr |
the SDL_GPUCopyPass to use to upload the loaded image to the GPU texture. |
src |
IntPtr |
an SDL_IOStream that data will be read from. |
closeio |
bool |
true to close/free the SDL_IOStream before returning, false to leave it open. |
width |
out int |
a pointer filled in with the width of the GPU texture. may be null. |
height |
out int |
a pointer filled in with the width of the GPU texture. may be null. |
Returns
a new GPU texture, or null on error.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.LoadGPUTextureIO(System.IntPtr,System.IntPtr,System.IntPtr,System.Boolean,System.Int32@,System.Int32@)
public static IntPtr LoadGPUTextureTypedIO(IntPtr device, IntPtr copyPass, IntPtr src, bool closeio, string file, out int width, out int height);SDL declaration
extern SDL_DECLSPEC SDL_GPUTexture * SDLCALL IMG_LoadGPUTextureTyped_IO(SDL_GPUDevice *device, SDL_GPUCopyPass *copy_pass, SDL_IOStream *src, bool closeio, const char *type, int *width, int *height);
Load an image from an SDL data source into a GPU texture.
An SDL_GPUTexture represents an image in GPU memory, usable by SDL's GPU API. Regardless of the source format of the image, this function will create a GPU texture with the format SDL.GPUTextureFormat.R8G8B8A8Unorm with no mip levels. It can be bound as a sampled texture from a graphics or compute pipeline and as a a readonly storage texture in a compute pipeline.
If closeio is true, src will be closed before returning, whether this function succeeds or not. SDL_image reads everything it needs from src during this call in any case.
Even though this function accepts a file type, SDL_image may still try other decoders that are capable of detecting file type from the contents of the image data, but may rely on the caller-provided type string for formats that it cannot autodetect. If type is null, SDL_image will rely solely on its ability to guess the format.
There is a separate function to read files from disk without having to deal with SDL_IOStream: `IMG_LoadGPUTexture(device, copy_pass, "filename.jpg", width, height) will call this function and manage those details for you, determining the file type from the filename's extension.
There is also Image.LoadGPUTextureIO, which is equivalent to this function except that it will rely on SDL_image to determine what type of data it is loading, much like passing a null for type.
When done with the returned texture, the app should dispose of it with a call to SDL.ReleaseGPUTexture.
Parameters
| Name | Type | Description |
|---|---|---|
device |
IntPtr |
the SDL_GPUDevice to use to create the GPU texture. |
copyPass |
IntPtr |
the SDL_GPUCopyPass to use to upload the loaded image to the GPU texture. |
src |
IntPtr |
an SDL_IOStream that data will be read from. |
closeio |
bool |
true to close/free the SDL_IOStream before returning, false to leave it open. |
file |
string |
a filename extension that represent this data ("BMP", "GIF", "PNG", etc). |
width |
out int |
a pointer filled in with the width of the GPU texture. may be null. |
height |
out int |
height a pointer filled in with the width of the GPU texture. may be null. |
Returns
a new GPU texture, or >null on error.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.LoadGPUTextureTypedIO(System.IntPtr,System.IntPtr,System.IntPtr,System.Boolean,System.String,System.Int32@,System.Int32@)
public static IntPtr LoadICOIO(IntPtr src);SDL declaration
extern SDL_DECLSPEC SDL_Surface * SDLCALL IMG_LoadICO_IO(SDL_IOStream *src);
Load a ICO image directly.
If you know you definitely have a ICO image, you can call this function, which will skip SDL_image's file format detection routines. Generally it's better to use the abstract interfaces; also, there is only an SDL_IOStream interface available here.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
an SDL_IOStream to load image data from. |
Returns
SDL surface, or null on error.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.LoadICOIO(System.IntPtr)
public static IntPtr LoadIO(IntPtr src, bool closeio);SDL declaration
extern SDL_DECLSPEC SDL_Surface * SDLCALL IMG_Load_IO(SDL_IOStream *src, bool closeio);
Load an image from an SDL data source into a software surface.
An SDL.Surface is a buffer of pixels in memory accessible by the CPU. Use this if you plan to hand the data to something else or manipulate it further in code.
There are no guarantees about what format the new SDL.Surface data will be; in many cases, SDL_image will attempt to supply a surface that exactly matches the provided image, but in others it might have to convert (either because the image is in a format that SDL doesn't directly support or because it's compressed data that could reasonably uncompress to various formats and SDL_image had to pick one). You can inspect an SDL.Surface for its specifics, and use SDL.ConvertSurface to then migrate to any supported format.
If the image format supports a transparent pixel, SDL will set the colorkey for the surface. You can enable RLE acceleration on the surface afterwards by calling: SDL.SetSurfaceColorKey(image, SDL_RLEACCEL, image.Format.Colorkey);
If closeio is true, src will be closed before returning, whether this function succeeds or not. SDL_image reads everything it needs from src during this call in any case.
There is a separate function to read files from disk without having to deal with SDL_IOStream: Image.Load("filename.jpg") will call this function and manage those details for you, determining the file type from the filename's extension.
There is also Image.LoadTypedIO, which is equivalent to this function except a file extension (like "BMP", "JPG", etc) can be specified, in case SDL_image cannot autodetect the file format.
If you are using SDL's 2D rendering API, there is an equivalent call to load images directly into an SDL_Texture for use by the GPU without using a software surface: call Image.LoadTextureIO instead.
When done with the returned surface, the app should dispose of it with a call to SDL.DestroySurface.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
an SDL_IOStream that data will be read from. |
closeio |
bool |
true to close/free the SDL_IOStream before returning, false to leave it open. |
Returns
a new SDL surface, or null on error.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.LoadIO(System.IntPtr,System.Boolean)
public static IntPtr LoadJPGIO(IntPtr src);SDL declaration
extern SDL_DECLSPEC SDL_Surface * SDLCALL IMG_LoadJPG_IO(SDL_IOStream *src);
Load a JPG image directly.
If you know you definitely have a JPG image, you can call this function, which will skip SDL_image's file format detection routines. Generally it's better to use the abstract interfaces; also, there is only an SDL_IOStream interface available here.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
an SDL_IOStream to load image data from. |
Returns
SDL surface, or null on error.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.LoadJPGIO(System.IntPtr)
public static IntPtr LoadJXLIO(IntPtr src);SDL declaration
extern SDL_DECLSPEC SDL_Surface * SDLCALL IMG_LoadJXL_IO(SDL_IOStream *src);
Load a JXL image directly.
If you know you definitely have a JXL image, you can call this function, which will skip SDL_image's file format detection routines. Generally it's better to use the abstract interfaces; also, there is only an SDL_IOStream interface available here.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
an SDL_IOStream to load image data from. |
Returns
SDL surface, or null on error.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.LoadJXLIO(System.IntPtr)
public static IntPtr LoadLBMIO(IntPtr src);SDL declaration
extern SDL_DECLSPEC SDL_Surface * SDLCALL IMG_LoadLBM_IO(SDL_IOStream *src);
Load a LBM image directly.
If you know you definitely have a LBM image, you can call this function, which will skip SDL_image's file format detection routines. Generally it's better to use the abstract interfaces; also, there is only an SDL_IOStream interface available here.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
an SDL_IOStream to load image data from. |
Returns
SDL surface, or null on error.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.LoadLBMIO(System.IntPtr)
public static IntPtr LoadPCXIO(IntPtr src);SDL declaration
extern SDL_DECLSPEC SDL_Surface * SDLCALL IMG_LoadPCX_IO(SDL_IOStream *src);
Load a PCX image directly.
If you know you definitely have a PCX image, you can call this function, which will skip SDL_image's file format detection routines. Generally it's better to use the abstract interfaces; also, there is only an SDL_IOStream interface available here.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
an SDL_IOStream to load image data from. |
Returns
SDL surface, or null on error.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.LoadPCXIO(System.IntPtr)
public static IntPtr LoadPNGIO(IntPtr src);SDL declaration
extern SDL_DECLSPEC SDL_Surface * SDLCALL IMG_LoadPNG_IO(SDL_IOStream *src);
Load a PNG image directly.
If you know you definitely have a PNG image, you can call this function, which will skip SDL_image's file format detection routines. Generally it's better to use the abstract interfaces; also, there is only an SDL_IOStream interface available here.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
an SDL_IOStream to load image data from. |
Returns
SDL surface, or null on error.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.LoadPNGIO(System.IntPtr)
public static IntPtr LoadPNMIO(IntPtr src);SDL declaration
extern SDL_DECLSPEC SDL_Surface * SDLCALL IMG_LoadPNM_IO(SDL_IOStream *src);
Load a PNM image directly.
If you know you definitely have a PNM image, you can call this function, which will skip SDL_image's file format detection routines. Generally it's better to use the abstract interfaces; also, there is only an SDL_IOStream interface available here.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
an SDL_IOStream to load image data from. |
Returns
SDL surface, or null on error.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.LoadPNMIO(System.IntPtr)
public static IntPtr LoadQOIIO(IntPtr src);SDL declaration
extern SDL_DECLSPEC SDL_Surface * SDLCALL IMG_LoadQOI_IO(SDL_IOStream *src);
Load a QOI image directly.
If you know you definitely have a QOI image, you can call this function, which will skip SDL_image's file format detection routines. Generally it's better to use the abstract interfaces; also, there is only an SDL_IOStream interface available here.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
an SDL_IOStream to load image data from. |
Returns
SDL surface, or null on error.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.LoadQOIIO(System.IntPtr)
public static IntPtr LoadSizedSVGIO(IntPtr src, int width, int height);SDL declaration
extern SDL_DECLSPEC SDL_Surface * SDLCALL IMG_LoadSizedSVG_IO(SDL_IOStream *src, int width, int height);
Load an SVG image, scaled to a specific size.
Since SVG files are resolution-independent, you specify the size you would like the output image to be and it will be generated at those dimensions.
Either width or height may be 0 and the image will be auto-sized to preserve aspect ratio.
When done with the returned surface, the app should dispose of it with a call to SDL.DestroySurface.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
an SDL_IOStream to load SVG data from. |
width |
int |
desired width of the generated surface, in pixels. |
height |
int |
desired height of the generated surface, in pixels. |
Returns
a new SDL surface, or null on error.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.LoadSizedSVGIO(System.IntPtr,System.Int32,System.Int32)
public static IntPtr LoadSVGIO(IntPtr src);SDL declaration
extern SDL_DECLSPEC SDL_Surface * SDLCALL IMG_LoadSVG_IO(SDL_IOStream *src);
Load a SVG image directly.
If you know you definitely have a SVG image, you can call this function, which will skip SDL_image's file format detection routines. Generally it's better to use the abstract interfaces; also, there is only an SDL_IOStream interface available here.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
SDL_IOStream to load image data from. |
Returns
SDL surface, or null on error.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.LoadSVGIO(System.IntPtr)
public static IntPtr LoadTexture(IntPtr renderer, string file);SDL declaration
extern SDL_DECLSPEC SDL_Texture * SDLCALL IMG_LoadTexture(SDL_Renderer *renderer, const char *file);
Load an image from a filesystem path into a texture.
An SDL_Texture represents an image in GPU memory, usable by SDL's 2D Render API. This can be significantly more efficient than using a CPU-bound SDL.Surface if you don't need to manipulate the image directly after loading it.
If the loaded image has transparency or a colorkey, a texture with an alpha channel will be created. Otherwise, SDL_image will attempt to create an SDL_Texture in the most format that most reasonably represents the image data (but in many cases, this will just end up being 32-bit RGB or 32-bit RGBA).
There is a separate function to read files from an SDL_IOStream, if you need an i/o abstraction to provide data from anywhere instead of a simple filesystem read; that function is Image.LoadTextureIO.
If you would rather decode an image to an SDL.Surface (a buffer of pixels in CPU memory), call Image.Load instead.
When done with the returned texture, the app should dispose of it with a call to SDL.DestroyTexture.
Parameters
| Name | Type | Description |
|---|---|---|
renderer |
IntPtr |
the SDL_Renderer to use to create the texture. |
file |
string |
a path on the filesystem to load an image from. |
Returns
a new texture, or nullon error.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.LoadTexture(System.IntPtr,System.String)
public static IntPtr LoadTextureIO(IntPtr renderer, IntPtr src, bool closeio);SDL declaration
extern SDL_DECLSPEC SDL_Texture * SDLCALL IMG_LoadTexture_IO(SDL_Renderer *renderer, SDL_IOStream *src, bool closeio);
Load an image from an SDL data source into a texture.
An SDL_Texture represents an image in GPU memory, usable by SDL's 2D Render API. This can be significantly more efficient than using a CPU-bound SDL.Surface if you don't need to manipulate the image directly after loading it.
If the loaded image has transparency or a colorkey, a texture with an alpha channel will be created. Otherwise, SDL_image will attempt to create an SDL_Texture in the most format that most reasonably represents the image data (but in many cases, this will just end up being 32-bit RGB or 32-bit RGBA).
If closeio is true, src will be closed before returning, whether this function succeeds or not. SDL_image reads everything it needs from src during this call in any case.
There is a separate function to read files from disk without having to deal with SDL_IOStream: LoadTexture(renderer, "filename.jpg") will call this function and manage those details for you, determining the file type from the filename's extension.
There is also Image.LoadTextureTypedIO, which is equivalent to this function except a file extension (like "BMP", "JPG", etc) can be specified, in case SDL_image cannot autodetect the file format.
If you would rather decode an image to an SDL.Surface (a buffer of pixels in CPU memory), call Image.Load instead.
When done with the returned texture, the app should dispose of it with a call to SDL.DestroyTexture.
Parameters
| Name | Type | Description |
|---|---|---|
renderer |
IntPtr |
the SDL_Renderer to use to create the texture. |
src |
IntPtr |
an SDL_IOStream that data will be read from. |
closeio |
bool |
true to close/free the SDL_IOStream before returning, false to leave it open. |
Returns
a new texture, or null on error.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.LoadTextureIO(System.IntPtr,System.IntPtr,System.Boolean)
public static IntPtr LoadTextureTypedIO(IntPtr renderer, IntPtr src, bool closeio, string type);SDL declaration
extern SDL_DECLSPEC SDL_Texture * SDLCALL IMG_LoadTextureTyped_IO(SDL_Renderer *renderer, SDL_IOStream *src, bool closeio, const char *type);
Load an image from an SDL data source into a texture.
An SDL_Texture represents an image in GPU memory, usable by SDL's 2D Render API. This can be significantly more efficient than using a CPU-bound SDL.Surface if you don't need to manipulate the image directly after loading it.
If the loaded image has transparency or a colorkey, a texture with an alpha channel will be created. Otherwise, SDL_image will attempt to create an SDL_Texture in the most format that most reasonably represents the image data (but in many cases, this will just end up being 32-bit RGB or 32-bit RGBA).
If closeio is true, src will be closed before returning, whether this function succeeds or not. SDL_image reads everything it needs from src during this call in any case.
Even though this function accepts a file type, SDL_image may still try other decoders that are capable of detecting file type from the contents of the image data, but may rely on the caller-provided type string for formats that it cannot autodetect. If type is null, SDL_image will rely solely on its ability to guess the format.
There is a separate function to read files from disk without having to deal with SDL_IOStream: Image.LoadTexture("filename.jpg") will call this function and manage those details for you, determining the file type from the filename's extension.
There is also Image.LoadTextureIO, which is equivalent to this function except that it will rely on SDL_image to determine what type of data it is loading, much like passing a null for type.
If you would rather decode an image to an SDL.Surface (a buffer of pixels in CPU memory), call Image.LoadTypedIO instead.
When done with the returned texture, the app should dispose of it with a call to SDL.DestroyTexture.
Parameters
| Name | Type | Description |
|---|---|---|
renderer |
IntPtr |
the SDL_Renderer to use to create the texture. |
src |
IntPtr |
an SDL_IOStream that data will be read from. |
closeio |
bool |
true to close/free the SDL_IOStream before returning, false to leave it open. |
type |
string |
a filename extension that represent this data ("BMP", "GIF", "PNG", etc). |
Returns
a new texture, or null on error.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.LoadTextureTypedIO(System.IntPtr,System.IntPtr,System.Boolean,System.String)
public static IntPtr LoadTGAIO(IntPtr src);SDL declaration
extern SDL_DECLSPEC SDL_Surface * SDLCALL IMG_LoadTGA_IO(SDL_IOStream *src);
Load a TGA image directly.
If you know you definitely have a TGA image, you can call this function, which will skip SDL_image's file format detection routines. Generally it's better to use the abstract interfaces; also, there is only an SDL_IOStream interface available here.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
an SDL_IOStream to load image data from. |
Returns
SDL surface, or null on error.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.LoadTGAIO(System.IntPtr)
public static IntPtr LoadTIFIO(IntPtr src);SDL declaration
extern SDL_DECLSPEC SDL_Surface * SDLCALL IMG_LoadTIF_IO(SDL_IOStream *src);
Load a TIFF image directly.
If you know you definitely have a TIFF image, you can call this function, which will skip SDL_image's file format detection routines. Generally it's better to use the abstract interfaces; also, there is only an SDL_IOStream interface available here.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
an SDL_IOStream to load image data from. |
Returns
SDL surface, or null on error.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.LoadTIFIO(System.IntPtr)
public static IntPtr LoadTypedIO(IntPtr src, bool closeio, string type);SDL declaration
extern SDL_DECLSPEC SDL_Surface * SDLCALL IMG_LoadTyped_IO(SDL_IOStream *src, bool closeio, const char *type);
Load an image from an SDL data source into a software surface.
An SDL.Surface is a buffer of pixels in memory accessible by the CPU. Use this if you plan to hand the data to something else or manipulate it further in code.
There are no guarantees about what format the new SDL.Surface data will be; in many cases, SDL_image will attempt to supply a surface that exactly matches the provided image, but in others it might have to convert (either because the image is in a format that SDL doesn't directly support or because it's compressed data that could reasonably uncompress to various formats and SDL_image had to pick one). You can inspect an SDL.Surface for its specifics, and use SDL.ConvertSurface to then migrate to any supported format.
If the image format supports a transparent pixel, SDL will set the colorkey for the surface. You can enable RLE acceleration on the surface afterwards by calling: SDL.SetSurfaceColorKey(image, SDL_RLEACCEL, image.Format.Colorkey);
If closeio is true, src will be closed before returning, whether this function succeeds or not. SDL_image reads everything it needs from src during this call in any case.
Even though this function accepts a file type, SDL_image may still try other decoders that are capable of detecting file type from the contents of the image data, but may rely on the caller-provided type string for formats that it cannot autodetect. If type is null, SDL_image will rely solely on its ability to guess the format.
There is a separate function to read files from disk without having to deal with SDL_IOStream: Image.Load("filename.jpg") will call this function and manage those details for you, determining the file type from the filename's extension.
There is also Image.LoadIO, which is equivalent to this function except that it will rely on SDL_image to determine what type of data it is loading, much like passing a null for type.
If you are using SDL's 2D rendering API, there is an equivalent call to load images directly into an SDL_Texture for use by the GPU without using a software surface: call Image.LoadTextureTypedIO instead.
When done with the returned surface, the app should dispose of it with a call to SDL.DestroySurface.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
an SDL_IOStream that data will be read from. |
closeio |
bool |
true to close/free the SDL_IOStream before returning, false to leave it open. |
type |
string |
a filename extension that represent this data ("BMP", "GIF", "PNG", etc). |
Returns
a new SDL surface, or null on error.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.LoadTypedIO(System.IntPtr,System.Boolean,System.String)
public static IntPtr LoadWEBPAnimationIO(IntPtr src);SDL declaration
extern SDL_DECLSPEC IMG_Animation * SDLCALL IMG_LoadWEBPAnimation_IO(SDL_IOStream *src);
Load a WEBP animation directly.
If you know you definitely have a WEBP image, you can call this function, which will skip SDL_image's file format detection routines. Generally it's better to use the abstract interfaces; also, there is only an SDL_IOStream interface available here.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
an SDL_IOStream that data will be read from. |
Returns
a new Image.Animation, or null on error.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.LoadWEBPAnimationIO(System.IntPtr)
public static IntPtr LoadWEBPIO(IntPtr src);SDL declaration
extern SDL_DECLSPEC SDL_Surface * SDLCALL IMG_LoadWEBP_IO(SDL_IOStream *src);
Load a WEBP image directly.
If you know you definitely have a WEBP image, you can call this function, which will skip SDL_image's file format detection routines. Generally it's better to use the abstract interfaces; also, there is only an SDL_IOStream interface available here.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
an SDL_IOStream to load image data from. |
Returns
SDL surface, or null on error.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.LoadWEBPIO(System.IntPtr)
public static IntPtr LoadXCFIO(IntPtr src);SDL declaration
extern SDL_DECLSPEC SDL_Surface * SDLCALL IMG_LoadXCF_IO(SDL_IOStream *src);
Load a XCF image directly.
If you know you definitely have a XCF image, you can call this function, which will skip SDL_image's file format detection routines. Generally it's better to use the abstract interfaces; also, there is only an SDL_IOStream interface available here.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
an SDL_IOStream to load image data from. |
Returns
SDL surface, or nullon error.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.LoadXCFIO(System.IntPtr)
public static IntPtr LoadXPMIO(IntPtr src);SDL declaration
extern SDL_DECLSPEC SDL_Surface * SDLCALL IMG_LoadXPM_IO(SDL_IOStream *src);
Load a XPM image directly.
If you know you definitely have a XPM image, you can call this function, which will skip SDL_image's file format detection routines. Generally it's better to use the abstract interfaces; also, there is only an SDL_IOStream interface available here.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
an SDL_IOStream to load image data from. |
Returns
SDL surface, or null on error.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.LoadXPMIO(System.IntPtr)
public static IntPtr LoadXVIO(IntPtr src);SDL declaration
extern SDL_DECLSPEC SDL_Surface * SDLCALL IMG_LoadXV_IO(SDL_IOStream *src);
Load a XV image directly.
If you know you definitely have a XV image, you can call this function, which will skip SDL_image's file format detection routines. Generally it's better to use the abstract interfaces; also, there is only an SDL_IOStream interface available here.
Parameters
| Name | Type | Description |
|---|---|---|
src |
IntPtr |
an SDL_IOStream to load image data from. |
Returns
SDL surface, or null on error.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.LoadXVIO(System.IntPtr)
public static IntPtr ReadXPMFromArray(string[] xpm);SDL declaration
extern SDL_DECLSPEC SDL_Surface * SDLCALL IMG_ReadXPMFromArray(char **xpm);
Load an XPM image from a memory array.
The returned surface will be an 8bpp indexed surface, if possible, otherwise it will be 32bpp. If you always want 32-bit data, use Image.ReadXPMFromArrayToRGB888 instead.
When done with the returned surface, the app should dispose of it with a call to SDL.DestroySurface.
Parameters
| Name | Type | Description |
|---|---|---|
xpm |
string[] |
a null-terminated array of strings that comprise XPM data. |
Returns
a new SDL surface, or null on error.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.ReadXPMFromArray(System.String[])
public static IntPtr ReadXPMFromArrayToRGB888(string[] xpm);SDL declaration
extern SDL_DECLSPEC SDL_Surface * SDLCALL IMG_ReadXPMFromArrayToRGB888(char **xpm);
Load an XPM image from a memory array.
The returned surface will always be a 32-bit RGB surface. If you want 8-bit indexed colors (and the XPM data allows it), use Image.ReadXPMFromArray instead.
When done with the returned surface, the app should dispose of it with a call to SDL.DestroySurface.
Parameters
| Name | Type | Description |
|---|---|---|
xpm |
string[] |
a null-terminated array of strings that comprise XPM data. |
Returns
a new SDL surface, or null on error.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.ReadXPMFromArrayToRGB888(System.String[])
public static bool ResetAnimationDecoder(IntPtr decoder);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_ResetAnimationDecoder(IMG_AnimationDecoder *decoder);
Reset an animation decoder. Calling this function resets the animation decoder, allowing it to start from the beginning again. This is useful if you want to decode the frame sequence again without creating a new decoder.
Parameters
| Name | Type | Description |
|---|---|---|
decoder |
IntPtr |
the decoder to reset. |
Returns
true on success or false on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.ResetAnimationDecoder(System.IntPtr)
public static bool Save(IntPtr surface, string file);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_Save(SDL_Surface *surface, const char *file);
Save an SDL_Surface into an image file. If the file already exists, it will be overwritten.
For formats that accept a quality, a default quality of 90 will be used.
Parameters
| Name | Type | Description |
|---|---|---|
surface |
IntPtr |
the SDL surface to save. |
file |
string |
path on the filesystem to write new file to. |
Returns
true on success or false on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.Save(System.IntPtr,System.String)
public static bool SaveANIAnimationIO(IntPtr anim, IntPtr dst, bool closeio);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_SaveANIAnimation_IO(IMG_Animation *anim, SDL_IOStream *dst, bool closeio);
Save an animation in ANI format to an SDL_IOStream. If closeio is true, dst will be closed before returning, whether this function succeeds or not.
Parameters
| Name | Type | Description |
|---|---|---|
anim |
IntPtr |
the animation to save. |
dst |
IntPtr |
an SDL_IOStream from which data will be written to. |
closeio |
bool |
true to close/free the SDL_IOStream before returning, false to leave it open. |
Returns
true on success or false on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.SaveANIAnimationIO(System.IntPtr,System.IntPtr,System.Boolean)
public static bool SaveAnimation(IntPtr anim, string file);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_SaveAnimation(IMG_Animation *anim, const char *file);
Save an animation to a file. For formats that accept a quality, a default quality of 90 will be used.
Parameters
| Name | Type | Description |
|---|---|---|
anim |
IntPtr |
anim the animation to save. |
file |
string |
path on the filesystem containing an animated image. |
Returns
true on success or false on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.SaveAnimation(System.IntPtr,System.String)
public static bool SaveAnimationTypedIO(IntPtr anim, IntPtr dst, bool closeio, string type);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_SaveAnimationTyped_IO(IMG_Animation *anim, SDL_IOStream *dst, bool closeio, const char *type);
Save an animation to an SDL_IOStream. If you just want to save to a filename, you can use Image.SaveAnimation instead.
If closeio is true, dst will be closed before returning, whether this function succeeds or not.
For formats that accept a quality, a default quality of 90 will be used.
Parameters
| Name | Type | Description |
|---|---|---|
anim |
IntPtr |
the animation to save. |
dst |
IntPtr |
an SDL_IOStream that data will be written to. |
closeio |
bool |
true to close/free the SDL_IOStream before returning, false to leave it open. |
type |
string |
a filename extension that represent this data ("GIF", etc). |
Returns
true on success or false on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.SaveAnimationTypedIO(System.IntPtr,System.IntPtr,System.Boolean,System.String)
public static bool SaveAPNGAnimationIO(IntPtr anim, IntPtr dst, bool closeio);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_SaveAPNGAnimation_IO(IMG_Animation *anim, SDL_IOStream *dst, bool closeio);
Save an animation in APNG format to an SDL_IOStream. If closeio is true, dst will be closed before returning, whether this function succeeds or not.
Parameters
| Name | Type | Description |
|---|---|---|
anim |
IntPtr |
the animation to save. |
dst |
IntPtr |
an SDL_IOStream from which data will be written to. |
closeio |
bool |
true to close/free the SDL_IOStream before returning, false to leave it open. |
Returns
true on success or false on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.SaveAPNGAnimationIO(System.IntPtr,System.IntPtr,System.Boolean)
public static bool SaveAVIF(IntPtr surface, string file, int quality);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_SaveAVIF(SDL_Surface *surface, const char *file, int quality);
Save an SDL.Surface into a AVIF image file.
If the file already exists, it will be overwritten.
Parameters
| Name | Type | Description |
|---|---|---|
surface |
IntPtr |
the SDL surface to save. |
file |
string |
path on the filesystem to write new file to. |
quality |
int |
the desired quality, ranging between 0 (lowest) and 100 (highest). |
Returns
true on success or false on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.SaveAVIF(System.IntPtr,System.String,System.Int32)
public static bool SaveAVIFAnimationIO(IntPtr anim, IntPtr dst, bool closeio, int quality);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_SaveAVIFAnimation_IO(IMG_Animation *anim, SDL_IOStream *dst, bool closeio, int quality);
Save an animation in AVIF format to an SDL_IOStream. If closeio is true, dst will be closed before returning, whether this function succeeds or not.
Parameters
| Name | Type | Description |
|---|---|---|
anim |
IntPtr |
the animation to save. |
dst |
IntPtr |
an SDL_IOStream from which data will be written to. |
closeio |
bool |
true to close/free the SDL_IOStream before returning, false to leave it open. |
quality |
int |
the desired quality, ranging between 0 (lowest) and 100 (highest). |
Returns
true on success or false on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.SaveAVIFAnimationIO(System.IntPtr,System.IntPtr,System.Boolean,System.Int32)
public static bool SaveAVIFIO(IntPtr surface, IntPtr dst, bool closeio, int quality);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_SaveAVIF_IO(SDL_Surface *surface, SDL_IOStream *dst, bool closeio, int quality);
Save an SDL.Surface into AVIF image data, via an SDL_IOStream.
If you just want to save to a filename, you can use Image.SaveAVIF instead.
If closeio is true, dst will be closed before returning, whether this function succeeds or not.
Parameters
| Name | Type | Description |
|---|---|---|
surface |
IntPtr |
the SDL surface to save. |
dst |
IntPtr |
the SDL_IOStream to save the image data to. |
closeio |
bool |
true to close/free the SDL_IOStream before returning, false to leave it open. |
quality |
int |
the desired quality, ranging between 0 (lowest) and 100 (highest). |
Returns
true on success or false on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.SaveAVIFIO(System.IntPtr,System.IntPtr,System.Boolean,System.Int32)
public static bool SaveBMP(IntPtr surface, string file);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_SaveBMP(SDL_Surface *surface, const char *file);
Save an SDL.Surface into a BMP image file.
If the file already exists, it will be overwritten.
Parameters
| Name | Type | Description |
|---|---|---|
surface |
IntPtr |
the SDL surface to save. |
file |
string |
path on the filesystem to write new file to. |
Returns
true on success or false on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.SaveBMP(System.IntPtr,System.String)
public static bool SaveBMPIO(IntPtr surface, IntPtr dst, bool closeio);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_SaveBMP_IO(SDL_Surface *surface, SDL_IOStream *dst, bool closeio);
Save an SDL.Surface into BMP image data, via an SDL_IOStream.
If you just want to save to a filename, you can use Image.SaveBMP instead.
If closeio is true, dst will be closed before returning, whether this function succeeds or not.
Parameters
| Name | Type | Description |
|---|---|---|
surface |
IntPtr |
the SDL surface to save. |
dst |
IntPtr |
the SDL_IOStream to save the image data to. |
closeio |
bool |
true to close/free the SDL_IOStream before returning, false to leave it open. |
Returns
true on success or false on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.SaveBMPIO(System.IntPtr,System.IntPtr,System.Boolean)
public static bool SaveCUR(IntPtr surface, string file);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_SaveCUR(SDL_Surface *surface, const char *file);
Save an SDL.Surface into a CUR image file. If the file already exists, it will be overwritten.
Parameters
| Name | Type | Description |
|---|---|---|
surface |
IntPtr |
surface the SDL surface to save. |
file |
string |
path on the filesystem to write new file to. |
Returns
true on success or false on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.SaveCUR(System.IntPtr,System.String)
public static bool SaveCURIO(IntPtr surface, IntPtr dst, bool closeio);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_SaveCUR_IO(SDL_Surface *surface, SDL_IOStream *dst, bool closeio);
Save an SDL_Surface into CUR image data, via an SDL_IOStream. If you just want to save to a filename, you can use Image.SaveCUR instead.
If closeio is true, dst will be closed before returning, whether this function succeeds or not.
Parameters
| Name | Type | Description |
|---|---|---|
surface |
IntPtr |
|
dst |
IntPtr |
the SDL_IOStream to save the image data to. |
closeio |
bool |
true to close/free the SDL_IOStream before returning, false to leave it open. |
Returns
true on success or false on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.SaveCURIO(System.IntPtr,System.IntPtr,System.Boolean)
public static bool SaveGIF(IntPtr surface, string file);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_SaveGIF(SDL_Surface *surface, const char *file);
Save an SDL.Surface into a GIF image file. If the file already exists, it will be overwritten.
Parameters
| Name | Type | Description |
|---|---|---|
surface |
IntPtr |
the SDL surface to save. |
file |
string |
path on the filesystem to write new file to. |
Returns
true on success or false on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.SaveGIF(System.IntPtr,System.String)
public static bool SaveGIFAnimationIO(IntPtr anim, IntPtr dst, bool closeio);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_SaveGIFAnimation_IO(IMG_Animation *anim, SDL_IOStream *dst, bool closeio);
Save an animation in GIF format to an SDL_IOStream. If closeio is true, dst will be closed before returning, whether this function succeeds or not.
Parameters
| Name | Type | Description |
|---|---|---|
anim |
IntPtr |
the animation to save. |
dst |
IntPtr |
an SDL_IOStream from which data will be written to. |
closeio |
bool |
true to close/free the SDL_IOStream before returning, false to leave it open. |
Returns
true on success or false on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.SaveGIFAnimationIO(System.IntPtr,System.IntPtr,System.Boolean)
public static bool SaveGIFIO(IntPtr surface, IntPtr dst, bool closeio);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_SaveGIF_IO(SDL_Surface *surface, SDL_IOStream *dst, bool closeio);
Save an SDL.Surface into GIF image data, via an SDL_IOStream. If you just want to save to a filename, you can use Image.SaveGIF instead.
If closeio is true, dst will be closed before returning, whether this function succeeds or not.
Parameters
| Name | Type | Description |
|---|---|---|
surface |
IntPtr |
the SDL surface to save. |
dst |
IntPtr |
the SDL_IOStream to save the image data to. |
closeio |
bool |
true to close/free the SDL_IOStream before returning, false to leave it open. |
Returns
true on success or false on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.SaveGIFIO(System.IntPtr,System.IntPtr,System.Boolean)
public static bool SaveICO(IntPtr surface, string file);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_SaveICO(SDL_Surface *surface, const char *file);
Save an SDL.Surface into a ICO image file. If the file already exists, it will be overwritten.
Parameters
| Name | Type | Description |
|---|---|---|
surface |
IntPtr |
the SDL surface to save. |
file |
string |
path on the filesystem to write new file to. |
Returns
true on success or false on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.SaveICO(System.IntPtr,System.String)
public static bool SaveICOIO(IntPtr surface, IntPtr dst, bool closeio);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_SaveICO_IO(SDL_Surface *surface, SDL_IOStream *dst, bool closeio);
Save an SDL.Surface into ICO image data, via an SDL_IOStream. If you just want to save to a filename, you can use Image.SaveICO instead.
If closeio is true, dst will be closed before returning, whether this function succeeds or not.
Parameters
| Name | Type | Description |
|---|---|---|
surface |
IntPtr |
the SDL surface to save. |
dst |
IntPtr |
the SDL_IOStream to save the image data to. |
closeio |
bool |
true to close/free the SDL_IOStream before returning, false to leave it open. |
Returns
true on success or false on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.SaveICOIO(System.IntPtr,System.IntPtr,System.Boolean)
public static bool SaveJPG(IntPtr surface, string file, int quality);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_SaveJPG(SDL_Surface *surface, const char *file, int quality);
Save an SDL.Surface into a JPEG image file. If the file already exists, it will be overwritten.
Parameters
| Name | Type | Description |
|---|---|---|
surface |
IntPtr |
the SDL surface to save. |
file |
string |
path on the filesystem to write new file to. |
quality |
int |
[0; 33] is Lowest quality, [34; 66] is Middle quality, [67; 100] is Highest quality. |
Returns
true on success or false on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.SaveJPG(System.IntPtr,System.String,System.Int32)
public static bool SaveJPGIO(IntPtr surface, IntPtr dst, bool closeio, int quality);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_SaveJPG_IO(SDL_Surface *surface, SDL_IOStream *dst, bool closeio, int quality);
Save an SDL.Surface into JPEG image data, via an SDL_IOStream.
If you just want to save to a filename, you can use Image.SaveJPG instead.
If closeio is true, dst will be closed before returning, whether this function succeeds or not.
Parameters
| Name | Type | Description |
|---|---|---|
surface |
IntPtr |
the SDL surface to save. |
dst |
IntPtr |
the SDL_IOStream to save the image data to. |
closeio |
bool |
true to close/free the SDL_IOStream before returning, false to leave it open. |
quality |
int |
[0; 33] is Lowest quality, [34; 66] is Middle quality, [67; 100] is Highest quality. |
Returns
true on success or false on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.SaveJPGIO(System.IntPtr,System.IntPtr,System.Boolean,System.Int32)
public static bool SavePNG(IntPtr surface, string file);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_SavePNG(SDL_Surface *surface, const char *file);
Save an SDL.Surface into a PNG image file.
If the file already exists, it will be overwritten.
Parameters
| Name | Type | Description |
|---|---|---|
surface |
IntPtr |
the SDL surface to save. |
file |
string |
path on the filesystem to write new file to. |
Returns
true on success or false on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.SavePNG(System.IntPtr,System.String)
public static bool SavePNGIO(IntPtr surface, IntPtr dst, bool closeio);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_SavePNG_IO(SDL_Surface *surface, SDL_IOStream *dst, bool closeio);
Save an SDL.Surface into PNG image data, via an SDL_IOStream.
If you just want to save to a filename, you can use Image.SavePNG instead.
If closeio is true, dst will be closed before returning, whether this function succeeds or not.
Parameters
| Name | Type | Description |
|---|---|---|
surface |
IntPtr |
the SDL surface to save. |
dst |
IntPtr |
the SDL_IOStream to save the image data to. |
closeio |
bool |
true to close/free the SDL_IOStream before returning, false to leave it open. |
Returns
true on success or false on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.SavePNGIO(System.IntPtr,System.IntPtr,System.Boolean)
public static bool SaveTGA(IntPtr surface, string file);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_SaveTGA(SDL_Surface *surface, const char *file);
Save an SDL.Surface into a TGA image file. If the file already exists, it will be overwritten.
Parameters
| Name | Type | Description |
|---|---|---|
surface |
IntPtr |
the SDL surface to save. |
file |
string |
path on the filesystem to write new file to. |
Returns
true on success or false on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.SaveTGA(System.IntPtr,System.String)
public static bool SaveTGAIO(IntPtr surface, IntPtr dst, bool closeio);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_SaveTGA_IO(SDL_Surface *surface, SDL_IOStream *dst, bool closeio);
Save an SDL.Surface into TGA image data, via an SDL_IOStream. If you just want to save to a filename, you can use Image.SaveTGA instead.
If closeio is true, dst will be closed before returning, whether this function succeeds or not.
Parameters
| Name | Type | Description |
|---|---|---|
surface |
IntPtr |
the SDL surface to save. |
dst |
IntPtr |
the SDL_IOStream to save the image data to. |
closeio |
bool |
true to close/free the SDL_IOStream before returning, false to leave it open. |
Returns
true on success or false on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.SaveTGAIO(System.IntPtr,System.IntPtr,System.Boolean)
public static bool SaveTypedIO(IntPtr surface, IntPtr dst, bool closeio, string type);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_SaveTyped_IO(SDL_Surface *surface, SDL_IOStream *dst, bool closeio, const char *type);
Save an SDL.Surface into formatted image data, via an SDL_IOStream.
If you just want to save to a filename, you can use Image.Save instead.
If closeio is true, dst will be closed before returning, whether this function succeeds or not.
For formats that accept a quality, a default quality of 90 will be used.
Parameters
| Name | Type | Description |
|---|---|---|
surface |
IntPtr |
the SDL surface to save. |
dst |
IntPtr |
the SDL_IOStream to save the image data to. |
closeio |
bool |
true to close/free the SDL_IOStream before returning, false to leave it open. |
type |
string |
a filename extension that represent this data ("BMP", "GIF", "PNG", etc). |
Returns
true on success or false on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.SaveTypedIO(System.IntPtr,System.IntPtr,System.Boolean,System.String)
public static bool SaveWEBP(IntPtr surface, string file, float quality);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_SaveWEBP(SDL_Surface *surface, const char *file, float quality);
Save an SDL.Surface into a WEBP image file. If the file already exists, it will be overwritten.
Parameters
| Name | Type | Description |
|---|---|---|
surface |
IntPtr |
the SDL surface to save. |
file |
string |
path on the filesystem to write the new file to. |
quality |
float |
between 0 and 100. For lossy, 0 gives the smallest size and 100 the largest. For lossless, this parameter is the amount of effort put into the compression: 0 is the fastest but gives larger files compared to the slowest, but best, 100. |
Returns
true on success or false on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.SaveWEBP(System.IntPtr,System.String,System.Single)
public static bool SaveWEBPAnimationIO(IntPtr anim, IntPtr dst, bool closeio, int quality);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_SaveWEBPAnimation_IO(IMG_Animation *anim, SDL_IOStream *dst, bool closeio, int quality);
Save an animation in WEBP format to an SDL_IOStream. If closeio is true, dst will be closed before returning, whether this function succeeds or not.
Parameters
| Name | Type | Description |
|---|---|---|
anim |
IntPtr |
the animation to save. |
dst |
IntPtr |
an SDL_IOStream from which data will be written to. |
closeio |
bool |
true to close/free the SDL_IOStream before returning, false to leave it open. |
quality |
int |
between 0 and 100. For lossy, 0 gives the smallest size and 100 the largest. For lossless, this parameter is the amount of effort put into the compression: 0 is the fastest but gives larger files compared to the slowest, but best, 100. |
Returns
true on success or false on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.SaveWEBPAnimationIO(System.IntPtr,System.IntPtr,System.Boolean,System.Int32)
public static bool SaveWEBPIO(IntPtr surface, IntPtr dst, bool closeio, float quality);SDL declaration
extern SDL_DECLSPEC bool SDLCALL IMG_SaveWEBP_IO(SDL_Surface *surface, SDL_IOStream *dst, bool closeio, float quality);
Save an SDL.Surface into WEBP image data, via an SDL_IOStream. If you just want to save to a filename, you can use Image.SaveWEBP instead.
If closeio is true, dst will be closed before returning, whether this function succeeds or not.
Parameters
| Name | Type | Description |
|---|---|---|
surface |
IntPtr |
the SDL surface to save. |
dst |
IntPtr |
the SDL_IOStream to save the image data to. |
closeio |
bool |
true to close/free the SDL_IOStream before returning, false to leave it open. |
quality |
float |
between 0 and 100. For lossy, 0 gives the smallest size and 100 the largest. For lossless, this parameter is the amount of effort put into the compression: 0 is the fastest but gives larger files compared to the slowest, but best, 100. |
Returns
true on success or false on failure; call SDL.GetError for more information.
Since: This function is available since SDL_image 3.4.0.
XML member id: M:SDL3.Image.SaveWEBPIO(System.IntPtr,System.IntPtr,System.Boolean,System.Single)
public static int Version();SDL declaration
extern SDL_DECLSPEC int SDLCALL IMG_Version(void);
This function gets the version of the dynamically linked SDL_image library.
Returns
SDL_image version.
Since: This function is available since SDL_image 3.0.0.
XML member id: M:SDL3.Image.Version