Einzelnen Beitrag anzeigen

Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#4

AW: Problem mit Skalierung eines Bitmap im BitBtn

  Alt 14. Apr 2011, 19:16
Ich werfe dann noch eine Skalierungs-Funktion hinterher. Man sollte sowieso nicht soviele Aufgabe in eine einzelne Funktion packen.

Mit dem Ergebnis Initialisierst Du das Ziel-Bitmap. Kannst auch auf X/Y Parameter (also direkte Übergabe von Width/Height) umschreiben oder einem Rect für StretchDraw.

Delphi-Quellcode:
function ScaleSize(Size : TSize; MaxBorderLength : Integer): TSize;
var
  Ratio : Double;
begin
  Ratio := Size.cx / Size.cy;
  if (Ratio >= 1) {Landscape} then
  begin
    Result.cx := MaxBorderLength;
    Result.cy := Trunc(MaxBorderLength / Ratio);
  end else begin
    Result.cy := MaxBorderLength;
    Result.cx := Trunc(MaxBorderLength * Ratio);
  end;
end;

Geändert von Satty67 (14. Apr 2011 um 19:20 Uhr)
  Mit Zitat antworten Zitat