diff --git a/crates/egui/src/widgets/image.rs b/crates/egui/src/widgets/image.rs index 7783f02fed9..ab2a10bd6ad 100644 --- a/crates/egui/src/widgets/image.rs +++ b/crates/egui/src/widgets/image.rs @@ -283,6 +283,20 @@ impl<'a> Image<'a> { } } + /// Returns the URI of the image. + /// + /// For GIFs, returns the URI without the frame number. + #[inline] + pub fn uri(&self) -> Option<&str> { + let uri = self.source.uri()?; + + if let Ok((gif_uri, _index)) = decode_gif_uri(uri) { + Some(gif_uri) + } else { + Some(uri) + } + } + #[inline] pub fn image_options(&self) -> &ImageOptions { &self.image_options