czesc!
chcialem zrobic ladnie wygladajace okienko: polprzezroczyste, czarne okienko a na nim bialy napis (ale juz nieprzezroczysty)... cos jak przy regulacji glosnosci w macu, tylko z napisem zamiast glosnika:
odpada zwykle ustawienie AlphaBlend formy, bo wtedy wszystko co na niej jest -czyli napis tez - bedzie polprzezroczyste.
kiedys sie bawilem robieniem graficznych form z png lub z bitmapy 32bit (z kanalem alfa).
niestety w tym przypadku dlugosc napisu i rozmiar formy musza sie zmieniac wiec to tez odpada.
pomyslalem ze zamiast ladowac ta bitmape narysuje ja na canvasie i uzyje reszty kodu odpowiedzialnego za zmienianie formy w "graficzna":
http://4programmers.net/Forum/277695
problem mam ze zmiana dwoch bitmap (jedna "normalna" a druga to maska dla przezroczystosci)
w jedna. niby zrobilem, dziala, ale jakos nie jestem z tego zadowolony:
{...}
combined:=TBitmap.Create;
with combined do
begin
Width := rgbBitmap.Width;
Height := rgbBitmap.Height;
PixelFormat := pf32bit;
for y := 0 to combined.Height-1 do
begin
LiniaA:=alphaBitmap.ScanLine[y];
LiniaRGB:=rgbBitmap.ScanLine[y];
Linia32:=ScanLine[y];
for x := 0 to combined.Width-1 do
begin
Linia32[x].rgbRed := MulDiv(LiniaRGB[x].rgbtRed, LiniaA[x], 255);
Linia32[x].rgbGreen := MulDiv(LiniaRGB[x].rgbtGreen, LiniaA[x], 255);
Linia32[x].rgbBlue := MulDiv(LiniaRGB[x].rgbtBlue, LiniaA[x], 255);
Linia32[x].rgbReserved := LiniaA[x];
end;
end;
end;
macie jakis pomysl jak to zoptymalizowac?