问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个问题呢。

解决方案 »

  1.   

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

  2.   

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