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:
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.