比如我的bmp图背景为蓝色,此bmp图中央有一红色的饼,我点Picture装载此图后,蓝色背景自动去掉了,只有红色的饼了,这正是我需要的效果,但我的此bmp图是要动态加载的,如:
Image1.Transparent := true;
      Image1.Picture.LoadFromFile('c:\test.bmp');
//或Image1.Picture.Bitmap.LoadFromFile('c:\test.bmp');
      //Image1.Picture.Bitmap.TransparentColor := clTeal;
      //Image1.Refresh;
这样,蓝色背景就去不调了,怎么办?也就是说此image1不透明了.郁闷.忘高手指点.

解决方案 »

  1.   

    只能去悼你图最上方,最左方,也就是0,0的哪个像素的颜色的为透明色,如果你的图是24Bit的哪很难看得到,你用256色试一下就知道了。
      

  2.   

    用api函数处理吧,怎末改都行
      

  3.   

    nhdj(无名) 说的对,背景改为白色就可以了.程序中只能去白色背景,但通过点击picture属性装载的就可以去其他色背景,怪了.
      

  4.   

    同意hch_45(HCH ~ahong.net~)   Image1.Picture.LoadFromFile('E:\Projects\Icons\_Normal\About.bmp');
      Image1.Transparent := True;
      Image1.Picture.Bitmap.TransparentColor :=
        Image1.Picture.Bitmap.Canvas.Pixels[Image1.Picture.Bitmap.Width - 1, Image1.Picture.Bitmap.Height - 1]; //透明色为右下角那个点
      //Image1.Picture.Bitmap.TransparentColor :=
        Image1.Picture.Bitmap.Canvas.Pixels[0, 0]; //透明色为左上角那个点