问2个问题:如何实现TButton半透明显示?如何实现在已经载入PNG图的TImage上写文字

时间:2023-01-09 06:04:30
问2个问题:如何实现TButton半透明显示?如何实现在已经载入PNG图的TImage上写文字。

var png : TPngObject;
··
img_tile := TImage.Create(GroupBox2);
img_tile.Picture.Assign(png); //载入1张带有透明的PNG图

img_tile.Canvas.TextOut(0,0,'tt'); //运行时候这行出错,提示can only modify image if it contains bitmap.

这个里面没有位图··。

如何解决这2个问题呢。

4 个解决方案

#1


该回复于2012-03-19 09:45:37被版主删除

#2


首先要说的是,TButton不具备这个属性,就算设置了让控件有半透明显示的属性,实际上效果也不行,一般要实现半透明,都要自己绘制实现,获得底图,然后绘制上去,然后融合。
至于第二个问题
如何实现在已经载入PNG图的TImage上写文字
可以用Png加载了图片之后,用png.Canvas.TextOut
写上文字,然后Image刷新就行了
至于你用的那个报错,建议你去看看TImage源码中的Canvas的指向,自然明了!

另建议,碰到问题,何妨去追追问题的根源,看看VCL内部的东西!

#3


问2个问题:如何实现TButton半透明显示?如何实现在已经载入PNG图的TImage上写文字路过学习了………………

#4


1.D自带的button控件不可以设置透明
2.TImage只有加载bmp图片才可画

#1


该回复于2012-03-19 09:45:37被版主删除

#2


首先要说的是,TButton不具备这个属性,就算设置了让控件有半透明显示的属性,实际上效果也不行,一般要实现半透明,都要自己绘制实现,获得底图,然后绘制上去,然后融合。
至于第二个问题
如何实现在已经载入PNG图的TImage上写文字
可以用Png加载了图片之后,用png.Canvas.TextOut
写上文字,然后Image刷新就行了
至于你用的那个报错,建议你去看看TImage源码中的Canvas的指向,自然明了!

另建议,碰到问题,何妨去追追问题的根源,看看VCL内部的东西!

#3


问2个问题:如何实现TButton半透明显示?如何实现在已经载入PNG图的TImage上写文字路过学习了………………

#4


1.D自带的button控件不可以设置透明
2.TImage只有加载bmp图片才可画