Struct Image
#[repr(C)]pub struct Image { /* private fields */ }
Expand description
Godot class Image.
Inherits Resource
.
Related symbols:
See also Godot docs for Image
.
§Construction
This class is reference-counted. You can create a new instance using Image::new_gd()
.
Implementations§
§impl Image
impl Image
pub const MAX_WIDTH: i32 = 16_777_216i32
pub const MAX_HEIGHT: i32 = 16_777_216i32
pub fn get_width(&self) -> i32
pub fn get_height(&self) -> i32
pub fn get_size(&self) -> Vector2i
pub fn has_mipmaps(&self) -> bool
pub fn get_format(&self) -> Format
pub fn get_data(&self) -> PackedByteArray
pub fn get_data_size(&self) -> i64
pub fn convert(&mut self, format: Format)
pub fn get_mipmap_count(&self) -> i32
pub fn get_mipmap_offset(&self, mipmap: i32) -> i64
pub fn resize_to_po2(&mut self)
pub fn resize_to_po2(&mut self)
To set the default parameters, use Self::resize_to_po2_ex
and its builder methods. See the book for detailed usage instructions.
pub fn resize_to_po2_ex<'a>(&'a mut self) -> ExResizeToPo2<'a>
pub fn resize(&mut self, width: i32, height: i32)
pub fn resize(&mut self, width: i32, height: i32)
To set the default parameters, use Self::resize_ex
and its builder methods. See the book for detailed usage instructions.
pub fn resize_ex<'a>(&'a mut self, width: i32, height: i32) -> ExResize<'a>
pub fn shrink_x2(&mut self)
pub fn crop(&mut self, width: i32, height: i32)
pub fn flip_x(&mut self)
pub fn flip_y(&mut self)
pub fn generate_mipmaps(&mut self) -> Error
pub fn generate_mipmaps(&mut self) -> Error
To set the default parameters, use Self::generate_mipmaps_ex
and its builder methods. See the book for detailed usage instructions.
pub fn generate_mipmaps_ex<'a>(&'a mut self) -> ExGenerateMipmaps<'a>
pub fn clear_mipmaps(&mut self)
pub fn create( width: i32, height: i32, use_mipmaps: bool, format: Format, ) -> Option<Gd<Image>>
pub fn create_empty( width: i32, height: i32, use_mipmaps: bool, format: Format, ) -> Option<Gd<Image>>
pub fn create_from_data( width: i32, height: i32, use_mipmaps: bool, format: Format, data: &PackedByteArray, ) -> Option<Gd<Image>>
pub fn set_data( &mut self, width: i32, height: i32, use_mipmaps: bool, format: Format, data: &PackedByteArray, )
pub fn is_empty(&self) -> bool
pub fn load(&mut self, path: impl AsArg<GString>) -> Error
pub fn load_from_file(path: impl AsArg<GString>) -> Option<Gd<Image>>
pub fn save_png(&self, path: impl AsArg<GString>) -> Error
pub fn save_png_to_buffer(&self) -> PackedByteArray
pub fn save_jpg(&self, path: impl AsArg<GString>) -> Error
pub fn save_jpg(&self, path: impl AsArg<GString>) -> Error
To set the default parameters, use Self::save_jpg_ex
and its builder methods. See the book for detailed usage instructions.
pub fn save_jpg_ex<'a>( &'a self, path: impl AsArg<GString> + 'a, ) -> ExSaveJpg<'a>
pub fn save_jpg_to_buffer(&self) -> PackedByteArray
pub fn save_jpg_to_buffer(&self) -> PackedByteArray
To set the default parameters, use Self::save_jpg_to_buffer_ex
and its builder methods. See the book for detailed usage instructions.
pub fn save_jpg_to_buffer_ex<'a>(&'a self) -> ExSaveJpgToBuffer<'a>
pub fn save_exr(&self, path: impl AsArg<GString>) -> Error
pub fn save_exr(&self, path: impl AsArg<GString>) -> Error
To set the default parameters, use Self::save_exr_ex
and its builder methods. See the book for detailed usage instructions.
pub fn save_exr_ex<'a>( &'a self, path: impl AsArg<GString> + 'a, ) -> ExSaveExr<'a>
pub fn save_exr_to_buffer(&self) -> PackedByteArray
pub fn save_exr_to_buffer(&self) -> PackedByteArray
To set the default parameters, use Self::save_exr_to_buffer_ex
and its builder methods. See the book for detailed usage instructions.
pub fn save_exr_to_buffer_ex<'a>(&'a self) -> ExSaveExrToBuffer<'a>
pub fn save_webp(&self, path: impl AsArg<GString>) -> Error
pub fn save_webp(&self, path: impl AsArg<GString>) -> Error
To set the default parameters, use Self::save_webp_ex
and its builder methods. See the book for detailed usage instructions.
pub fn save_webp_ex<'a>( &'a self, path: impl AsArg<GString> + 'a, ) -> ExSaveWebp<'a>
pub fn save_webp_to_buffer(&self) -> PackedByteArray
pub fn save_webp_to_buffer(&self) -> PackedByteArray
To set the default parameters, use Self::save_webp_to_buffer_ex
and its builder methods. See the book for detailed usage instructions.
pub fn save_webp_to_buffer_ex<'a>(&'a self) -> ExSaveWebpToBuffer<'a>
pub fn detect_alpha(&self) -> AlphaMode
pub fn is_invisible(&self) -> bool
pub fn detect_used_channels(&self) -> UsedChannels
pub fn detect_used_channels(&self) -> UsedChannels
To set the default parameters, use Self::detect_used_channels_ex
and its builder methods. See the book for detailed usage instructions.
pub fn detect_used_channels_ex<'a>(&'a self) -> ExDetectUsedChannels<'a>
pub fn compress(&mut self, mode: CompressMode) -> Error
pub fn compress(&mut self, mode: CompressMode) -> Error
To set the default parameters, use Self::compress_ex
and its builder methods. See the book for detailed usage instructions.
pub fn compress_ex<'a>(&'a mut self, mode: CompressMode) -> ExCompress<'a>
pub fn compress_from_channels(
&mut self,
mode: CompressMode,
channels: UsedChannels,
) -> Error
pub fn compress_from_channels( &mut self, mode: CompressMode, channels: UsedChannels, ) -> Error
To set the default parameters, use Self::compress_from_channels_ex
and its builder methods. See the book for detailed usage instructions.
pub fn compress_from_channels_ex<'a>( &'a mut self, mode: CompressMode, channels: UsedChannels, ) -> ExCompressFromChannels<'a>
pub fn decompress(&mut self) -> Error
pub fn is_compressed(&self) -> bool
pub fn rotate_90(&mut self, direction: ClockDirection)
pub fn rotate_180(&mut self)
pub fn fix_alpha_edges(&mut self)
pub fn premultiply_alpha(&mut self)
pub fn srgb_to_linear(&mut self)
pub fn normal_map_to_xy(&mut self)
pub fn rgbe_to_srgb(&mut self) -> Option<Gd<Image>>
pub fn bump_map_to_normal_map(&mut self)
pub fn bump_map_to_normal_map(&mut self)
To set the default parameters, use Self::bump_map_to_normal_map_ex
and its builder methods. See the book for detailed usage instructions.
pub fn bump_map_to_normal_map_ex<'a>(&'a mut self) -> ExBumpMapToNormalMap<'a>
pub fn compute_image_metrics( &mut self, compared_image: impl AsObjectArg<Image>, use_luma: bool, ) -> Dictionary
pub fn blit_rect( &mut self, src: impl AsObjectArg<Image>, src_rect: Rect2i, dst: Vector2i, )
pub fn blit_rect_mask( &mut self, src: impl AsObjectArg<Image>, mask: impl AsObjectArg<Image>, src_rect: Rect2i, dst: Vector2i, )
pub fn blend_rect( &mut self, src: impl AsObjectArg<Image>, src_rect: Rect2i, dst: Vector2i, )
pub fn blend_rect_mask( &mut self, src: impl AsObjectArg<Image>, mask: impl AsObjectArg<Image>, src_rect: Rect2i, dst: Vector2i, )
pub fn fill(&mut self, color: Color)
pub fn fill_rect(&mut self, rect: Rect2i, color: Color)
pub fn get_used_rect(&self) -> Rect2i
pub fn get_region(&self, region: Rect2i) -> Option<Gd<Image>>
pub fn copy_from(&mut self, src: impl AsObjectArg<Image>)
pub fn get_pixelv(&self, point: Vector2i) -> Color
pub fn get_pixel(&self, x: i32, y: i32) -> Color
pub fn set_pixelv(&mut self, point: Vector2i, color: Color)
pub fn set_pixel(&mut self, x: i32, y: i32, color: Color)
pub fn adjust_bcs(&mut self, brightness: f32, contrast: f32, saturation: f32)
pub fn load_png_from_buffer(&mut self, buffer: &PackedByteArray) -> Error
pub fn load_jpg_from_buffer(&mut self, buffer: &PackedByteArray) -> Error
pub fn load_webp_from_buffer(&mut self, buffer: &PackedByteArray) -> Error
pub fn load_tga_from_buffer(&mut self, buffer: &PackedByteArray) -> Error
pub fn load_bmp_from_buffer(&mut self, buffer: &PackedByteArray) -> Error
pub fn load_ktx_from_buffer(&mut self, buffer: &PackedByteArray) -> Error
pub fn load_svg_from_buffer(&mut self, buffer: &PackedByteArray) -> Error
pub fn load_svg_from_buffer(&mut self, buffer: &PackedByteArray) -> Error
To set the default parameters, use Self::load_svg_from_buffer_ex
and its builder methods. See the book for detailed usage instructions.
pub fn load_svg_from_buffer_ex<'a>( &'a mut self, buffer: &'a PackedByteArray, ) -> ExLoadSvgFromBuffer<'a>
pub fn load_svg_from_string(&mut self, svg_str: impl AsArg<GString>) -> Error
pub fn load_svg_from_string(&mut self, svg_str: impl AsArg<GString>) -> Error
To set the default parameters, use Self::load_svg_from_string_ex
and its builder methods. See the book for detailed usage instructions.
pub fn load_svg_from_string_ex<'a>( &'a mut self, svg_str: impl AsArg<GString> + 'a, ) -> ExLoadSvgFromString<'a>
Methods from Deref<Target = Resource>§
pub fn set_path(&mut self, path: impl AsArg<GString>)
pub fn take_over_path(&mut self, path: impl AsArg<GString>)
pub fn get_path(&self) -> GString
pub fn set_name(&mut self, name: impl AsArg<GString>)
pub fn get_name(&self) -> GString
pub fn get_rid(&self) -> Rid
pub fn set_local_to_scene(&mut self, enable: bool)
pub fn is_local_to_scene(&self) -> bool
pub fn get_local_scene(&self) -> Option<Gd<Node>>
pub fn setup_local_to_scene(&mut self)
pub fn set_scene_unique_id(&mut self, id: impl AsArg<GString>)
pub fn get_scene_unique_id(&self) -> GString
pub fn emit_changed(&mut self)
pub fn duplicate(&self) -> Option<Gd<Resource>>
pub fn duplicate(&self) -> Option<Gd<Resource>>
To set the default parameters, use Self::duplicate_ex
and its builder methods. See the book for detailed usage instructions.
pub fn duplicate_ex<'a>(&'a self) -> ExDuplicate<'a>
Methods from Deref<Target = RefCounted>§
pub fn get_reference_count(&self) -> i32
Methods from Deref<Target = Object>§
pub fn get_class(&self) -> GString
pub fn is_class(&self, class: impl AsArg<GString>) -> bool
pub fn set(&mut self, property: impl AsArg<StringName>, value: &Variant)
pub fn get(&self, property: impl AsArg<StringName>) -> Variant
pub fn set_indexed( &mut self, property_path: impl AsArg<NodePath>, value: &Variant, )
pub fn get_indexed(&self, property_path: impl AsArg<NodePath>) -> Variant
pub fn get_property_list(&self) -> Array<Dictionary>
pub fn get_method_list(&self) -> Array<Dictionary>
pub fn property_can_revert(&self, property: impl AsArg<StringName>) -> bool
pub fn property_get_revert(&self, property: impl AsArg<StringName>) -> Variant
pub fn set_script(&mut self, script: &Variant)
pub fn get_script(&self) -> Variant
pub fn set_meta(&mut self, name: impl AsArg<StringName>, value: &Variant)
pub fn remove_meta(&mut self, name: impl AsArg<StringName>)
pub fn get_meta(&self, name: impl AsArg<StringName>) -> Variant
pub fn get_meta(&self, name: impl AsArg<StringName>) -> Variant
To set the default parameters, use Self::get_meta_ex
and its builder methods. See the book for detailed usage instructions.
pub fn get_meta_ex<'a>( &'a self, name: impl AsArg<StringName> + 'a, ) -> ExGetMeta<'a>
pub fn has_meta(&self, name: impl AsArg<StringName>) -> bool
pub fn get_meta_list(&self) -> Array<StringName>
pub fn add_user_signal(&mut self, signal: impl AsArg<GString>)
pub fn add_user_signal(&mut self, signal: impl AsArg<GString>)
To set the default parameters, use Self::add_user_signal_ex
and its builder methods. See the book for detailed usage instructions.
pub fn add_user_signal_ex<'a>( &'a mut self, signal: impl AsArg<GString> + 'a, ) -> ExAddUserSignal<'a>
pub fn has_user_signal(&self, signal: impl AsArg<StringName>) -> bool
pub fn remove_user_signal(&mut self, signal: impl AsArg<StringName>)
pub fn emit_signal(
&mut self,
signal: impl AsArg<StringName>,
varargs: &[Variant],
) -> Error
pub fn emit_signal( &mut self, signal: impl AsArg<StringName>, varargs: &[Variant], ) -> Error
§Panics
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will panic in such a case.
pub fn try_emit_signal(
&mut self,
signal: impl AsArg<StringName>,
varargs: &[Variant],
) -> Result<Error, CallError>
pub fn try_emit_signal( &mut self, signal: impl AsArg<StringName>, varargs: &[Variant], ) -> Result<Error, CallError>
§Return type
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will return Err
in such a case.
pub fn call(
&mut self,
method: impl AsArg<StringName>,
varargs: &[Variant],
) -> Variant
pub fn call( &mut self, method: impl AsArg<StringName>, varargs: &[Variant], ) -> Variant
§Panics
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will panic in such a case.
pub fn try_call(
&mut self,
method: impl AsArg<StringName>,
varargs: &[Variant],
) -> Result<Variant, CallError>
pub fn try_call( &mut self, method: impl AsArg<StringName>, varargs: &[Variant], ) -> Result<Variant, CallError>
§Return type
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will return Err
in such a case.
pub fn call_deferred(
&mut self,
method: impl AsArg<StringName>,
varargs: &[Variant],
) -> Variant
pub fn call_deferred( &mut self, method: impl AsArg<StringName>, varargs: &[Variant], ) -> Variant
§Panics
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will panic in such a case.
pub fn try_call_deferred(
&mut self,
method: impl AsArg<StringName>,
varargs: &[Variant],
) -> Result<Variant, CallError>
pub fn try_call_deferred( &mut self, method: impl AsArg<StringName>, varargs: &[Variant], ) -> Result<Variant, CallError>
§Return type
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will return Err
in such a case.
pub fn set_deferred( &mut self, property: impl AsArg<StringName>, value: &Variant, )
pub fn callv( &mut self, method: impl AsArg<StringName>, arg_array: &Array<Variant>, ) -> Variant
pub fn has_method(&self, method: impl AsArg<StringName>) -> bool
pub fn get_method_argument_count(&self, method: impl AsArg<StringName>) -> i32
pub fn has_signal(&self, signal: impl AsArg<StringName>) -> bool
pub fn get_signal_list(&self) -> Array<Dictionary>
pub fn get_signal_connection_list( &self, signal: impl AsArg<StringName>, ) -> Array<Dictionary>
pub fn get_incoming_connections(&self) -> Array<Dictionary>
pub fn connect(
&mut self,
signal: impl AsArg<StringName>,
callable: &Callable,
) -> Error
pub fn connect( &mut self, signal: impl AsArg<StringName>, callable: &Callable, ) -> Error
To set the default parameters, use Self::connect_ex
and its builder methods. See the book for detailed usage instructions.
pub fn connect_ex<'a>( &'a mut self, signal: impl AsArg<StringName> + 'a, callable: &'a Callable, ) -> ExConnect<'a>
pub fn disconnect( &mut self, signal: impl AsArg<StringName>, callable: &Callable, )
pub fn is_connected( &self, signal: impl AsArg<StringName>, callable: &Callable, ) -> bool
pub fn set_block_signals(&mut self, enable: bool)
pub fn is_blocking_signals(&self) -> bool
pub fn notify_property_list_changed(&mut self)
pub fn set_message_translation(&mut self, enable: bool)
pub fn can_translate_messages(&self) -> bool
pub fn tr(&self, message: impl AsArg<StringName>) -> GString
pub fn tr(&self, message: impl AsArg<StringName>) -> GString
To set the default parameters, use Self::tr_ex
and its builder methods. See the book for detailed usage instructions.
pub fn tr_ex<'a>(&'a self, message: impl AsArg<StringName> + 'a) -> ExTr<'a>
pub fn tr_n(
&self,
message: impl AsArg<StringName>,
plural_message: impl AsArg<StringName>,
n: i32,
) -> GString
pub fn tr_n( &self, message: impl AsArg<StringName>, plural_message: impl AsArg<StringName>, n: i32, ) -> GString
To set the default parameters, use Self::tr_n_ex
and its builder methods. See the book for detailed usage instructions.
pub fn tr_n_ex<'a>( &'a self, message: impl AsArg<StringName> + 'a, plural_message: impl AsArg<StringName> + 'a, n: i32, ) -> ExTrN<'a>
pub fn is_queued_for_deletion(&self) -> bool
pub fn cancel_free(&mut self)
pub fn notify(&mut self, what: ObjectNotification)
pub fn notify(&mut self, what: ObjectNotification)
⚠️ Sends a Godot notification to all classes inherited by the object.
Triggers calls to on_notification()
, and depending on the notification, also to Godot’s lifecycle callbacks such as ready()
.
Starts from the highest ancestor (the Object
class) and goes down the hierarchy.
See also Godot docs for Object::notification()
.
§Panics
If you call this method on a user-defined object while holding a GdRef
or GdMut
guard on the instance, you will encounter
a panic. The reason is that the receiving virtual method on_notification()
acquires a GdMut
lock dynamically, which must
be exclusive.
pub fn notify_reversed(&mut self, what: ObjectNotification)
pub fn notify_reversed(&mut self, what: ObjectNotification)
⚠️ Like Self::notify()
, but starts at the most-derived class and goes up the hierarchy.
See docs of that method, including the panics.