diff --git a/Userland/Libraries/LibPDF/Renderer.cpp b/Userland/Libraries/LibPDF/Renderer.cpp index 574bc6692b..643c19afa6 100644 --- a/Userland/Libraries/LibPDF/Renderer.cpp +++ b/Userland/Libraries/LibPDF/Renderer.cpp @@ -1205,24 +1205,24 @@ PDFErrorOr Renderer::load_image(NonnullRefPtr apply_alpha_channel(NonnullRefPtr image_bitmap PDFErrorOr Renderer::show_image(NonnullRefPtr image) { auto image_dict = image->dict(); - auto width = TRY(m_document->resolve_to(image_dict->get_value(CommonNames::Width))); - auto height = TRY(m_document->resolve_to(image_dict->get_value(CommonNames::Height))); OwnPtr clip_raii; if (m_rendering_preferences.clip_images) clip_raii = make(*this); if (!m_rendering_preferences.show_images) { - show_empty_image(width, height); + auto width = TRY(m_document->resolve_to(image_dict->get_value(CommonNames::Width))); + auto height = TRY(m_document->resolve_to(image_dict->get_value(CommonNames::Height))); + show_empty_image({ width, height }); return {}; } auto image_bitmap = TRY(load_image(image)); @@ -1285,8 +1285,8 @@ PDFErrorOr Renderer::show_image(NonnullRefPtr image) } } - auto image_space = calculate_image_space_transformation(width, height); - auto image_rect = Gfx::FloatRect { 0, 0, width, height }; + auto image_space = calculate_image_space_transformation(image_bitmap.bitmap->size()); + auto image_rect = Gfx::FloatRect { image_bitmap.bitmap->rect() }; m_painter.draw_scaled_bitmap_with_transform(image_bitmap.bitmap->rect(), image_bitmap.bitmap, image_rect, image_space); return {}; } diff --git a/Userland/Libraries/LibPDF/Renderer.h b/Userland/Libraries/LibPDF/Renderer.h index 4b0b9a2bbd..c2451889dc 100644 --- a/Userland/Libraries/LibPDF/Renderer.h +++ b/Userland/Libraries/LibPDF/Renderer.h @@ -160,7 +160,7 @@ private: PDFErrorOr load_image(NonnullRefPtr); PDFErrorOr show_image(NonnullRefPtr); - void show_empty_image(int width, int height); + void show_empty_image(Gfx::IntSize); PDFErrorOr> get_color_space_from_resources(Value const&, NonnullRefPtr); PDFErrorOr> get_color_space_from_document(NonnullRefPtr); @@ -180,7 +180,7 @@ private: float line_width() const; - Gfx::AffineTransform calculate_image_space_transformation(int width, int height); + Gfx::AffineTransform calculate_image_space_transformation(Gfx::IntSize); PDFErrorOr> get_font(FontCacheKey const&);