Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by SirThornberry,
17. Jul 2007
ich kenne paint.net nicht. ich wollte damit sagen das es nicht unbedingt immer ein fertiges programm sein muss sondern das man sich auch einfach ein paar zeilen zusammentippen kann.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by SirThornberry,
17. Jul 2007
ich mal die Bilder in Paint und füge dann mit einem selbst geschriebenen Programm das Alphakanal bild in den vorgesehenen Kanal des eigentlichen Bildes ein.
Das macht sich eigentlich ganz gut wenn man keine Lust auf aufgeblähte tools hat.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by SirThornberry,
17. Jul 2007
Da die Windows-Funktion einem das Leben schwer macht in dem sie auch den Alphakanal des Ziel-HDC berücksichtig hab ich mal eine eigene Funktion geschrieben:
procedure BitBltAlpha(DestDC: HDC; X, Y, Width, Height: Integer; SrcBmp: TBitmap; XSrc, YSrc: Integer);
var
lDst : TBitmap;
lPixelDst,
lPixelSrc : PRGBQuad;
lCountX,
lCountY : Integer;
lAlphaNeg : Byte;
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by SirThornberry,
16. Jul 2007
dafür muss
LBlendFunc.AlphaFormat := 0;
zu
LBlendFunc.AlphaFormat := AC_SRC_ALPHA;
werden. Das Bitmap muss dann natürlich auch 32bit Farbtiefe haben.
Es kann sein das Windows dabei noch irgendwas verbockt. Ich schau mir das mal an und poste notfalls noch meine eigene Routine (wobei die auch fix zusammengetippt ist).
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by SirThornberry,
13. Jul 2007
so kompliziert würde ich es mir gar nicht machen. Um es richtig flexibel zu halten braucht man nur die Markierung als Komponenten programmieren. Sobald sich dann die Maus über der Komponente befindet braucht man einfach nur ein zuvor zugewiesenes Bild (mit Alphakanal) einblenden, ansonsten einfach gar nix zeichnen.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by SirThornberry,
13. Jul 2007
eigentlich sollte das selbst programmieren kein Problem weiter sein. Die Markierung wird einfach nur ein Bild mit Alphamaske sein. Und nach Rechts hinn ist die Alphamaske eben transparenter.