Autor Beitrag
$veno
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 42



BeitragVerfasst: Mi 02.11.05 14:56 
Hallo.

Gibt es eine Komponente in der ich eizelne Pixel zeichnen lassen kann?

Danke und Gruss Sven:)
AXMD
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Mi 02.11.05 15:14 
Wie, wo, was? Worauf Pixel zeichnen? Canvas, Form oder auf der Compo selbst... wär evtl. nicht schlecht, wenn du deine Fragestellung etwas klarer formulierst ;)

AXMD
$veno Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 42



BeitragVerfasst: Mi 02.11.05 15:18 
Ich möchte das ic in einer Procedure einzelne Pixel einer Zeichenfläche schwarz färben kann. Die Zeichenfläche sollte eine Komponente sein, zB Image oder etwas ähnliches, hauptsache ich kann einzelne Pixel schwarz färben.
Stefan.Buchholtz
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 612

WIN 2000, WIN XP, Mac OS X
D7 Enterprise, XCode, Eclipse, Ruby On Rails
BeitragVerfasst: Mi 02.11.05 15:20 
Die TPaintBox ist das, was du suchst.

Stefan
$veno Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 42



BeitragVerfasst: Mi 02.11.05 16:27 
Ahh, vielen Dank:)
$veno Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 42



BeitragVerfasst: Mi 02.11.05 17:16 
Hmm, habe in der Hilfe nacgeschaut und die canvas methode drawpoint gefunden, aber wenn ich dann schreibe
ausblenden Delphi-Quelltext
1:
 paintbox1.canvas.drawpoint(3,5);					


sagt er mir unbekannter Bezeichner "drawpoint".

Kann mir eienr ein Beispiel geben wie ich zB den Punkt (3/5) der Paintbox schwarz färbe?

Danke und Gruss Sven
Tilman
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1405
Erhaltene Danke: 51

Win 7, Android
Turbo Delphi, Eclipse
BeitragVerfasst: Mi 02.11.05 17:25 
paintbox.canvas.pixels[3,5] := clBlack;

Du musst aber sicherstellen das die Einfärbung in der Routine OnPaint vorgenommen wird, sonst verschwindet die färbung sobald z.B. ein anderes Fenster über dein gemaltes gezogen wird.
$veno Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 42



BeitragVerfasst: Mi 02.11.05 17:28 
ahh, dankeschön:) Es klappt:)
$veno Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 42



BeitragVerfasst: Do 03.11.05 20:35 
user profile iconTilman hat folgendes geschrieben:
Du musst aber sicherstellen das die Einfärbung in der Routine OnPaint vorgenommen wird, sonst verschwindet die färbung sobald z.B. ein anderes Fenster über dein gemaltes gezogen wird.


Gibts auch die Möglichkeit dies nicht in der Routine onpaint vorzunehmen, die Färbung aber bleibt wenn man ein anderes Fenster darüberzieht?
galagher
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2556
Erhaltene Danke: 45

Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
BeitragVerfasst: Do 03.11.05 23:03 
user profile icon$veno hat folgendes geschrieben:
Gibts auch die Möglichkeit dies nicht in der Routine onpaint vorzunehmen, die Färbung aber bleibt wenn man ein anderes Fenster darüberzieht?

Soviel ich weiss, musst du sicherstellen, dass deine Zeichnung wiederhergestellt wird, und das geht nunmal in OnPaint. Es sei denn, es genügt dir, den Code in eine extra Prozedur zu schreiben un diese in OnPaint aufzurufen. Aber ob du ganz um OnPaint herum kommst, möchte ich bezweifeln.

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
Tilman
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1405
Erhaltene Danke: 51

Win 7, Android
Turbo Delphi, Eclipse
BeitragVerfasst: Fr 04.11.05 12:24 
Die einfachste Möglichkeit die ich kenne: benutze ein TImage statt einer TPaintBox. die Speichert dann automatisch die Pixel, es kann aber unter Umständen auch Nachteile haben.

Andere Möglichkeit: du erstellst ein TBitmap-Objekt:

Bild := TBitmap.Create;
Bild. Width := paintbox.Width;
Bild.Height := paintbox.Height;

alle Operationen werden jetzt auf Bild.Canvas ausgeführt,
und OnPaint wird dann mittels paintbox.canvas.draw(0,0,Bild) das Bild auf die Paintbox gemalt.