小涛

2022-05-09 来自 小米11

#易语音 截取局域图片#

.版本 2
.支持库 BmpOperate

.子程序 小涛_截取图片, 字节集, , 精易 图片_取图片区域 升级版
.参数 原图, 字节集
.参数 x1, 整数型, , 左边
.参数 y1, 整数型, , 顶边
.参数 x2, 整数型, , 右边
.参数 y2, 整数型, , 顶边
.局部变量 对象, 对象
.局部变量 位图, 位图, , "2"
.局部变量 新宽度, 整数型
.局部变量 新
.版本 2
.支持库 BmpOperate

.子程序 小涛_截取图片, 字节集, , 精易 图片_取图片区域 升级版
.参数 原图, 字节集
.参数 x1, 整数型, , 左边
.参数 y1, 整数型, , 顶边
.参数 x2, 整数型, , 右边
.参数 y2, 整数型, , 顶边
.局部变量 对象, 对象
.局部变量 位图, 位图, , "2"
.局部变量 新宽度, 整数型
.局部变量 新高度, 整数型
.局部变量 点阵大小, 整数型
.局部变量 点阵字节集, 字节集
.局部变量 后图, 字节集

新宽度 = x2 - x1 + 1
新高度 = y2 - y1 + 1
位图 [1].载入数据 (原图)
.如果真 (位图 [1].取位深度 () ≠ 24)
    对象.创建图片对象 (原图)
    位图 [1].载入数据 (对象.取回图片 ())
.如果真结束
位图 [2].创建 (新宽度, 新高度, 24, )
位图 [1].复制到 (x1, y1, 新宽度, 新高度, 位图 [2], 0, 0, )
后图 = 位图 [2].取位图数据 ()
点阵大小 = (新宽度 × 3 + (4 - 新宽度 × 3 % 4) % 4) × 新高度
点阵字节集 = 到字节集 (点阵大小)
后图 = 字节集替换 (后图, 35, 取字节集长度 (点阵字节集), 点阵字节集)
返回 (后图)

#易语言##图片##e##字节集#

展开
0
0
103

小涛

2022-05-04 来自 小米11

#易语音 图片多点比色#

.版本 2

.子程序 小涛_多点比色, 逻辑型
.参数 主图, 字节集
.参数 代码, 文本型, , 格式 0|6|77C0EB,0|0|77C0EB
.局部变量 颜色数组, 文本型, , "0"
.局部变量 i, 整数型
.局部变量 临时_X, 整数型
.局部变量 临时_Y, 整数型
.局部变量 临时_RGB, 字节集
.局部变量 临时_主图, 字节集
.局部变量 找到次数, 整数型

找到
.版本 2

.子程序 小涛_多点比色, 逻辑型
.参数 主图, 字节集
.参数 代码, 文本型, , 格式 0|6|77C0EB,0|0|77C0EB
.局部变量 颜色数组, 文本型, , "0"
.局部变量 i, 整数型
.局部变量 临时_X, 整数型
.局部变量 临时_Y, 整数型
.局部变量 临时_RGB, 字节集
.局部变量 临时_主图, 字节集
.局部变量 找到次数, 整数型

找到次数 = 0
临时_主图 = 图片_到24位图 (主图)

颜色数组 = 分割文本 (代码, “,”, )
' 调试输出 (取数组成员数 (颜色数组))
.计次循环首 (取数组成员数 (颜色数组), i)
    临时_X = 到整数 (文本_取左边 (颜色数组 [i], “|”))
    临时_Y = 到整数 (文本_取出中间文本 (颜色数组 [i], “|”, “|”))
    临时_RGB = 字节集_十六进制到字节集 (文本_取右边 (颜色数组 [i], “|”))
    .如果真 (取字节集长度 (临时_RGB) = 3)
        .如果真 (图片_取像素RGB (临时_主图, 临时_X, 临时_Y, 临时_RGB [1], 临时_RGB [2], 临时_RGB [3]))
            找到次数 = 找到次数 + 1
        .如果真结束

    .如果真结束

.计次循环尾 ()
.判断开始 (找到次数 ≥ 到数值 (取数组成员数 (颜色数组) × 0.9))
    返回 (真)
.默认
    返回 (假)

#易语言##图片##e##字节集#

展开
0
0
113