Der Quelltext ist unten.
Wenn nichts im Clipboard drin ist, dann schreibt es den Text und zeichnet die Linie in den vorgegebenen Farben.
Wenn ein Bild drin ist, wird dieses gezeichnet, aber der Text und die Linie sind nur in der Hintergrundfarbe (wenn überhaupt) zu erkennen.
Canvas.Font.Color und canvas.Pen.Color werden nun nicht mehr berücksichtigt.
Wo ist mein Denkfehler?
Danke jrx
Code: Alles auswählen
unit unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,
Buttons, StdCtrls, Clipbrd;
type
TForm1 = class(TForm)
Button1: TButton;
Image1: TImage;
procedure Button1Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
begin
with Image1.Picture.Bitmap do
begin
Width := 120;
Height := 120;
if (Clipboard.HasFormat(CF_BITMAP)) or (Clipboard.HasFormat(CF_PICTURE)) then
Assign(Clipboard);
Canvas.Brush.Color := clRed;
Canvas.Pen.Color := clGreen;
Canvas.Font.Color := clblue;
Canvas.TextOut(10, 10, 'test');
Canvas.Line(0, 0, 120, 100);
end;
end;
end.