网站首页 > 易语言相关 > 易语言模块源码 正文
图像处理和矩阵计算源码
@laizewei
.版本 2 .程序集 程序集1, , , ' 本源码来自三叶资源网(www.sanye.cx) .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码 _临时子程序 () ' 在初始化代码执行完毕后调用测试代码 返回 (0) ' 可以根据您的需要返回任意数值 .子程序 _临时子程序 ' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。 .子程序 数值_右移_ASM, 整数型, , 将某整数的数据位右移指定位数,返回移动后的结果。本命令为中级命令。 .参数 欲移动的整数, 整数型 .参数 欲移动的位数, 整数型 置入代码 ({ 139, 69, 8 }) ' 8B45 08 mov eax,dword ptr ss:[ebp+0x8] 置入代码 ({ 139, 77, 12 }) ' 8B4D 0C mov ecx,dword ptr ss:[ebp+0xC] 置入代码 ({ 211, 232 }) ' D3E8 shr eax,cl 置入代码 ({ 201 }) ' C9 leave 置入代码 ({ 194, 8, 0 }) ' C2 0800 retn 0x8 返回 (0) .子程序 GdipRotateAtMatrix, 整数型 .参数 matrix, 整数型 .参数 angle, 小数型 .参数 center_x, 小数型 .参数 center_y, 小数型, , ' 本源码来自三叶资源网(www.sanye.cx) .参数 order, 整数型 .局部变量 返回值, 整数型 .如果 (order = 0) 返回值 = GdipTranslateMatrix (matrix, center_x, center_y, order) 返回值 = GdipRotateMatrix (matrix, angle, order) 返回值 = GdipTranslateMatrix (matrix, -center_x, -center_y, order) .否则 返回值 = GdipTranslateMatrix (matrix, -center_x, -center_y, order) 返回值 = GdipRotateMatrix (matrix, angle, order) 返回值 = GdipTranslateMatrix (matrix, center_x, center_y, order) .如果结束 返回 (返回值) .子程序 数值_位异或_ASM, 整数型, , 如两个数值对应比特位的值不相等,则返回值的对应位就为1,否则为0 .参数 _参数1, 整数型 .参数 _参数2, 整数型 置入代码 ({ 139, 69, 8, 139, 77, 12, 51, 193, 201, 194, 8, 0 }) 返回 (0) .子程序 数组中间值, 整数型 .参数 参数1, 整数型, 数组 最快排序_整数 (参数1, 真) 返回 (参数1 [(取数组成员数 (参数1) + 1) \ 2]) .子程序 数值_位与_ASM, 整数型, , 如两个数值有某共同比特位为1,则返回值的对应位也为1,否则为0。返回计算后的结果。本命令为中级命令。 .参数 位运算数值一, 整数型 .参数 位运算数值二, 整数型 置入代码 ({ 139, 69, 8 }) ' 8B45 08 mov eax,dword ptr ss:[ebp+0x8] 置入代码 ({ 139, 77, 12 }) ' 8B4D 0C mov ecx,dword ptr ss:[ebp+0xC] 置入代码 ({ 33, 200 }) ' 21C8 and eax,ecx 置入代码 ({ 201 }) ' C9 leave 置入代码 ({ 194, 8, 0 }) ' C2 0800 retn 0x8 返回 (0) .子程序 最快排序_整数 .参数 排序的数组, 整数型, 参考 数组 .参数 从小到大排序, 逻辑型, 可空, 默认从小到大 .局部变量 基数, 整数型 .局部变量 i, 整数型 .局部变量 j, 整数型 .局部变量 新基索引, 整数型 .局部变量 栈起始点, 整数型, , "0" .局部变量 栈结束点, 整数型, , "0" .局部变量 栈指针, 整数型 .局部变量 起始点, 整数型 .局部变量 结束点, 整数型 .局部变量 数组总数, 整数型 .局部变量 随机种子, 整数型 数组总数 = 取数组成员数 (排序的数组) .如果真 (数组总数 = 0) 返回 () .如果真结束 从小到大排序 = 选择 (是否为空 (从小到大排序), 真, 从小到大排序) 随机种子 = 31 置随机数种子 (随机种子) 重定义数组 (栈起始点, 假, 数组总数) 重定义数组 (栈结束点, 假, 数组总数) 栈指针 = 1 起始点 = 1 结束点 = 数组总数 栈起始点 [1] = 起始点 栈结束点 [1] = 结束点 .判断循环首 (栈指针 > 0) 起始点 = 栈起始点 [栈指针] 结束点 = 栈结束点 [栈指针] 栈指针 = 栈指针 - 1 .如果真 (起始点 = 结束点) 到循环尾 () .如果真结束 i = 起始点 j = 结束点 变量交换_ASM (排序的数组 [起始点], 排序的数组 [取随机数 (起始点, 结束点)]) 基数 = 排序的数组 [起始点] .判断循环首 (真) .变量循环首 (j, i, -1, j) .判断开始 (从小到大排序 = 真) .如果真 (排序的数组 [j] < 基数) ' 从大到小 > ,从小到大 < 跳出循环 () .如果真结束 .默认 .如果真 (排序的数组 [j] > 基数) ' 从大到小 > ,从小到大 < 跳出循环 () .如果真结束 .判断结束 .变量循环尾 () .如果真 (j ≤ i) ' i 新基索引 = i 跳出循环 () .如果真结束 .变量循环首 (i, j, 1, i) .判断开始 (从小到大排序 = 真) .如果真 (排序的数组 [i] > 基数) ' 从大到小 < ,从小到大 > 跳出循环 () .如果真结束 .默认 .如果真 (排序的数组 [i] < 基数) ' 从大到小 < ,从小到大 > 跳出循环 () .如果真结束 .判断结束 .变量循环尾 () .如果真 (i ≥ j) ' j 新基索引 = j 跳出循环 () .如果真结束 变量交换_ASM (排序的数组 [j], 排序的数组 [i]) .判断循环尾 () 变量交换_ASM (排序的数组 [起始点], 排序的数组 [新基索引]) .如果真 (新基索引 > 起始点) 栈指针 = 栈指针 + 1 栈起始点 [栈指针] = 起始点 栈结束点 [栈指针] = 新基索引 .如果真结束 .如果真 (新基索引 < 结束点 - 1) 栈指针 = 栈指针 + 1 栈起始点 [栈指针] = 新基索引 + 1 栈结束点 [栈指针] = 结束点 .如果真结束 .判断循环尾 () .子程序 变量交换_ASM, , , 以变量和变量的交换方式,来交换两个变量数据,注意两变量要是相同类型的 .参数 变量1, 通用型, 参考, 变量;在某种情况下可以是数据 .参数 变量2, 通用型, 参考, 变量;在某种情况下可以是数据 置入代码 ({ 139, 69, 8, 139, 77, 12, 139, 16, 135, 17, 137, 16 }) .子程序 数组最大值, 整数型 .参数 参数1, 整数型, 数组 最快排序_整数 (参数1, 真) 返回 (参数1 [取数组成员数 (参数1)]) .子程序 数组最小值, 整数型 .参数 参数1, 整数型, 数组 最快排序_整数 (参数1, 真) 返回 (参数1 [1]) .子程序 取颜色值_ASM, 整数型, , RGB颜色 .参数 红色, 整数型 .参数 绿色, 整数型 .参数 蓝色, 整数型 .局部变量 ret, 整数型 置入代码 ({ 139, 69, 8, 139, 93, 12, 139, 77, 16, 193, 225, 16, 193, 227, 8, 11, 216, 11, 203, 137, 77, 252 }) ' mov eax,[ebp+8];R ' mov ebx,[ebp+12];G ' mov ecx,[ebp+16];B ' shl ecx,16 ' shl ebx,8 ' or ebx,eax ' or ecx,ebx ' mov [ebp-4],ecx 返回 (ret) .子程序 GetRGB_ASM .参数 rgb, 整数型 .参数 r, 整数型, 参考 可空 .参数 g, 整数型, 参考 可空 .参数 b, 整数型, 参考 可空 r = 数值_位与_ASM (rgb, 255) g = 数值_位与_ASM (数值_右移_ASM (rgb, 8), 255) b = 数值_位与_ASM (数值_右移_ASM (rgb, 16), 255) .子程序 COM_GUIDtoString2, 文本型, , StringFromGUID2 .参数 clsid, 字节集 .局部变量 str, 字节集 str = 取空白字节集 (78) StringFromGUID2_ (clsid, str, 78) 返回 (Encoder.W2A (str)) .子程序 COM_StringToGUID2, 字节集, , CLSIDFromString .参数 text, 文本型 .局部变量 clsid, 字节集 clsid = 取空白字节集 (16) CLSIDFromString2 (Encoder.A2W (text), clsid) 返回 (clsid) .子程序 ARGB2RGB_ASM, 整数型 .参数 ARGB颜色, 整数型 .参数 透明度, 整数型, 参考 可空 .局部变量 c, 整数型 .局部变量 a, 整数型 c = 0 a = 0 置入代码 ({ 139, 69, 8, 102, 139, 216, 193, 232, 16, 134, 195, 134, 101, 248, 193, 224, 16, 102, 139, 195, 137, 69, 252 }) ' add byte ptr [ebp+08h], al ' mov bx, ax ' shr eax, 10h ' xchg bl, al ' xchg byte ptr [ebp-08h], ah ' shl eax, 10h ' mov ax, bx ' mov dword ptr [ebp-04h], eax .如果真 (是否为空 (透明度) = 假) 透明度 = a .如果真结束 返回 (c) .子程序 RGB2ARGB_ASM, 整数型, , 汇编_RGB2ARGB .参数 color, 整数型 .参数 alpha, 整数型 .局部变量 r, 整数型 置入代码 ({ 139, 69, 8, 139, 93, 8, 139, 77, 8, 139, 85, 12, 193, 232, 16, 37, 255, 0, 0, 0, 193, 235, 8, 129, 227, 255, 0, 0, 0, 129, 225, 255, 0, 0, 0, 193, 226, 24, 193, 225, 16, 193, 227, 8, 11, 216, 11, 203, 11, 209, 137, 85, 252 }) ' mov eax,[ebp+8];R ' mov ebx,[ebp+8];G ' mov ecx,[ebp+8];B ' mov edx,[ebp+12];A ' shr eax,16 ' and eax,255 ' shr ebx,8 ' and ebx,255 ' and ecx,255 ' shl edx,24 ' shl ecx,16 ' shl ebx,8 ' or ebx,eax ' or ecx,ebx ' or edx,ecx ' mov dword ptr [ebp-4],edx 返回 (r)
- 上一篇: 系统服务模块易语言源码
- 下一篇: 【新人学习】按键精灵获取数字特征码实例详解
猜你喜欢
- 2019-06-18 易语言图像处理模块 + VC++ DLL 源码
- 2017-02-18 易语言图像处理算法源码,支持滑块,点字(固定底图)
你 发表评论:
欢迎- 百度站内搜索
- 关注微信公众号
- 网站分类
-
- 网站公告
- 电子书书籍
- 程序员工具箱
- 编程工具
- 易语言相关
- 网络相关源码
- 图形图像源码
- 系统工具源码
- 易语言模块源码
- 易语言支持库
- 数据库类源码
- 易语言例程
- 易语言游戏开发
- 易语言模块
- 多媒体类源码
- 易语言资源网
- 易语言视频教程
- JS分析教程
- 易语言图文教程
- 易语言常见问题及笔记
- 工具源码
- 易语言版本
- 网络编程
- javascript
- PHP编程
- html
- 正则表达式
- 面试题
- nodejs
- 其它综合
- 脚本专栏
- python
- 按键精灵相关
- 按键精灵图文教程
- 按键精灵视频教程
- 按键精灵Q语言
- 按键精灵安卓版
- golang
- 游戏安全
- 火山相关
- 火山安卓软件
- 火山常见问题及笔记
- 火山安卓源码
- 火山视频教程
- 火山PC版本下载
- 火山PC视窗例程
- 互联网那些事
- 引流推广
- 项目揭秘
- 网络营销
- 营销软件
- QQ营销软件
- 娱乐软件
- 机器人插件
- 培训教程
- 技术教程
- 活动线报
- 数据库
- Redis
- Access
- MongoDB
- Mysql
- 问答
- 其它
- 易语言
- 需求
- 在线教程
- 多线程培训班
- 觅风易语言教程
- 模拟系列教程
- 集中营易语言教程
- 历史数据
- 随机tag
已有1位网友发表了看法:
易语言教程站 评论于 [2019-07-19 08:56:36] 回复
图像处理和矩阵计算源码 易语言