png格式的图片怎么透明显示呢?????分不够再加~!!!搜了以前的帖子,只有将png转成bmp的方法。 png转成bmp后透明部分就变黑拉,而且那些png的阴影等效果都失真了。google上搜了一下,好像是windows对png支持的不好,但我用过一套软件Samurize确能完美的让png透明显示不失真。delphi深度论坛上的那个png控件 ‘pngsrc’偶装不上去,老缺什么tree.obj文件,用cbc编译里面的那个zlib文件夹里的cpp后可以安装,但看不到控件再哪,郁闷啊~~~哪位高手帮帮忙哦~~~~分不够再加~!!!

解决方案 »

  1.   

    用图形处理软件转换,比如Photoshop。
      

  2.   

    晕~ 用photoshop这样不行哦,理由:1,效果不好达不到要求,因为转换成bmp后随然可以有办法透明,但没有那种半透明效果了!!!达不到要求白搭啊:(   况且丧失了png透明 半透明的意义拉.2,太烦杂.
      

  3.   

    pngsrc,这种东西和JPEG的性质一样~~~JPEG是封装libjpeg,pngsrc是封装了pnglib,你直接uses相关单元就可以了,注册后所有基于TPicture的控件组件都可以获得对png格式的支持,这点和JPEG,TGifImage等一样...
      

  4.   

    To ehom(?!) :不行哦,提示tree.obj找不到:(
    我的具体操作如下,帮我看看吧:
    ---我在dephi的tools菜单里的library中设定好了指向pngsrc的路径.
       然后在unit里uses那个PngImage,编译提示 File not found:"tree.obj"
      

  5.   

    应该有个src目录吧?用Borland提供的32位C++编译器把里面对应的tree.c编译成中间文件tree.obj,如果没有去找套pnglib,把里面的tree.c找过来编译。把产生的中间文件tree.obj和其它obj文件放一起,再安装控件即可。
      

  6.   

    tree.c确实有哈,但是我不会编译,请问怎么编译啊,我装了cbc的
      

  7.   

    晕晕,编译pngsrc自带的例子通过了,但让我失望的是我载入的png的透明效果全没了,跟bmp一样了,就像我前面说的: png转成bmp后透明部分就变黑拉,而且那些png的阴影等效果都失真了。
    郁闷,高手想想办法哦,不会是没有方法实现png图像的透明半透明吧,可是人家又已经做到了,郁闷~~~~
      

  8.   

    没怎么用过BCB的IDE环境,但命令行模式绝对可以吧?切换到控制台模式下,通过Bin下bcc32执行bcc32 tree.c
      

  9.   

    delphi的设定透明的功能我认为是透过bmp的TransparentColor实现的,比如你设定TransparentColor为黑色,那么你的bmp画出来后凡是黑色的地方就透明(也就是说没画).
    但png的实现好像不同,好像它的alpha通道挺多设置的,需要打开:(
    所以用把png转成bmp再用bmp的方式实现透明一来效果极其不好,二来无法实现半透明:(
    所以高手们还有没有别的路走哦???????
      

  10.   

    你再看看,一般那个解析PNG的类都有可以设置的地方的,还有代码你也可以看看
      

  11.   

    难道没解决的办法嘛???
    晕~ 没有M$的支持难道就真的用不了png图片???