summaryrefslogtreecommitdiff
path: root/engine/src/image.rs
diff options
context:
space:
mode:
Diffstat (limited to 'engine/src/image.rs')
-rw-r--r--engine/src/image.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/engine/src/image.rs b/engine/src/image.rs
index cf31a92..ac95f22 100644
--- a/engine/src/image.rs
+++ b/engine/src/image.rs
@@ -50,6 +50,26 @@ impl Image
}
}
+ pub fn from_color_and_alpha(
+ dimens: impl Into<Dimens<u32>>,
+ color: impl Into<Color<u8>>,
+ alpha: u8,
+ ) -> Self
+ {
+ let dimens: Dimens<u32> = dimens.into();
+
+ let color: Color<u8> = color.into();
+
+ Self {
+ inner: image_rs::RgbaImage::from_pixel(
+ dimens.width,
+ dimens.height,
+ image_rs::Rgba([color.red, color.green, color.blue, alpha]),
+ )
+ .into(),
+ }
+ }
+
pub fn dimensions(&self) -> Dimens<u32>
{
self.inner.dimensions().into()
@@ -68,6 +88,11 @@ impl Image
}
}
+ pub fn to_rgba8(&self) -> Self
+ {
+ Self { inner: self.inner.to_rgba8().into() }
+ }
+
pub fn as_bytes(&self) -> &[u8]
{
self.inner.as_bytes()