Einzelnen Beitrag anzeigen

Hospi

Registriert seit: 17. Mär 2005
21 Beiträge
 
Delphi 6 Personal
 
#16

Re: Image in den Zwischenspeicher

  Alt 18. Mär 2005, 20:55
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.
  Mit Zitat antworten Zitat