Biraz şaşırıyorum, sadece bana mı yoksa TSpeedButton'ın glifine bir kaynaktan görüntüyü aşağıda gösterildiği gibi çirkin bir siyah anahat olmadan atayamaz mısınız?Bir TSpeedButton glifinin çevresindeki iğrenç anahatları kaldırmak mümkün mü?
Tam olarak TImage bileşeni için aynı şekilde atadım ve sonucu gerekli alıyorum.
Uzunca bir süredir araştırıyorum ama hiç kimse bu tuhaf ve can sıkıcı bir soruna sahip gibi görünmüyor.
procedure TForm3.Button1Click(Sender: TObject);
var r : tresourcestream; png : tpngimage;
begin
r := tresourcestream.CreateFromID(hinstance,34,'cardimage');
png := tpngimage.Create;
png.LoadFromStream(r);
png.AssignTo(image1.Picture.bitmap);
png.AssignTo(speedbutton1.glyph);
png.Free;
r.Free;
end;
34 türü zaten tahmin değil eğer resimde gösterilen görüntüye ilgilidir 'cardimage' imgesi geçerli:
İşte aşağıdaki formu için benim kaynak kod.
sorun alfa olduğu açıkça: Örneğin,
http://privat.rejbrand.se/speedbuttonalpha.png
bir kısmi çözücü ön-harman PNG resmi için üretir Sol resimde kanal göz ardı edilir. –
Genel olarak, 'Y.AssignTo (X)' değil, 'X.Assign (Y)' yi çağırmalısınız. "TX", bir "TY" den nasıl elde edildiğini bilmiyorsa, otomatik olarak "Y.AssignTo (X)" diyerek "TY" ye ertelenecektir. Fakat 'TY' kendini bir TX'ye nasıl atayacağını bilmiyorsa, hedef nesneyi ertelemez. –