Einzelnen Beitrag anzeigen

Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#1

[gelöst] Bild vergrößern mit StretchBlt

  Alt 1. Apr 2009, 19:57
Hallo,

ich weiß: Das Thema wurde schon mehrfach behandelt (z.B. hier). Ich habe aber keine Lösung für mich gefunden. Wohl auch, weil dieser Code nicht funktioniert:
Delphi-Quellcode:
Procedure TForm1.Button5Click(Sender: TObject);
Var
   help         : TImage;
Begin
   Try
      help:=TImage.Create(nil);
      SetStretchBltMode(help.Canvas.Handle,HALFTONE);
      If Image1.Picture.Height>Image1.Picture.Width Then
         StretchBlt(help.Canvas.Handle,   // Ziel
                    0,0,1660,2340,         // Ziel Ausmaße
                    Image1.Canvas.Handle,                              // Quelle
                    0,0,Image1.Picture.Width,Image1.Picture.Height,   // Ausmaße Quelle
                    SRCCOPY)
      Else
         ShowMessage('Querformat');
         StretchBlt(help.Canvas.Handle,   // Ziel
                    0,0,2340,1660,         // Ziel Ausmaße
                    Image1.Canvas.Handle,                              // Quelle
                    0,0,Image1.Picture.Height,Image1.Picture.Width,   // Ausmaße Quelle
                    SRCCOPY);
   Finally
      help.Free;
   End;
End;
Ein Bild ist in Image1 enthalten. Die Werte für die Größe habe ich mir ausgeben lassen; die passen. Als Ergebnis bekomme ich trotzdem immer nur ein weißes Bild in der Auflösung 105x105.
Was mache ich da verkehrt?

Gruß und Dank, Alex
Alex Winzer
  Mit Zitat antworten Zitat