这次先上图

解决方案 »

  1.   

    重新上传,第一张被csdn裁剪了
      

  2.   

    我使用的渐变函数是GradientFill实现渐变,但这个当使用自定义图片时会产生明显的痕迹。
    我的渐变如图:
      

  3.   

    肯定不是执行一两次 GradientFill 就能实现这样的效果
    去研究一下OpenCV等图形处理算法吧
      

  4.   

    能说的再清楚点吗?OpenCV范围太大了吧。还不知道能不能实现呢?
      

  5.   

    你要是会用photoshop做简单的图像处理你就会清楚一个小国叫做边缘羽化
    一个建议的实现思路是从边缘想内一定距离开始绘制从透明到纯色的渐变
    这样绘制到边缘自然就和底色衔接上了
      

  6.   

    就是过渡
    完全透明就是你的背影图片
    完全不透明就是纯色填充了
    这样就完成了从你的图片到纯色的过渡
    你可以用photoshop之类的软件感受一下
    而且你注意
    你给我们看的这个酷狗的界面
    背景图是单一色系的
    你自己做的例子图片色彩较为丰富
    所以具体处理时可能效果不一定像酷狗这么柔和
      

  7.   

    [Quote=引用 8 楼  的回复:]引用 7 楼  的回复:你要是会用photoshop做简单的图像处理你就会清楚一个小国叫做边缘羽化
    一个建议的实现思路是从边缘想内一定距离开始绘制从透明到纯色的渐变
    这样绘制到边缘自然就和底色衔接上了我这个就是从边缘向内一段距离开始渐变的,然后到达图片边缘。但我这个函数不行,不知道该如何下手。
      

  8.   

    要透明色贴图,用TRANSPARENTBLT
    要通道混合贴图,用ALPHABLEND
    这是GDI中最简单快速的两个API。
    不需要了解什么DIB之类的知识,只需要了解如何调用参数就可以。