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) -> PackedArray<u8>
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: &PackedArray<u8>, ) -> Option<Gd<Image>>
pub fn set_data( &mut self, width: i32, height: i32, use_mipmaps: bool, format: Format, data: &PackedArray<u8>, )
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) -> PackedArray<u8>
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) -> PackedArray<u8>
pub fn save_jpg_to_buffer(&self) -> PackedArray<u8>
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) -> PackedArray<u8>
pub fn save_exr_to_buffer(&self) -> PackedArray<u8>
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) -> PackedArray<u8>
pub fn save_webp_to_buffer(&self) -> PackedArray<u8>
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 linear_to_srgb(&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 AsArg<Option<Gd<Image>>>, use_luma: bool, ) -> Dictionary
pub fn blit_rect( &mut self, src: impl AsArg<Option<Gd<Image>>>, src_rect: Rect2i, dst: Vector2i, )
pub fn blit_rect_mask( &mut self, src: impl AsArg<Option<Gd<Image>>>, mask: impl AsArg<Option<Gd<Image>>>, src_rect: Rect2i, dst: Vector2i, )
pub fn blend_rect( &mut self, src: impl AsArg<Option<Gd<Image>>>, src_rect: Rect2i, dst: Vector2i, )
pub fn blend_rect_mask( &mut self, src: impl AsArg<Option<Gd<Image>>>, mask: impl AsArg<Option<Gd<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 AsArg<Option<Gd<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: &PackedArray<u8>) -> Error
pub fn load_jpg_from_buffer(&mut self, buffer: &PackedArray<u8>) -> Error
pub fn load_webp_from_buffer(&mut self, buffer: &PackedArray<u8>) -> Error
pub fn load_tga_from_buffer(&mut self, buffer: &PackedArray<u8>) -> Error
pub fn load_bmp_from_buffer(&mut self, buffer: &PackedArray<u8>) -> Error
pub fn load_ktx_from_buffer(&mut self, buffer: &PackedArray<u8>) -> Error
pub fn load_svg_from_buffer(&mut self, buffer: &PackedArray<u8>) -> Error
pub fn load_svg_from_buffer(&mut self, buffer: &PackedArray<u8>) -> 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 PackedArray<u8>, ) -> 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_path_cache(&mut self, path: impl AsArg<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 reset_state(&mut self)
pub fn set_id_for_path( &mut self, path: impl AsArg<GString>, id: impl AsArg<GString>, )
pub fn get_id_for_path(&self, path: impl AsArg<GString>) -> GString
pub fn is_built_in(&self) -> bool
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_script(&self) -> Option<Gd<Script>>
pub fn set_script(&mut self, script: impl AsArg<Option<Gd<Script>>>)
pub fn connect( &mut self, signal: impl AsArg<StringName>, callable: &Callable, ) -> Error
pub fn connect_flags( &mut self, signal: impl AsArg<StringName>, callable: &Callable, flags: ConnectFlags, ) -> Error
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_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 disconnect( &mut self, signal: impl AsArg<StringName>, callable: &Callable, )
pub fn is_connected( &self, signal: impl AsArg<StringName>, callable: &Callable, ) -> bool
pub fn has_connections(&self, signal: impl AsArg<StringName>) -> 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 get_translation_domain(&self) -> StringName
pub fn set_translation_domain(&mut self, domain: impl AsArg<StringName>)
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.
Trait Implementations§
§impl Bounds for Image
impl Bounds for Image
§type Memory = MemRefCounted
type Memory = MemRefCounted
§type Declarer = DeclEngine
type Declarer = DeclEngine
§impl GodotClass for Image
impl GodotClass for Image
§const INIT_LEVEL: InitLevel = crate::init::InitLevel::Scene
const INIT_LEVEL: InitLevel = crate::init::InitLevel::Scene
§fn class_id() -> ClassId
fn class_id() -> ClassId
§fn class_name() -> ClassId
fn class_name() -> ClassId
class_id()
§fn inherits<Base>() -> boolwhere
Base: GodotClass,
fn inherits<Base>() -> boolwhere
Base: GodotClass,
§impl Inherits<RefCounted> for Image
impl Inherits<RefCounted> for Image
§const IS_SAME_CLASS: bool = false
const IS_SAME_CLASS: bool = false
Self == Base
. Read more§impl Inherits<Resource> for Image
impl Inherits<Resource> for Image
§const IS_SAME_CLASS: bool = false
const IS_SAME_CLASS: bool = false
Self == Base
. Read more§impl WithSignals for Image
impl WithSignals for Image
§type SignalCollection<'c, C: WithSignals> = SignalsOfResource<'c, C>
type SignalCollection<'c, C: WithSignals> = SignalsOfResource<'c, C>
impl GodotDefault for Image
Auto Trait Implementations§
impl Freeze for Image
impl RefUnwindSafe for Image
impl !Send for Image
impl !Sync for Image
impl Unpin for Image
impl UnwindSafe for Image
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Inherits<T> for Twhere
T: GodotClass,
impl<T> Inherits<T> for Twhere
T: GodotClass,
§const IS_SAME_CLASS: bool = true
const IS_SAME_CLASS: bool = true
Self == Base
. Read more