使用RPA繪製素描圖

使用RPA繪製素描圖

1. 概要

在這篇文章中,將介紹使用RPA實施工具UiPath通過Microsoft Paint來畫出一張圖的素描版圖片。這個功能在實施項目的時候,可能會顯得雞肋,但是這不影響我們學習一些新技術,也可以通過這個案例,了解工具強大之處,以便日後慢慢探索更多有趣好玩的功能。

2. 基本知識點

在開始做這個Demo之前,我們需要了解電腦是如何保存圖片的。在普通的未壓縮點陣圖中,圖像存儲為一系列的點,也稱為像素。每個像素都是一個很小的點或正方形,每個像素都有顏色。然後將像素排列成一個圖案,形成一個圖像。所以可以通過在PS或者電腦自帶的畫圖工具中打開一幅圖片並放大,就可以很容易地看到像素。

每個像素都有一些屬性,比如它在圖像上的坐標位置,並且每個像素都有它的顏色,也就是從0到255的數值。

3. 思路分析

在這個Demo中,我們是想將一張顏色豐富的圖片轉換為只有黑白兩種顏色的素描圖,所以我們獲取到特定顏色的像素的位置坐標即可。我們將這些坐標點存儲在DataTable(可以理解為二維數組)中,然後通過循環遍歷出這個數組中的每個像素點坐標,並通過Click控制項在Microsoft Paint畫板上畫出想要的圖片。

4. 代碼實現

以下是完整的代碼實現,有需要的源碼的,也可以在後文章節中找到。

注意點:

  • 獲取像素點: bitmap.GetPixel(width,height)
  • 獲取特定顏色的像素: (pixel_coror_2.R <25 And pixel_coror_2.G <25 and pixel_coror_2.B <25)
  • 在給Click控制項設置屬性CursorPosition時,OffsetX和OffsetY需要使用int32位的數值,可以使用Convert.ToInt32(row(0).ToString)方法。

5. 測試

原圖

素描圖

原圖

素描圖

6. 代碼獲取

代碼已放在github上,有需要的小夥伴自行下載,順便點個Star再走:

sombie007/RPA?

github.com圖標

附 . 關於微信公眾號

公眾號ID:jsj201501

公眾號名稱:瞎說開發那些事

感謝您的關注和閱讀,希望這篇文章能為您帶來幫助。

歡迎轉載與分享,也請註明出處。

如果您有需要了解的關於Java開發、RPA的更多內容,請關注公眾號或頭條號,也可以給我留言或發郵件 (shexd1001@gmail.com)。

附2 . 關於RPA社區

社區地址:rpa4all.cn

社區title: RPA For All | RPA開發者社區

主要做撒子: RPA For All, 給RPA開發者提供經驗交流分享平台,RPA開發者尋找優質的學習資源,提供 更多的RPA技術內容分享,大家可以到這裡獲得更多關於 RPA 資訊、技術探討以及其他豐富技術內容,期待您的加入(再不來就涼了)......

再多說一句: 有興趣的朋友,可以聯繫我,一起建設社區,做更多有趣的事,也服務於更多的RPA愛好者。


推薦閱讀:

TAG:RPA機器人流程自動化 | 自動化 |