问题:有两张图片image1、image2。 
      用vb调用PH对象,先要将图片image1透明度修改为30%(举例),然后再将图片image2载入到image1,与修改后的image1合并图层。输入图片。
      不知道可不可以实现?请高人指点。

解决方案 »

  1.   

    肯定可以的,刚发现photoshop对象的强大,大部分在ps中的操作都可以用代码来完成的,只是photoshop对象的方法属性太多了,不知道怎么用 -_-!!
    如果能像Office中那样录制完宏立刻就能看到代码就好了。
    楼主可以在VB中添加photoshop对象的引用后,打开对象浏览器窗口自己研究一番,这几个操作应该不是很难。
      

  2.   

    如果只是要做到这个效果的话,只要使用这个API就可以了:
    TranslateBitmapBits
    定义:
    Declare Function TranslateBitmapBits Lib "mscms.dll" (ByRef THTRANSFORM As Long, pvoid As Any, ByVal pBmformat As Struct_MembersOf_BMFORMAT, ByVal dword As Long, ByVal dword As Long, ByVal dword As Long, pvoid As Any, ByVal pBmformat As Struct_MembersOf_BMFORMAT, ByVal dword As Long, ByRef TPBMCALLBACKFN As PBMCALLBACKFN, ByVal lparam As Long) As Long
      

  3.   

    自己用Aplha算法写就行了,很方法的.这里给一个简易算法.50%透明
    r = r1/2 + r2/2
    g = g1/2 + g2/2
    b = b1/2 + b2/2
    50%以下
    r = r1 - r1/ALPHA + r2/ALPHA
    g = g1 - g1/ALPHA + g2/ALPHA
    b = b1 - b1/ALPHA + b2/ALPHA
    50%以上
    r = r1/ALPHA + r2 - r2/ALPHA
    g = g1/ALPHA + g2 - g2/ALPHA
    b = b1/ALPHA + b2 - b2/ALPHA