代码很简单,就不解释了,演示VB如何实现两幅图片半透明叠加的效果。

Option ExplicitPrivate Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long) As Long Private Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long Private Declare Function AlphaBlend Lib "msimg32" (ByVal hDestDC As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal widthSrc As Long, ByVal heightSrc As Long, ByVal blendFunct As Long) As BooleanPrivate Sub Form_Load()Dim w As Long, h As LongDim Pic1 As StdPicture, Pic2 As StdPictureDim hMemDc1 As Long, hMemDc2 As LongDim hOldBmp1 As Long, hOldBmp2 As LongSet Pic1 = LoadPicture("c:/pic1.jpg")hMemDc1 = CreateCompatibleDC(Me.hdc)hOldBmp1 = SelectObject(hMemDc1, Pic1.Handle)Set Pic2 = LoadPicture("c:/pic2.jpg")w = Me.ScaleX(Pic2.Width, vbHimetric, vbPixels)h = Me.ScaleY(Pic2.Height, vbHimetric, vbPixels)hMemDc2 = CreateCompatibleDC(Me.hdc)hOldBmp2 = SelectObject(hMemDc2, Pic2.Handle)AlphaBlend hMemDc1, 0, 0, w, h, hMemDc2, 0, 0, w, h, 100 * &H10000DeleteObject SelectObject(hMemDc2, hOldBmp2)DeleteDC hMemDc2Set Pic2 = NothingSelectObject hMemDc1, hOldBmp1DeleteDC hMemDc1Set Me.Picture = Pic1Set Pic1 = Nothing End Sub

用VB实现两幅图片半透明叠加相关推荐

  1. OpenCV实践(4)- 叠加两幅图片

    1 目标 (1) 什么是线性混合,有什么用? (2) 怎样使用addWeighted混合两幅图像? 2 原理 详细的理论请参考计算机视觉:算法和应用一书. 这里我们直接应用其公式: 对于上面的公式,很 ...

  2. 两个半透明颜色色的叠加计算方法

    讲 Alpha 混合的文章太多了,我并非要说有什么新的更好的算法,而是这些 Alpha 混合的文章都是基于一种特定的现实应用:在背景色上叠加一个半透明色.而 OpenPainter 的需求更具一般性: ...

  3. 两个颜色叠加之后是什么颜色

    约定 这里只讨论显示器的颜色, 也就是加法混色算法 两个颜色叠加, 至少有一个颜色是有透明度的, 不然一点都不透明的话, 下面的颜色就看不见了 颜色模型是rgb模型, 为了简化计算, argb四个通道 ...

  4. opencv_python拉动进度条实现两幅图片融合及一幅图片自动平滑切换成另一张图片

    一.拉动进度条实现两幅图片融合: 主要函数:cv2.createTrackbar()相关参数 int createTrackbar(const string& trackbarname, co ...

  5. 两个div叠加触发事件发生闪烁问题

    今天遇到一个问题,想实现一个功能: 当鼠标移到div1上的时候,会出现div2.出现时div2在div1的上面,div2在出现后发生闪烁的问题. 于是开始找问题根源,发现原来是因为当我们触发div1的 ...

  6. 如何通过 C# 比较两幅图片的相似度?

    咨询区 Byyo 我在用 C# 实现一个可以查找重复图片的小工具,我目前是给每一个图片做一个 md5 码,然后通过 md5 值来判断图片是否相同. 但现实情况要复杂的多,比如: 图片被旋转了,比如:9 ...

  7. JAVA中 fastjson两个JSONArray叠加,合并 ,方法 addAll()

    JAVA中 fastjson两个JSONArray叠加,合并用addAll() package com.map;import com.alibaba.fastjson.JSONArray; impor ...

  8. html 事件重叠,两个div叠加触发事件发生闪烁问题的解决方法

    当鼠标移到div1上的时候,会出现div2.出现时div2在div1的上面,div2在出现后发生闪烁的问题. 于是开始找问题根源,发现原来是因为当我们触发div1的时候,div2出现,但是div2是存 ...

  9. Python绘制极化图时坐标轴的旋转及两散点图的叠加绘制

    Python绘制极化图时坐标轴的旋转及两散点图的叠加绘制 我的sen_angle是n*2的数组,第一列是卫星方位角,第二列是卫星天顶角,sun_angle第一列是太阳方位角,第二列是太阳天顶角. im ...

最新文章

  1. 《OpenCV3编程入门》学习笔记7 图像变换(一)基于OpenCV的边缘检测
  2. 同源策略禁止读取位于_用浏览器缓存绕过同源策略(SOP)限制
  3. Modeling System Behavior with Use Case(1)
  4. 机器学习(MACHINE LEARNING)MATLAB模拟排队论
  5. Mips KVM TrapEmulate implemented in Linux
  6. LeetCode 1615. 最大网络秩(出入度)
  7. 《程序设计技术》第三章例程
  8. AutoCAD2012从入门到精通中文视频教程 第16课 渐变填充,椭圆弧命令(个人收藏)
  9. 夏普电视出现android不动了,夏普电视常见故障问题分析与处理,电视机故障判断检修...
  10. Java框架面试题及答案
  11. double类型判断是否相等
  12. pycharm切换python环境_在PyCharm的 Terminal(终端)切换Python版本的方法
  13. WebRTC 音视频同步分析
  14. CDH集群中HDFS单点故障解决方案:HA模式(High Availability)
  15. OSPF 之 LSA限制
  16. 仿SDWebImage
  17. 贝尔商道赚钱思维36道第25道:流传千年的赚钱秘密
  18. 动态绑定和静态绑定详解
  19. Python可以自学吗?
  20. Excel行列数字字母转换实现

热门文章

  1. AB测试的介绍与实施
  2. restful什么意思_RESTful的真正含义是什么?
  3. wps office 2005:不得不用的14绝技
  4. 高性能MySQL -- 查询性能优化
  5. Flink系列文档-(YY02)-Flink编程基础-入门示例
  6. 动态软件测试是什么意思,什么是动态测试?
  7. 新建应用,应用创建失败
  8. 电商的1000+篇文章总结
  9. Cortex-M3概览
  10. .net 前台调用后台方法