我寫了一個小程式,其中用到了4個完全重疊在一起的TImage控制元件,模擬4個圖層(類似Photoshop的圖層的概念),在不同的圖層上畫不同的內容,現在有兩個問題:
1、如何設定TImage的canvas,才能保證其背景是透明的;
2、清除后如何保證其背景繼續透明;
uj5u.com熱心網友回復:
1、放一個Panel設定它的大小和位置;2、在Panel中,放4個Image疊放在一起,
Image4 <— 最上層
Image3
Image2
Image1 <— 最下層
3、設定Image屬性:
Image4.Transparent := True;
Image4.Stretch := True;
......
Image1.Transparent := True;
Image1.Stretch := True;
4、IMage清除圖片
Image1.Picture.Assign(nil);
5、
Image4
Image3
Image2
Image1 分別讀入影像,只能看到Image4的影像
6、顯示不同層影像
(1)
Image4.Picture.Assign(nil); 看到Image3的影像
(2)
Image4.Picture.Assign(nil);
Image3.Picture.Assign(nil); 看到Image2的影像
(3)
Image4.Picture.Assign(nil);
Image3.Picture.Assign(nil);
Image2.Picture.Assign(nil); 看到Image1的影像
(4)
Image4.Picture.Assign(nil);
Image3.Picture.Assign(nil);
Image2.Picture.Assign(nil);
Image1.Picture.Assign(nil); 無影像
說的夠清楚了,自己試試。
uj5u.com熱心網友回復:
pngimage控制元件uj5u.com熱心網友回復:
#1的方法文不對題。1. 樓主的要求是圖層透明,不是切換圖層顯示的問題。
2. 切換圖層顯示可以簡單的 xxx.BringToFront,不需要釋放影像。
uj5u.com熱心網友回復:
Image幾層中背景透明,只能使用Png影像,控制元件也是要支持Png的。例如:PngImage下載:http://download.csdn.net/detail/zwd183335/5029010
uj5u.com熱心網友回復:
標準的TImage也可以背景透明,它是使用的鍵控色技術,也就是指定一種顏色為key color,影像中凡是顏色為key的區域都是透明的。具體說就是TImage.Transparent、TBitmap.Transparent、TBitmap.TransparentColor、TBitmap.TransparentMode這幾個屬性。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/61657.html
標籤:VCL組件開發及應用
下一篇:發郵件問題
