AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Brush.Style & Color

Ein Thema von Moony · begonnen am 17. Aug 2005 · letzter Beitrag vom 22. Aug 2005
Antwort Antwort
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#1

Brush.Style & Color

  Alt 17. Aug 2005, 17:17
Hallo zusammen,

habe das Problem, daß ich über ein TImage wie folgt versuche ein Rechteck auf eine Fläche zu zeichnen:

Delphi-Quellcode:
  Image.Canvas.Brush.Color := clWhite;
Image.Canvas.Brush.Style := bsFDiagonal;
Image.Canvas.FillRect(rect(0,0,ImageMag.Width,ImageMag.Height));
Leider wird der Hintergrund schwarz und die Diagonalen weiß gezeichnet. Gibt es eine Möglichkeit den umgekehrten Fall zu erzielen, also Hintergrund weiß bzw. transparent und die Diagonalen schwarz?

Ich habe es schon mit Image.Pen.Mode := pmXor; davor versucht, leider ohne Erfolg. Scheinbr hat die Funktion keine Einwirkung auf das Farbverhalten.

Ich hoffe mir kann da jemand weiterhelfen. Thanks im Vorraus.

gruß, moony
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.056 Beiträge
 
Delphi 12 Athens
 
#2

Re: Brush.Style & Color

  Alt 17. Aug 2005, 17:37
pmXor hat ein Farbverhalten, nur fällt das bei Schwarz/Weiß nicht so ganz auf.

Delphi-Quellcode:
Image.Canvas.Brush.Color := clWhite;
Image.Canvas.Brush.Style := bsSolid;
Image.Canvas.FillRect(rect(0,0,ImageMag.Width,ImageMag.Height));
Image.Canvas.Brush.Color := clBlack;
Image.Canvas.Brush.Style := bsFDiagonal;
Image.Canvas.FillRect(rect(0,0,ImageMag.Width,ImageMag.Height));
Der Hintergrund wird nicht Schwarz gezeichnet, der ist standardmäßig schwarz.
Es werden nur die Diagonalen gezeichnet, für welche du ja clWhite gewählt hast.

Also vorher alles Weiß machen und dann noch die schwarzen Linien drauf
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Brush.Style & Color

  Alt 18. Aug 2005, 14:07
Hallo, habe das ganze ausprobiert, aber die Fläche wird dennoch komplett schwarz gezeichnet.

Vielleicht ein einen anderen Vorschlag?

gruß, moony
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Brush.Style & Color

  Alt 22. Aug 2005, 09:10
Weiß denn keiner eine Lösung für dieses Problem???

Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

Re: Brush.Style & Color

  Alt 22. Aug 2005, 09:17
Auszug aus der MSDN:
Zitat:
Although lbColor controls the foreground color of a hatch brush, the SetBkMode and SetBkColor functions control the background color.
Du solltest SetBkMode(Canvas.Handle, TRANSPARENT) und/oder SetBkColor(Canvas.Handle, clWhite) benutzen, um die Hintergrundfarbe deines Pinsels zu setzen.
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Brush.Style & Color

  Alt 22. Aug 2005, 09:41
Super!Danke, das hat endlich funktioniert!!!



Aber was den Wert TRANSPARENT betrifft, nimmt er ihn im Gegensatz zu OPAQUE nicht an!

gruß, moony
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#7

Re: Brush.Style & Color

  Alt 22. Aug 2005, 11:46
Hast Du es mal so versucht:
Code:
SetBkMode(ImageX.Canvas.Handle, [color=#ff0000]Ord([/color]TRANSPARENT[color=#ff0000])[/color]);
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Brush.Style & Color

  Alt 22. Aug 2005, 15:29
Ja danke, und es geht. Wobei ich das nicht ganz nachvollziehen kann warum der eine Wert als Integer angenommen wird und der andere nicht, obwohl beide gleichwertig von der Funktion unterstützt werden.

Wobei ich die Funktion SetBkMode() auch weglassen könnte, da diese den Hintergrund sowieso nicht transparent macht. Aber mal schauen. Nochmal vielen Dank für die Hilfe.

gruß, moony
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz