欢迎光临:
  
  非常感谢您光临枕善居。本站是一个免费的基于VB,VB.NET源代码交流的平台,为大家提供优质的专业的源代码,如果您有需要,本站可以帮助在业余时间里给您寻找代码。当然,如果您有好的代码也可以在本站发布,共享给大家。
专业VB和.NET源码、编程开发教程、图标资源、USB电脑遥控器、智能家电控制开关....更多东东请进入我的淘宝小店--->
VB及.NET新源码2011(3DVD,控件+资源) 智能多路控制(串口编程开关) 带源码!


10-08
04

实现平滑实时图片旋转及透明缩放等

图片来自:
网站:枕善居VB及.NET源码博客
网址http://www.mndsoft.com/blog/

      这个代码演示了调用一个C语言编写的DLL如何旋转指定的图片(附C源代码),支持360度图片平滑旋转,掩码色改变,甚至可以调整图片透明度、亮度、色相、饱和度、大小缩放等图片常用的值。
     代码兼容Win98至Win7环境
     *修复: GetDC引起内存泄露
===============================================================兼容性:
Windows 98 - Windows Vista Windows7

兼容 dll 使用 Dev-C++ (或使用其他C编译器进行修改)
编译环境 Visual Basic 6.
===============================================================包含文件:

rotate.dev  -> C 工程文件 (使用 dev-C++打开)
rotate.dsw  -> C 工作文件 (使用 Visual-C++ 6 打开)
rotate.dsp  -> Visual C++ 6 工程文件
dllmain.c   -> 主要旋转函数
dll.h       -> 头文件 (函数原型)
cc.c        -> 辅助功能,颜色转换等
cc.h        -> 为辅助功能的头文件

hostapp.vbp -> Visual Basic 6 (VB6) 工程文件
form1.frm   -> VB6 窗口代码
form1.frx   -> VB6 窗口源文件

===============================================================函数参数:

Private Declare Function rotatedc Lib "rotate.dll" Alias "rotatedc@60" (ByVal aHDC As Long, ByVal Angle As Single, ByVal X As Long, ByVal Y As Long, ByVal W As Long, ByVal H As Long, ByVal PicDC As Long, Optional ByVal SrcX As Long = 0, Optional ByVal SrcY As Long = 0, Optional ByVal pScale As Single = 1, Optional ByVal TraspColor As Long = -1, Optional ByVal Alpha As Single = 1, Optional ByVal Hue As Single = 0, Optional ByVal Sat As Single = 1, Optional ByVal Lum As Single = 1) As Long

      aHDC : 目标设备上下文 (.hdc  picturebox 需要设 scalemode=pixels 和 autoredraw=true)
     Angle : 旋转角度值 (360 度 = 2*pi)
         X : 目标 X 坐标
         Y : 目标 Y 坐标
         W : 原始图片宽度
         H : 原始图片高度
      PicDC: 原始图片设备上下文 (.hdc picturebox 需要设 scalemode=pixels 和 autoredraw=true)
       SrcX: 原目标左上角矩形 X坐标 (从哪个位置复制. 复制位图局部时有用)
       SrcY:  原目标左上角矩形 Y坐标
    pScale :图片缩放值(用1为100%,0.5为50%,2为200%等)
TraspColor : 整数(3字节)表达RGB值的透明色
     Alpha :  0 和 1 用来表示是否透明
       Hue : 图像色调偏移量(色调就像光的波长的颜色)
       Sat : 饱和度
       Lum :亮度
以上为函数声明。
        
图片来自:
网站:枕善居VB及.NET源码博客
网址http://www.mndsoft.com/blog/
编程开发 网站美化专业精美图标(PNG,BMP,ICO格式,16x16到256x256全尺寸) 盒装4DVD,全国包快递

图片来自:
网站:枕善居VB及.NET源码博客
网址http://www.mndsoft.com/blog/
【VB和.NET专业源码+解决方案+数据字典DVD(全国包快递)】 代码清单 购买后可以享受认证VIP会员及免费获取破解控件补丁





回复回复it608 [2010-08-04 17:09:03 | del]
“查看更多...”的链接出错,建议居主检查一下
回复回复liuli131 [2010-08-04 18:56:38 | del]
强!
太强了 不过功能太强大的后果就是CPU都快爆了
我家配置不行..再大点的图片就会是个位的帧速度了
回复回复枕善居主 [2010-08-04 23:05:34 | del]
谢谢,正在想办法修复这个问题!
引用来自 it608 引用来自 it608
“查看更多...”的链接出错,建议居主检查一下
回复回复landy [2010-08-31 14:27:42 | del]
修正CPU占用过高的问题没有啊?

枕善居主 于 2010-08-31 15:59:56 回复
我这里测试CPU占用还可以,没有那么高哦
回复回复skdyu [2010-09-05 10:17:15 | del]
谢谢楼主,学一学,用一用
发表评论
您没有权限发表评论!