Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Pen.Style := Psdot; (wird nicht übernommen) [Erledigt] (https://www.delphipraxis.net/121089-pen-style-%3D-psdot%3B-wird-nicht-uebernommen-%5Berledigt%5D.html)

Noobinator 22. Sep 2008 09:14


Pen.Style := Psdot; (wird nicht übernommen) [Erledigt]
 
Liste der Anhänge anzeigen (Anzahl: 1)
hy Community

ich glaube ich werde hier gleich verrückt.

un zwar male ich ein bissl auf nem Bitmap rum
nun möchte ich mal ein paar linien Gestrichelt haben.

Delphi-Quellcode:
....
     Bmp.Canvas.Pen.Style := psdot;

     if a_points[i].Connected2X then
     begin
       Bmp.Canvas.MoveTo(round(....),Bmp.height - round(...));
       Bmp.Canvas.LineTo(round(...),round(....));
     end;

     if a_points[i].Connected2Y then
     begin
       Bmp.Canvas.MoveTo(round(....),Bmp.height - round(...));
       Bmp.Canvas.LineTo(round(...),round(....));
     end;

     Bmp.Canvas.Pen.Style := pssolid;
...
nur leider mag er das nicht, und nichts ist gestrichelt.

nun habe ich testweise mal:
Delphi-Quellcode:
Bmp.Canvas.Pen.Style := pssolid;
auskommentiert, und dann das resultat begutachtet:

alle Linien welche ich sonst noch male, sind gestrichelt, nur nicht die beiden betreffenden -.-

woran kann es liegen, das genau diese beiden nicht richtig formatiert sind?
Außer an diesen beiden obigen stellen wird pen.style nicht weiter manipuliert.

Hawkeye219 22. Sep 2008 09:29

Re: Bmp.Canvas.Pen.Style := Psdot; (wird nicht übernommen)
 
Hallo,

mal so ins Blaue rein geraten: hast du zum Zeitpunkt des Zeichnens eine Linienstärke > 1 gewählt? Das GDI unterstützt Linienmuster nur für eine Strichstärke von einem Pixel.

Gruß Hawkeye

Noobinator 22. Sep 2008 09:35

Re: Bmp.Canvas.Pen.Style := Psdot; (wird nicht übernommen)
 
nein Pen.width war 1.

Aber:
ich hatte pen.Color und brush.Color auf der selben Farbe (wegen Linie + Ellipse)
d.h. er hat die Linie rot gezeichnet, und die zwischenräume ebenfalls.

Mensch damit rechnet doch niemand -.-

naja egal es hat sich erstmal erledigt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:59 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