Zitat von
EWeiss:
GdipCreateBitmapFromHBITMAP oder umgekehrt GdipCreateHBITMAPFromBitmap
Kann dir nur anraten mein Beispiel anzuschauen da ist alles drin
gruss Emil
Ich hatte es befürchtet. Ich bin Gelegenheitsprogrammierer und aus diesem Grunde
sprach ich auch von
einfach. Das alles ist das Gegenteil von Einfach. Ich staune, dass auch hier im Forum
manche Fragen nicht beantwortet wurden und sich keiner mehr rührt. Vermutlich wissen alle außer mir die Antwort.
Ich vermute anhand der mir ausgegebenen Zeiten, dass ich erfolreich dem HBITMAP ein TBitmap zugewiesen und vermutlich auch gedreht habe. Den Code habe ich mir unter anderem
hier zusammen gesucht.
Delphi-Quellcode:
Type
TForm1 = Class(TForm)
Image1 : TImage;
End;
...
Procedure TForm1.Image1Click(Sender: TObject);
Var
FlipBild : TGPBitmap;
Zeit : Int64;
Begin
Zeit:=GetTickCount;
FlipBild:=TGPBitmap.Create(Image1.Picture.Bitmap.Canvas.Handle,Image1.Picture.Bitmap.Palette);
Try
FlipBild.RotateFlip(Rotate90FlipNone);
Finally
FlipBild.Free;
End;
Zeit:=GetTickCount-Zeit;
Caption:=Application.Title+' ['+FormatFloat('#,##0',Zeit)+' ms]';
End;
...
End.
Leider kann ich mit dem Ergebnis nichts anfangen. Ich weiß nicht, wie ich es wieder auf das TImage bzw. TImage.Bitmap bekomme oder abspeichern kann.
Das Beispiel mit der Uhr ist zwar genial; für mich aber zu kompliziert und mit 5 Units zu unübersichtlich. Ich habe genau 1 Mal die Funktion
GdipCreateHBITMAPFromBitmap gefunden, konnte damit aber nichts anfangen. Die Syntax zeigt mir Delphi ja automatisch an. Aber ohne das Wissen über die Variablen und was die bewirken/speichern können, komme ich nicht weiter. Dazu müsste ich dann wieder was lesen und ...
Gute Nacht, Alex