Zitat:
Du erzeugst ein Bitmap, zeichnest drauf und packst es dann in das Image, hier ein Beispiel:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
fBmp: TBitmap; //wird zum Zeichnen genutzt
begin
//Instanz anlegen
fBmp := TBitmap.Create;
try
//Breite und Höhe der des Image anpassen
fBmp.Width := Image1.Width;
fBmp.Height := Image1.Height;
//Pixelformat setzen
fBmp.PixelFormat := pf32Bit;
//hier kommen deine ganzen Zeichenfunktionen
fBmp.Canvas.MoveTo(1, 1);
fBmp.Canvas.LineTo(100, 100);
//...
//Bitmap ins Image kopieren
Image1.Picture.Bitmap.Assign(fBmp);
finally
//Instanz wieder freigeben
fBmp.Free;
end;
end;
Ähm ... joa.
Ich habe diese Procedure ausprobiert und es kommt immer noch der
Access Violation Fehler.
Was muss denn noch zusätzlich eingefügt werden???? Die ClipBrd habe ich in Uses drin und Clipboard als vom Typ TClipboard deklariert (Als Globale Variable). Fehlt da noch was oder könnte es vieleicht an meiner Delphi-Version liegen (Version 6.00)?
Wenn ich den Quellcode von Catbytes ausprobiere:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
MyFormat : Word;
AData : THandle;
APalette : HPalette;
begin
Image1.Picture.SaveToClipBoardFormat(MyFormat,AData,APalette);
ClipBoard.SetAsHandle(MyFormat,AData);
end;
und ClipBoard.SetAsHandle(MyFormat,AData); weg lasse kommt kein Fehler (Das Bild wird natürlich auch nicht in den Zwischenspeicher geladen).
Folge: Entweder stimmt was nicht mit meinem Delphi nicht oder ich habe einfach etwas beim Einbinden/Deklaration vergessen.
Sven H.