龙空技术网

Excel VBA画图——今日配图(周杰伦)

雕虫小技工 105

前言:

今天朋友们对“vba编程画图”大致比较着重,同学们都想要了解一些“vba编程画图”的相关文章。那么小编在网摘上汇集了一些关于“vba编程画图””的相关资讯,希望朋友们能喜欢,朋友们快快来学习一下吧!

Excel VBA画图——今日配图(周杰伦)

今天的图片是在Excel里显示的,但并不是直接插入的图片,而是每个单元格作为一个像素,用其背景色组合出来的图片。打开Excel文件,缩放到合适比例,可以看到全图,是不是很奇妙。

EXCEL表格

这个实际是用VBA程序实现的,只有大约30行代码,确实很简单。

首先我们要有个原始图片,这里要用到Windows下的标准24位BMP图片——

原图

保存为bmp格式

像素数别太大,要不转换 出来就太慢了,电脑性能不好也会死机。

Excel文件中,最简单的是加入个按钮,启动程序。程序首先用Application.GetOpenFilename,调用系统的打开文件对话框,指定bmp文件。网络常见的图片一般用JPEG或PNG,需要转换一下,最方便是用Windows中的画图,另存一下bmp格式,24位色彩。

然后读取文件数据,保存到数组中。

下面需要确定bmp图片的行列数,具体要了解一下bmp的格式标准,包括文件头的信息。行列数确定后,还要注意图片宽度不是4的倍数的话,需要补齐,也是bmp格式的特性决定的。

最后就是画图了,把数组里的数据,按照行列顺序,用RGB()函数转为单元格的Interior.color属性,即涂上对应像素的颜色,就完成了图片的转换。

然后可以把单元格的大小改为正方形,尽量调小,就可以显示出完整图片了。

Excel文件已上传网盘,请关注WX公众号“雕虫小技工”,发送“bmp”获取下载链接。(原图片来源于网络)

标签: #vba编程画图