我用GDI+显示带透明效果的BMP图片(图片本身带有透明效果。alpha通道),怎么显示出来透明的地方全是黑色的。我这样调用的:
    Graphics g(hdc);
    Image g_image((L"res\\imageTest10.bmp"));
    g.DrawImage(&g_image,0,0,width,height);
请问怎么弄。可以把图片的透明效果显示出来?

解决方案 »

  1.   

    弱弱的问下,BMP真能透明吗?不是png和gif才能吗
      

  2.   

    GDI+ 加载32位格式的图像 会默认设置格式为 PixelFormat32bppRGB ,也就是说她认为没有alpha,解决的办法是自己解析BMP。
      

  3.   

    GDI+ 加载32位的BMP图像. 修改下。
      

  4.   

    http://blog.csdn.net/qq867346668/article/details/6637892
      

  5.   

    还是用png吧,bmp又大又有这种奇怪的问题。
      

  6.   

    如果坚持用bmp,新建一个32位的bitmap,创建graphics,画上去,再在主dc创建的Graphics上画出这个bitmap。这个过程相当于gdi里面双缓冲,试试看吧
      

  7.   

    transparentblt 透明色设置黑色