| Autor |
Beitrag |
Hack Webber
Hält's aus hier
Beiträge: 5
|
Verfasst: Di 04.02.03 15:31
Hallo zusammen,
ich versuche verzweifelt mehrere Ebenen zu zeichen. Da ich an einen oszilloskop programm arbeite, würde ich gerne das Raster in der ersten ebene zeichenen und das signal in der zweiten. Wenn ich nun das signal entferne möchte ich einen unversehrten Hintergrund haben ohne ihn neu zeichen zu müßen. Ich möchte aber kein DirectX benutzen.
Kennt jemand eine Möglichkeit?
|
|
Aya
      
Beiträge: 1964
Erhaltene Danke: 15
MacOSX 10.6.7
Xcode / C++
|
Verfasst: Di 04.02.03 16:19
Hi,
nimm einfach 2 TImage's...
Die packste genau übereinander und machst "Transparent = true"
Dann stellste als Transparent Color noch Weiß (oder was du willst) ein, und dann sollte es gehen...
Au'revoir,
Aya
_________________ Aya
I aim for my endless dreams and I know they will come true!
|
|
Hack Webber 
Hält's aus hier
Beiträge: 5
|
Verfasst: Di 04.02.03 16:40
Titel: Das geht so nicht
Du meinst
Quelltext 1:
| Image2.Picture.Bitmap.TransparentColor := clWhite; |
es wird immernoch weiß angezeigt und es flackert wie sau
Moderiert von Tino: Code-Tags hinzugefügt.
|
|
Aya
      
Beiträge: 1964
Erhaltene Danke: 15
MacOSX 10.6.7
Xcode / C++
|
Verfasst: Di 04.02.03 16:47
gegen das Flackern mach mal im OnCreate:
Quelltext 1:
| Form1.DoubleBuffered.=True; |
und für das Transparent...
Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| with Image1.Picture.Bitmap do begin Transparent:=true; TransparentColor:=clWhite; Canvas.Brush.Color:=clWhite; Canvas.FillRect(Rect(0,0,Image1.Width,Image1.Height)); Canvas.Pen.Color:=clBlack; Canvas.LineTo(100,100); end; |
Das sollte gehen.
Au'revoir,
Aya~
PS: Du mußt allerdings ein TBitmap geladen haben. mit JPEG etc geht's net
_________________ Aya
I aim for my endless dreams and I know they will come true!
|
|
Hack Webber 
Hält's aus hier
Beiträge: 5
|
Verfasst: Di 04.02.03 16:58
Es ist das zweit Image zwar transparent.
Aber wenn ich darauf was zeichne ist das garnicht zu sehn.
Auch nicht gerade gut 
|
|
Hack Webber 
Hält's aus hier
Beiträge: 5
|
Verfasst: Di 04.02.03 17:00
|
|
Aya
      
Beiträge: 1964
Erhaltene Danke: 15
MacOSX 10.6.7
Xcode / C++
|
Verfasst: Di 04.02.03 17:08
Hi,
wie gesagt... du mußt erstmal ein Bitmap laden...
Image1.Picture.Bitmap.LoadFromFile()
Ne andere lösung dafür weiß ich leider nich ^^
Au'revoir,
Aya
_________________ Aya
I aim for my endless dreams and I know they will come true!
|
|
Tino
      

Beiträge: 9839
Erhaltene Danke: 45
Windows 8.1
Delphi XE4
|
Verfasst: Di 04.02.03 17:11
@Hack Webber: Bitte verwende in Zukunft die Code-Tags um Deinen Sourcecode. Dadurch kann man Deine Postings besser lesen!
Gruß
TINO
|
|
Hack Webber 
Hält's aus hier
Beiträge: 5
|
Verfasst: Di 04.02.03 17:11
Ich glaub ich habs. Danke mal. Ich hoffe das das klappt.
Falls jemand noch ne Lösung hat. Bitte melden.
|
|
Simon Joker
      
Beiträge: 236
Erhaltene Danke: 1
|
Verfasst: Mi 05.02.03 11:21
Hi
ihr habt vergessen der Bitmap zusagen wie gross sie denn nun sein soll!
Tut's einfach so:
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| ...
Image1.Picture.Bitmap.Canvas.Brush.Color := clRed; //Füge das noch ein !!!! Image1.Picture.Bitmap.Width:=Image1.Width; Image1.Picture.Bitmap.Height:=Image1.Height; //-----
Image2.Picture.Bitmap.Transparent := True; Image2.Picture.Bitmap.TransparentColor := clWhite; Image2.Picture.Bitmap.Canvas.Brush.Color := clWhite; //Füge das noch ein !!!! Image2.Picture.Bitmap.Width:=Image2.Width; Image2.Picture.Bitmap.Height:=Image2.Height; //----- //Zum Testen Image2.Picture.Bitmap.Canvas.MoveTo(0,0); Image2.Picture.Bitmap.Canvas.LineTo(Image2.Width,Image2.Height); ... |
Bei mir funktioniert es nur wenn das Image auf transparent gesetzt ist. Sonst wird das automatisch wieder auf transparent = false gesetzt.
|
|