![]() |
Re: Image in den Zwischenspeicher
Zitat:
|
Re: Image in den Zwischenspeicher
Hallo,
was spricht gegen diesen Code?
Delphi-Quellcode:
ClipBrd in Uses nicht vergessen...
procedure TForm1.Button1Click(Sender: TObject);
var MyFormat : Word; AData : THandle; APalette : HPalette; begin Image1.Picture.SaveToClipBoardFormat(MyFormat,AData,APalette); ClipBoard.SetAsHandle(MyFormat,AData); end; |
Re: Image in den Zwischenspeicher
Zitat:
Delphi-Quellcode:
Nun kannst das Bitmap auch mit
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;
Delphi-Quellcode:
in die Zwischenablage kopieren.
Clipboard.Assign(Image1.Picture.Bitmap);
|
Re: Image in den Zwischenspeicher
Zitat:
|
Re: Image in den Zwischenspeicher
Zitat:
|
Re: Image in den Zwischenspeicher
Zitat:
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:
und ClipBoard.SetAsHandle(MyFormat,AData); weg lasse kommt kein Fehler (Das Bild wird natürlich auch nicht in den Zwischenspeicher geladen).
procedure TForm1.Button1Click(Sender: TObject);
var MyFormat : Word; AData : THandle; APalette : HPalette; begin Image1.Picture.SaveToClipBoardFormat(MyFormat,AData,APalette); ClipBoard.SetAsHandle(MyFormat,AData); end; Folge: Entweder stimmt was nicht mit meinem Delphi nicht oder ich habe einfach etwas beim Einbinden/Deklaration vergessen. |
Re: Image in den Zwischenspeicher
Wo genau kommt der Fehler? Wenn das Bild im Image ist kannst du es doch einfach per
Delphi-Quellcode:
in die Zwischenablage packen.
Clipboard.Assign(Image1.Picture.Bitmap);
|
Re: Image in den Zwischenspeicher
Zitat:
Lade Dir mal ![]() Das klappt bei mir einwandfrei... |
Re: Image in den Zwischenspeicher
Super, vielen Dank, es funktioniert! :-D (Beide Varianten)
Mein Problem lag wahrscheinlich bei der Daklaration:
Delphi-Quellcode:
das wars also. ich gedachte, dass ich clipboard noch mal(so wie oben) daklarieren müsste. :dp:
var
Form1: TForm1; clipboard:Tclipboard; implementation {$R *.dfm} Bis denn Sven |
Re: Image in den Zwischenspeicher
Mal als Hinweis für spätere Codes. Deklarier die Variablen nicht gloabl, wie in deinem Beispiel, sondern in dem "private", bzw. "public" Abschnitt der Form.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz