Einzelnen Beitrag anzeigen

Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.763 Beiträge
 
Delphi 11 Alexandria
 
#31

AW: nach StretchBlt schwarzer Hintergrund

  Alt 26. Feb 2015, 12:16
Ich skaliere nur noch mit dem http://docwiki.embarcadero.com/VCL/X...hics.TWICImage.

Beispiel einer proportionalen Skalierung:
Delphi-Quellcode:
procedure ResizeImage(aWICImage: TWICImage; NewWidth:Integer);
var
  scale: IWICBitmapScaler;
  wicBitmap: IWICBitmap;
  newHeight:Integer;
  faktor:Double;
begin
  if Assigned(aWICImage) then
  begin
    faktor := NewWidth / aWICImage.Width;
    newHeight := Round(aWICImage.Height * faktor);

    aWICImage.ImagingFactory.CreateBitmapScaler(scale);
    scale.Initialize(aWICImage.Handle, NewWidth, NewHeight, WICBitmapInterpolationModeFant);
    aWICImage.ImagingFactory.CreateBitmapFromSourceRect(scale, 0,0,NewWidth, NewHeight, wicBitmap);
    if Assigned(wicBitmap) then
      aWICImage.Handle := wicBitmap;
  end;
end;
Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat