diff --git a/crates/typst-library/src/visualize/image/raster.rs b/crates/typst-library/src/visualize/image/raster.rs
index 79efae00d..31dbf2d23 100644
--- a/crates/typst-library/src/visualize/image/raster.rs
+++ b/crates/typst-library/src/visualize/image/raster.rs
@@ -9,7 +9,6 @@ use ecow::{eco_format, EcoString};
use image::codecs::gif::GifDecoder;
use image::codecs::jpeg::JpegDecoder;
use image::codecs::png::PngDecoder;
-use image::imageops::rotate180;
use image::{
guess_format, DynamicImage, ImageBuffer, ImageDecoder, ImageResult, Limits, Pixel,
};
diff --git a/crates/typst-pdf/src/image.rs b/crates/typst-pdf/src/image.rs
index 0dbcc5385..055781f16 100644
--- a/crates/typst-pdf/src/image.rs
+++ b/crates/typst-pdf/src/image.rs
@@ -61,26 +61,28 @@ pub(crate) fn handle_image(
Ok(())
}
-/// A wrapper around RasterImage so that we can implement `CustomImage`.
-#[derive(Clone)]
-struct PdfImage {
+struct Repr {
/// The original, underlying raster image.
raster: RasterImage,
/// The alpha channel of the raster image, if existing.
- alpha_channel: OnceLock