P pino Unregistered / Unconfirmed GUEST, unregistred user! 2000-08-26 #2 不用API的方法,用Timage和Timagelist实现 procedure TForm1.FormCreate(Sender: TObject); begin Image1.Transparent:= true; ImageList1.Draw(Image1.Canvas, 0, 0, 0); end;
不用API的方法,用Timage和Timagelist实现 procedure TForm1.FormCreate(Sender: TObject); begin Image1.Transparent:= true; ImageList1.Draw(Image1.Canvas, 0, 0, 0); end;
W wlq Unregistered / Unconfirmed GUEST, unregistred user! 2000-08-26 #3 關于位圖的透明顯示﹐首先要獲得原位圖的掩碼位圖﹐即﹐要顯示的部分變為黑﹐要透明的變 為白﹐再與背景位圖AND﹐再將掩碼位圖取反﹐再與圖案位圖AND﹐最后把此位圖與背景位圖 OR操作﹐就好了。。。好麻煩的說
關于位圖的透明顯示﹐首先要獲得原位圖的掩碼位圖﹐即﹐要顯示的部分變為黑﹐要透明的變 為白﹐再與背景位圖AND﹐再將掩碼位圖取反﹐再與圖案位圖AND﹐最后把此位圖與背景位圖 OR操作﹐就好了。。。好麻煩的說
老 老屯 Unregistered / Unconfirmed GUEST, unregistred user! 2000-08-28 #4 Delphi自带的源程序中有, 比如TSpeedButton处理Glyph, TImage的Transperant属性 处理Glyph背景是取得左上角的颜色作为背景颜色,然后屏蔽掉这个颜色. 你可以把你特指 的颜色用相同的方法屏蔽掉
Delphi自带的源程序中有, 比如TSpeedButton处理Glyph, TImage的Transperant属性 处理Glyph背景是取得左上角的颜色作为背景颜色,然后屏蔽掉这个颜色. 你可以把你特指 的颜色用相同的方法屏蔽掉
D dear Unregistered / Unconfirmed GUEST, unregistred user! 2000-08-28 #5 看到了吧:位图有一个属性TransparentColor pBitmap- >TransparentColor= pBitmap- > Canvas- >Pixels[2][2]; 这是以以位图[2][2]处的象素的颜色为透明色。
看到了吧:位图有一个属性TransparentColor pBitmap- >TransparentColor= pBitmap- > Canvas- >Pixels[2][2]; 这是以以位图[2][2]处的象素的颜色为透明色。
X xiongjz Unregistered / Unconfirmed GUEST, unregistred user! 2000-08-31 #8 用函数BrushCopy Canvas.BrushCopy(MyRect, Bitmap, MyRect, Transparentcolor); MyRect:图片所在的区域:Rect(x0,y0,x1,y1 ) Bitmap:属性为TBitmap Transparentcolor:透明色
用函数BrushCopy Canvas.BrushCopy(MyRect, Bitmap, MyRect, Transparentcolor); MyRect:图片所在的区域:Rect(x0,y0,x1,y1 ) Bitmap:属性为TBitmap Transparentcolor:透明色
C cat.yy Unregistered / Unconfirmed GUEST, unregistred user! 2000-08-31 #9 在TBitmap中有这样的属性: * Transparent 指定位图是否为透明模式(true/false),这时某种颜色将不被绘制 从而可以 看到其背面的图画。透明色取决于TransparentMode和TransparentColor的设置 * TransparentMode --------------------------------------------------------- 取 值 | 意 义 --------------------------------------------------------- tmAuto | 透明色为Bitmap左下角象素的颜色 --------------------------------------------------------- tmFixed | 透明色为TransparentColor中指定的颜色 --------------------------------------------------------- * TransparentColor 当TransparentMode设为tmFixed时(设为tmAuto时,不管它) 你可以写 *.bitmap.TransparentColor := clBlue; //指定蓝色为透明色 等
在TBitmap中有这样的属性: * Transparent 指定位图是否为透明模式(true/false),这时某种颜色将不被绘制 从而可以 看到其背面的图画。透明色取决于TransparentMode和TransparentColor的设置 * TransparentMode --------------------------------------------------------- 取 值 | 意 义 --------------------------------------------------------- tmAuto | 透明色为Bitmap左下角象素的颜色 --------------------------------------------------------- tmFixed | 透明色为TransparentColor中指定的颜色 --------------------------------------------------------- * TransparentColor 当TransparentMode设为tmFixed时(设为tmAuto时,不管它) 你可以写 *.bitmap.TransparentColor := clBlue; //指定蓝色为透明色 等
C cHengyAng Unregistered / Unconfirmed GUEST, unregistred user! 2000-08-31 #10 最简最有效方法:把图片左下角(即坐标[0,height])的颜色定义为白色,然后把该image 的Transparent设为True,答案出来了,如果定义该点为红色,则透明色为红色,明白了吗?