易語言利用鼠標模擬點擊的方式實現自動畫圖的代碼

今天小編就爲大家分享一篇關於易語言利用鼠標模擬點擊的方式實現自動畫圖的代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

DLL命令表

.版本 2
.DLL命令 PostMessageA, 整數型, "user32.dll", "PostMessageA", , 如果函數調用成功,返回非零值:如果函數調用失敗,返回值是零
  .參數 hWnd, 整數型, , 其窗口程序接收消息的窗口的句柄
  .參數 Msg, 整數型, , 指定被寄送的消息
  .參數 wParam, 整數型, , 指定附加的消息特定的信息
  .參數 IParam, 整數型, , 指定附加的消息特定的信息

自動繪畫的代碼

此功能需要加載精易模塊5.6

.版本 2
.支持庫 spec
.支持庫 shell
.支持庫 BmpOperate
.程序集 窗口程序集_啓動窗口
.程序集變量 文件路徑, 文本型
.程序集變量 開始, 邏輯型
.子程序 __啓動窗口_創建完畢
窗口_熱鍵註冊 (取窗口句柄 (), 1, #A鍵, &_按鈕_繪畫_被單擊, 1)
.子程序 _按鈕_繪畫_被單擊
.局部變量 a, 整數型
.局部變量 b, 整數型
.局部變量 鼠標位置, 精易_座標
程序_延時 (2000, )
鼠標位置 = 鼠標_取位置 ()
調試輸出 (1)
開始 = 真
.計次循環首 (畫板1.寬度, a)
  .計次循環首 (畫板1.高度, b)
    .如果 (畫板1.取點 (a, b) = 0)
      程序_延時 (1)
      鼠標_移動 (, 鼠標位置.橫 + a, 鼠標位置.縱 + b)
      鼠標_按鍵 (1, 3)
    .否則
      鼠標_按鍵 (1, 4)
    .如果結束
    系統_處理事件 ()
    .如果真 (開始 = 假)
      跳出循環 ()
    .如果真結束
  .計次循環尾 ()
  .如果真 (開始 = 假)
    跳出循環 ()
  .如果真結束
.計次循環尾 ()
調試輸出 (2)
.子程序 _按鈕_載入_被單擊
通用對話框1.初始目錄 = 取特定目錄 (3)
通用對話框1.過濾器 = “PNG|*.png|JPG|*.jpg|BMP|*.bmp|JPGE|*.jpge”
通用對話框1.打開 ()
文件路徑 = 通用對話框1.文件名
畫板1.底圖 = 讀入文件 (通用對話框1.文件名)
畫板1.底圖 = 清除雜點 (二值化處理 (畫板1.取圖片 (, ), 150), 0)
.子程序 二值化處理, 字節集
.參數 圖片, 字節集
.參數 二值化值, 整數型
.局部變量 位圖, 位圖
.局部變量 x, 整數型
.局部變量 y, 整數型
.局部變量 RGB, 字節集
.局部變量 顏色值, 整數型
位圖.載入數據 (圖片)
.計次循環首 (位圖.取高度 (), y)
  .計次循環首 (位圖.取寬度 (), x)
    RGB = 到字節集 (位圖.取某點顏色 (x - 1, y - 1))
    顏色值 = (RGB [1] + RGB [2] + RGB [3]) ÷ 3
    .如果 (二值化值 < 顏色值)
      位圖.置某點顏色 (x - 1, y - 1, #白色)
    .否則
      位圖.置某點顏色 (x - 1, y - 1, #黑色)
    .如果結束
  .計次循環尾 ()
.計次循環尾 ()
返回 (位圖.取位圖數據 ())
.子程序 清除雜點, 字節集
.參數 圖片, 字節集, , 二值化後的圖片
.參數 清除強度, 整數型, 可空, 默認爲1
.局部變量 位圖, 位圖
.局部變量 x, 整數型
.局部變量 y, 整數型
.局部變量 x_, 整數型
.局部變量 y_, 整數型
.局部變量 i, 整數型
.局部變量 a, 整數型
.如果真 (是否爲空 (清除強度))
  清除強度 = 1
.如果真結束
位圖.載入數據 (圖片)
.計次循環首 (位圖.取高度 (), y)
  .計次循環首 (位圖.取寬度 (), x)
    .如果真 (位圖.取某點顏色 (x - 1, y - 1) = #黑色)
      a = 0
      .計次循環首 (8, i)
        x_ = 多項選擇 (i, 0, 1, 1, 1, 0, -1, -1, -1)
        y_ = 多項選擇 (i, -1, -1, 0, 1, 1, 1, 0, -1)
        .如果真 (位圖.取某點顏色 (x - 1 - x_, y - 1 - y_) = #黑色)
          a = a + 1
        .如果真結束
      .計次循環尾 ()
      .如果真 (a ≤ 清除強度)
        位圖.置某點顏色 (x - 1, y - 1, #白色)
      .如果真結束
    .如果真結束
  .計次循環尾 ()
.計次循環尾 ()
返回 (位圖.取位圖數據 ())
.子程序 反色處理, 字節集
.參數 圖片, 字節集
.局部變量 位圖, 位圖
.局部變量 x, 整數型
.局部變量 y, 整數型
.局部變量 RGB, 字節集
位圖.載入數據 (圖片)
.計次循環首 (位圖.取高度 (), y)
  .計次循環首 (位圖.取寬度 (), x)
    RGB = 到字節集 (位圖.取某點顏色 (x - 1, y - 1))
    位圖.置某點顏色 (x - 1, y - 1, 取顏色值 (255 - RGB [1], 255 - RGB [2], 255 - RGB [3]))
  .計次循環尾 ()
.計次循環尾 ()
返回 (位圖.取位圖數據 ())
.子程序 _按鈕_黑白_被單擊
畫板1.底圖 = 清除雜點 (二值化處理 (畫板1.取圖片 (, ), 150), 0)
.子程序 _按鈕_反色_被單擊
畫板1.底圖 = 反色處理 (畫板1.取圖片 (, ))
.子程序 _滑塊條1_位置被改變
調試輸出 (滑塊條1.位置)
畫板1.底圖 = 讀入文件 (文件路徑)
畫板1.底圖 = 清除雜點 (二值化處理 (畫板1.取圖片 (, ), 滑塊條1.位置), 0)

運行結果:

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對神馬文庫的支持。如果你想了解更多相關內容請查看下面相關鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章