delphi中的工具栏toolbar,上面的toolbutton,调用imagelist中的bmp图片1.为什么粉色的底色的图片显示在toolbutton上之后会过滤掉底色呢?2.delphi是否支持png格式的透明图片。3.delphi中支持哪些格式的图像呢?例如16色、256色、24位、32位等格式。

解决方案 »

  1.   

    D7 可以支持,下载一个PNG第三方控件就可以了
      

  2.   

    你手动把PNG转换成BMP就成了,下载插件别人维护你的程序时还要下载这个插件
      

  3.   


    主要是考虑透明效果啊,bmp不支持透明效果 。
      

  4.   

    有很多控件也有透明的属性啊,,Transparent=trueBMP也支持透明的哦。
      

  5.   


    bmp透明的条件是什么呢?比如,一个bmp上面有多重颜色,如何确定哪种颜色被过滤掉而透明显示呢?
      

  6.   

    Transparent,TransparentMode,TransParentColor,控制背景透明,具体我也不怎么清楚
      

  7.   

    对于image控件和Toolbar控件,只找到Transparent属性,没找到TransparentMode和TransParentColor属性测试了一下位图支持透明显示,但如果边缘处有过度色,则会出现锯齿现象,所以图像的边缘处的颜色要跟背景色明显地区别开来。
    对于背景色的确定,貌似delphi并没有限制,黑色、白色、亮粉色等都可以,可能delphi是根据图片的像素值来自动计算得出背景色的。
      

  8.   

    把同一张图片通过20次不同的颜色修改后,调入image中,测试发现,delphi是根据像素值来自动计算背景色的,在计算过程中,分布在四个边上的像素的颜色,对确定背景颜色的权重最大。测试图形如下图所示
      

  9.   

    换头像了,旺旺贝贝PS技术不错,现在才看到是你的帖子最好是能把你测试的代码和图片发我也研究下看看:[email protected]学习了解下!
      

  10.   


    在工具栏的Toolbutton中调用imagelist中ico文件,结果底色为白色。
      

  11.   

    更正一下我在9楼的结论。
    delphi的image控件支持对bmp图像的透明处理。以图片左下角像素点的颜色为透明颜色。