使用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再走:

https://github.com/sombie007/RPA/tree/master/Robot-Sketch%20Drawing

原文发布于微信公众号 - 瞎说开发那些事(jsj201501)

原文发表时间:2018-06-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Ceph对象存储方案

Luminous版本PG 分布调优

Luminous版本开始新增的balancer模块在PG分布优化方面效果非常明显,操作也非常简便,强烈推荐各位在集群上线之前进行这一操作,能够极大的提升整个集群...

3095
来自专栏芋道源码1024

熔断器 Hystrix 源码解析 —— 断路器 HystrixCircuitBreaker

本文主要基于 Hystrix 1.5.X 版本 1. 概述 2. HystrixCircuitBreaker 3. HystrixCircuitBreaker....

5287
来自专栏转载gongluck的CSDN博客

cocos2dx 打灰机

#include "GamePlane.h" #include "PlaneSprite.h" #include "BulletNode.h" #include...

5346
来自专栏飞扬的花生

jsencrypt参数前端加密c#解密

      写程序时一般是通过form表单或者ajax方式将参数提交到服务器进行验证,如何防止提交的请求不被抓包后串改,虽然无法说绝对安全却给非法提交提高了难度...

3859
来自专栏大内老A

The .NET of Tomorrow

Ed Charbeneau(http://developer.telerik.com/featured/the-net-of-tomorrow/) Exciti...

31210
来自专栏hbbliyong

WPF Trigger for IsSelected in a DataTemplate for ListBox items

<DataTemplate DataType="{x:Type vm:HeaderSlugViewModel}"> <vw:HeaderSlug...

4054
来自专栏我和未来有约会

Silverlight第三方控件专题

这里我收集整理了目前网上silverlight第三方控件的专题,若果有所遗漏请告知我一下。 名称 简介 截图 telerik 商 RadC...

3985
来自专栏pangguoming

Spring Boot集成JasperReports生成PDF文档

由于工作需要,要实现后端根据模板动态填充数据生成PDF文档,通过技术选型,使用Ireport5.6来设计模板,结合JasperReports5.6工具库来调用渲...

1.2K7
来自专栏一个爱瞎折腾的程序猿

sqlserver使用存储过程跟踪SQL

USE [master] GO /****** Object: StoredProcedure [dbo].[sp_perfworkload_trace_s...

2020
来自专栏杨龙飞前端

scrollto 到指定位置

2494

扫码关注云+社区