如题,请教如何进行图象叠加?并保存窗口中的图象要求:
(1)一个图片为前景,一个为背景,要求将前景图象映射到背景指定不规则区域中,但要保持背景的纹理及褶皱信息;
(2)如何将完成的窗口绘图区域保存下来。请高手指教。

解决方案 »

  1.   

    有点难,可以考虑使用OPENGL函数,设置alpha通道参数来进行。绘图区域好像可以通过屏幕抓图进行。网上看到国类似的例子自己没用过。楼主可以查查
      

  2.   

    用CXIMAGE吧,里面带有图层操作
      

  3.   

    pixelMixed = n% * pixelBackground + (1 - n%) * pixelForegroung
      

  4.   

    我这个是基于位图的,但算法思想与其它的格式基本相同。图像叠加,其实质就是对应位置的像素值的叠加,之后再对其进行规范化(因为两个BYTE型数值相加之和可能大于一个BYTE所能表示的范围,规范化就是将其统一到一个BYTE的范围内)。我的公式是这样的:pixelMixed(叠加后的像素值) = n%(透明度) * pixelBackground(背景像素值) + (1 - n%) * pixelForegroung(前景像素值)透明度n%:为零时表示不透明,此时图像值就等于前景值;为1时表示100%透明,此时图像值等于背景值。这个用不了什么库,算法就是这个公式。至于类,我是自己参照MSDN中的DIBLook中的CDib来写的。叠加运行的效果与PhotoShop的图层透明度的效果一致,不知你是否是要这个效果?