# HG changeset patch # User Sebastien Jodogne # Date 1764757057 -3600 # Node ID 14cd7e87def453615d6d0aa2e0d28f652a78cfa4 # Parent 1c2d1d247afb7f179f1651b0d940607c950f11c8 improved rendering of short dicom-sr diff -r 1c2d1d247afb -r 14cd7e87def4 OrthancStone/Sources/Scene2D/Scene2D.cpp --- a/OrthancStone/Sources/Scene2D/Scene2D.cpp Tue Dec 02 19:31:36 2025 +0100 +++ b/OrthancStone/Sources/Scene2D/Scene2D.cpp Wed Dec 03 11:17:37 2025 +0100 @@ -307,13 +307,20 @@ if (!extent.IsEmpty()) { - double zoom = static_cast(canvasWidth) / extent.GetWidth(); + if (extent.GetWidth() < extent.GetHeight()) + { + double zoom = static_cast(canvasWidth) / extent.GetWidth(); - AffineTransform2D t1 = AffineTransform2D::CreateOffset(-extent.GetCenterX(), -extent.GetY1()); - AffineTransform2D t2 = AffineTransform2D::CreateScaling(zoom, zoom); - AffineTransform2D t3 = AffineTransform2D::CreateOffset(0, static_cast(canvasHeight) * (topMargin - 0.5)); + AffineTransform2D t1 = AffineTransform2D::CreateOffset(-extent.GetCenterX(), -extent.GetY1()); + AffineTransform2D t2 = AffineTransform2D::CreateScaling(zoom, zoom); + AffineTransform2D t3 = AffineTransform2D::CreateOffset(0, static_cast(canvasHeight) * (topMargin - 0.5)); - SetSceneToCanvasTransform(AffineTransform2D::Combine(t3, t2, t1)); + SetSceneToCanvasTransform(AffineTransform2D::Combine(t3, t2, t1)); + } + else + { + FitContent(canvasWidth, canvasHeight); + } } }