已打磨 发表于 2025-1-9 11:22:24

怎么用易语言写一个ICo图标的转换工具


低调npc 发表于 2025-2-3 20:23:25

.版本 2

.子程序 _按钮1_被单击
.局部变量 n, 整数型
.局部变量 色差1, 整数型
.局部变量 色差2, 整数型
.局部变量 色差3, 整数型
.局部变量 忽略字符, 整数型
.局部变量 循环次数, 整数型
.局部变量 读取位置, 整数型

.如果 (图片框1.图片 = {})
    信息框 (“请先加入需要生成的图片”, 0, )
.否则
    图片 = 快照 (图片框1.取窗口句柄 (), 尺寸, 尺寸)
    忽略字符 = 54
    中间字节集 = {}
    .如果 (选择框3.选中 = 真)
      透明色R色 = 图片 [取字节集长度 (图片) - 2]
      透明色g色 = 图片 [取字节集长度 (图片) - 1]
      透明色b色 = 图片 [取字节集长度 (图片)]
    .否则

    .如果结束
    循环次数 = (取字节集长度 (图片) - 54) ÷ 3
    .计次循环首 (循环次数, n)
      读取位置 = 忽略字符 + (n - 1) × 3 + 1
      .如果 (细致程度 = 0)
            中间字节集 = 中间字节集 + 到字节集 (图片 [读取位置]) + 到字节集 (图片 [读取位置 + 1]) + 到字节集 (图片 [读取位置 + 2]) + { 255 }
      .否则
            色差1 = 图片 [读取位置] - 透明色R色
            色差2 = 图片 [读取位置 + 1] - 透明色g色
            色差3 = 图片 [读取位置 + 2] - 透明色b色
            .如果 (色差1 ≤ 细致程度 且 色差1 ≥ -细致程度)
                .如果 (色差2 ≤ 细致程度 且 色差2 ≥ -细致程度)
                  .如果 (色差3 ≤ 细致程度 且 色差3 ≥ -细致程度)
                        中间字节集 = 中间字节集 + 到字节集 (图片 [读取位置]) + 到字节集 (图片 [读取位置 + 1]) + 到字节集 (图片 [读取位置 + 2]) + { 0 }
                  .否则
                        中间字节集 = 中间字节集 + 到字节集 (图片 [读取位置]) + 到字节集 (图片 [读取位置 + 1]) + 到字节集 (图片 [读取位置 + 2]) + { 255 }
                  .如果结束

                .否则
                  中间字节集 = 中间字节集 + 到字节集 (图片 [读取位置]) + 到字节集 (图片 [读取位置 + 1]) + 到字节集 (图片 [读取位置 + 2]) + { 255 }
                .如果结束

            .否则
                中间字节集 = 中间字节集 + 到字节集 (图片 [读取位置]) + 到字节集 (图片 [读取位置 + 1]) + 到字节集 (图片 [读取位置 + 2]) + { 255 }
            .如果结束

      .如果结束



    .计次循环尾 ()
    处理后字节集 = 头字节集 + 中间字节集 + 尾字节集
    图片框2.图片 = 处理后字节集

.如果结束


低调npc 发表于 2025-2-3 20:24:06

.版本 2

.子程序 _按钮保存_被单击

.如果 (图片框2.图片 = {})

.否则
    通用对话框1.类型 = 1
    通用对话框1.默认文件后缀 = “图片文件(*.ico)|*.ico”
    通用对话框1.过滤器 = “图片文件(*.ico)|*.ico”
    通用对话框1.打开 ()
    .如果 (通用对话框1.文件名 = “”)

    .否则

      写到文件 (通用对话框1.文件名, 图片框2.图片)
    .如果结束

.如果结束

页: [1]
查看完整版本: 怎么用易语言写一个ICo图标的转换工具