使用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 条评论
登录 后参与评论

相关文章

来自专栏腾讯社交用户体验设计

[ISUX译]响应式图像 - 腾讯ISUX

921
来自专栏偏前端工程师的驿站

语义化HTML:i、b、em和strong标签

一、前言                             在HTML4.1中i和b作为表象标签分别表示斜体和粗体样式,而强调样式与内容分离的XHTML中...

2109
来自专栏前端菜鸟变老鸟

Sprite 从PS切图到具体实现完整过程

811
来自专栏Material Design组件

Human Interface Guidelines —— Image Views & Maps & Pages

3167
来自专栏PPV课数据科学社区

《用地图说话》之:十字绣中国热力数据地图

作图思路: 准备一块300*300小单元格组成的区域,对照地图图形,在每个省图形范围内的单元格填入该省的数据,然后对这些单元格应用条件格式->色阶,就形成了一幅...

2983
来自专栏练小习的专栏

SVG图形绘制入门第一弹

之前很长一段时间,我是不重视SVG的,认为他就是在AI里画画,然后导出来做个矢量图标。直到我在上家公司遇到图表的绘制,因为不会写不得已而拿插件实现,而插件绘制的...

2627
来自专栏大数据风控

如何在R中绘制热力地图

一、首先绘画出地图map 地图(map) 按一定的比例运用符号、颜色、文字注记等描绘显示地球表面的自然地理、 行政区域、社会经济状况的图形。 地...

32710
来自专栏小古哥的博客园

CSS3边框图片-像素虚边的问题

虽然CSS3新增了这个功能,但是在W3school里面并没有给出具体详细的解释,还好网上不乏大神给你我们很全面的解释其中的原理-css3:border-imag...

2414
来自专栏理论坞

【教程】复古电影海报效果设计

2、新建一个图层命名cloud,用吸管工具吸取人像上最暗地方的颜色,选择滤镜—渲染—云彩,如下。

652
来自专栏IMWeb前端团队

利用canvas实现一个抠图小工具

利用canvas实现一个抠图小工具 0 前言 作为新一代的前端开发工程师,PS抠图切图已经不是必备技能了,我们有UI/交互/视觉等更专业的设计同学帮我们做这个事...

3725

扫码关注云+社区