Thema: Delphi Pen.Color wird ignoriert

Einzelnen Beitrag anzeigen

palmakunkel

Registriert seit: 3. Dez 2005
Ort: Coswig
18 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Pen.Color wird ignoriert

  Alt 12. Nov 2024, 16:38
@itsChris: TPNGObject habe ich rausgeschmissen,
@himitsu: ebenso FloodFill,
hier nochmal das Wichtigste aus dem Code:

Delphi-Quellcode:
type
   TForm1 = class(TForm)
     ...
     Img: TImage;
     ...
   end;
   
procedure ConvertToBMP(const FileName: string; var Img: TImage);
var PNG: TPNGImage;
begin
  if UpperCase(TPath.GetExtension(FileName))='.PNGthen
  begin
    PNG := TPNGImage.Create;
    try
      PNG.LoadFromFile(FileName); // Load the PNG image
      Img.Picture.Bitmap.Assign(PNG);
    finally
      PNG.Free;
    end;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  // bei folgenden Variante wird Pen.Color ignoriert
  ConvertToBMP('Aloahe2.png', Img);
  
  // bei dieser Variante klappt Pen.Color
  Img.Picture.LoadFromFile('Aloahe2.png');
  // das mache ich natürlich nicht hintereinander,
  // es steht nur zum Deutlichmachen hier
  
  Img.Canvas.Pen.Color:=clBlack;
  Img.Canvas.Pen.Mode:=pmCopy;
  Img.Canvas.Pen.Style:=psSolid;
end;

procedure TForm1.ScrMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  DrawState:=true;
  if DrawStyle= dsPen then Img.Canvas.MoveTo(X,Y);
end;    

procedure TForm1.ScrMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
  if Drawstate then
   if DrawStyle=dsPen then Img.Canvas.LineTo(X,Y);
end;
Gunter Dickopf
sie passten gut zueinander - geometrisch gesehen
  Mit Zitat antworten Zitat