Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#1

Resize ohne Dimensions Verlust

  Alt 20. Mär 2017, 07:05
Ich berechne die Position des Bildes auf diese weise.

Delphi-Quellcode:
          // Gif Zentrieren
          w := GifFrameRect.Width;
          if w > rc.Right then
            w := rc.Right;
          h := GifFrameRect.Height;
          if h > rc.Bottom then
            h := rc.Bottom;
          x := (rc.Right - w) / 2;
          y := (rc.Bottom - h) / 2;

          // einzelnes Bild auf Graphicsobjekt zeichnen
          if GDIP_DrawImageRect(GifGraphics, GifImage, x, y, w, h) = S_OK then
          begin
Das Problem dabei ist das mein Bild wenn es zu groß ist gestaucht wird also die Dimensionen verändern sich.
Hat jemand eine Formel wie ich das Bild korrekt in den Container Zentrieren kann ohne das sich die Ausmaße verändern?

Bsp.
Wenn sich die höhe verändert soll sich die breite der höhe proportional anpassen so das mein Bild genau in den Container passt.

Solange das Bild kleiner als der Container ist stimmt meine Formel.
Ich kann das zwar selber machen aber das dauert wieder ewig

gruss

Geändert von EWeiss (11. Jul 2019 um 16:46 Uhr)
  Mit Zitat antworten Zitat