Einzelnen Beitrag anzeigen

Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#10

Re: [TPaintBox] - "Hintergrundfarbe" für Pen.Style

  Alt 7. Jan 2007, 16:46
Zitat von Muetze1:
1. wenn du das einmal in die Paintbox gezeichnet hast, dann müsstest du bei Änderung der Position der transparenten Bereiche die alten gemalten Pixel weg bekommen. Transparent heisst aber nun mal nicht, dass er dort was "transparentes" hinmalt an der Stelle sondern er das malen dort auslässt.
Und was heißt das?

Zitat von Muetze1:
2. Wenn du nur eine Farbe in dem Bitmap Transparent haben willst, dann setz die entsprechende Eigenschaft des Bitmaps (wie ich oben schon geschrieben hatte). Delphi-Referenz durchsuchenTBitmap.TransparentMode, Delphi-Referenz durchsuchenTBitmap.TransparentColor, Delphi-Referenz durchsuchenTBitmap.Transparent.
Und wie komme ich an das Bitmap eines PaintBox?
Achtung: Ich rede nicht vom Quellbitmap! Ich rede vom "eingefügten" Bitmap!
(Aber selbst wenn, würde es nicht viel bringen, siehe unten)

Zitat von Muetze1:
3. Wenn du die Transparent-Eigenschaft des TBitmaps verwendest, dann musst du das BitBlt() durch Draw() ersetzen, weil BitBlt() von WinAPI nichts von TBitmap der VCL weiss und sich somit auch nicht darum kümmert. Auch dieses hatte ich oben schon geschrieben.
Aber das ergibt keinen sinn (aus zwei Gründen):
1. Würde ich es vor
oder 2. würde ich es
nach dem kopieren selber einzeichenen. Und ich möchte es ja nicht transparent haben, dass man die unterliegende Form sieht.
Sondern ich würde gerne ein BitMap haben, mit einen Quadrat, welcher durch eine gestrichelte Line dargestellt wird.

Zitat von Muetze1:
4. @xZise: Die Farbe des Brushes ist egal, wenn du Brush.Style auf bsClear stellst. Du kannst auch beim Canvas folgendes machen, aber eigentlich ist dies nicht nötigt: SetMode(Canvas.Handle, TRANSPARENT);
Das mag sein, aber wenn er das nicht "cleared", dann müsste wenigstens die Farbe zu sehen sein.
Außer irgendwo ist "clBtnFace" als Standard definiert.

In Punkt 3 siehts du was ich möchte, da deine Beispiele hier an sich nichts bringen.

Ich suche eigentlich nur eine Möglichkeit, dass er ein bisschen zeichnet, und dann wieder ein bisschen nicht.
Aber ich sehe schon dass ich es selber machen muss. Und solange es sich um Parallelen zu den Bildschirmrändern hält.
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat