Problem mit TImage Farben

Rund um die LCL und andere Komponenten
Antworten
Benutzeravatar
juelin
Lazarusforum e. V.
Beiträge: 344
Registriert: Sa 24. Jul 2021, 18:03
OS, Lazarus, FPC: Linux Ubuntu 22. Windows 10 Delphi 11.3 (L 0.9.xy FPC 2.2.z)
CPU-Target: 64Bit
Wohnort: Mannheim

Problem mit TImage Farben

Beitrag von juelin »

Hallo,
ich habe ein TImage in dem ich eine Karte laden
une anschlissend was reinzeichne und schreibe.
Ich kann aber für PEN und FONT Farben definieren wie ich will.
Es kommt immer nur Schwarz.
Hat Jemand eine Ahnunf?

Code: Alles auswählen

  Image1.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'Map.jpg');
  Image1.Canvas.Pen.Color:=clWhite;
  Image1.Canvas.Pen.Style:=psSolid;
  Image1.Canvas.Brush.Color:=clBlack;
  Image1.Canvas.Brush.Style:=bsSolid;
  Image1.Canvas.Font.Color:=clRed;
  Image1.Canvas.Font.Size:=8;
  Image1.Canvas.Font.Name:='Courier';
  Image1.Canvas.Font.Style:=[fsBold];
  Image1.Canvas.Brush.Style:=bsSolid;
  Image1.Canvas.FillRect(Punkt.X-5,Punkt.Y-5,Punkt.X+5,Punkt.Y+5);
  Image1.Canvas.Brush.Style:=bsClear;
  Image1.Canvas.TextOut(Punkt.X+8,Punkt.Y-6,h4);

Siehe Anhang.
Danke und Gruß
Jürgen
Dateianhänge
bild9a.jpg
(528.42 KiB) Noch nie heruntergeladen

wennerer
Beiträge: 653
Registriert: Di 19. Mai 2015, 20:05
OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
CPU-Target: x86_64-linux-gtk2

Re: Problem mit TImage Farben

Beitrag von wennerer »

Hallo Juelin,
das funktioniert bei mir:

Code: Alles auswählen

unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    Image1: TImage;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Image1Paint(Sender: TObject);

  private

  public

  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin
 Image1.Picture.LoadFromFile('Image1.jpg');
end;

procedure TForm1.Image1Paint(Sender: TObject);
begin
 Image1.Canvas.Pen.Color:=clRed;
 Image1.Canvas.Brush.Color:=clLime;
 Image1.Canvas.Rectangle(50,50,150,150);
end;



procedure TForm1.Button1Click(Sender: TObject);
begin
 Image1.Canvas.Pen.Color:=clGreen;
 Image1.Canvas.Brush.Color:=clBlue;
 Image1.Canvas.Rectangle(250,50,350,150);
end;

end.
Viele Grüße
Bernd
Dateianhänge
TestImage.zip
(357.19 KiB) 12-mal heruntergeladen

Antworten