用Excel画像素画(内附源码,可直接下载)
Excel不止是一款电子表格软件,它还能画画。比如,日本一位七十多岁的老爷爷堀内辰男坚持十七年用Excel画画,创作了大量惊艳的作品,还获得了“Excel自动图形艺术大赛”冠军,其作品也被群马艺术馆收藏。
在豆瓣上还有一个话题叫”用Excel画一幅像素画”。
大家有兴趣可以看看,沙雕网友的动手能力还有脑洞总是让我自叹不如。
在佩服老爷子的耐心和艺术创造力的同时,在感叹网友怎么这么细心细致(闲得无聊)之后,我也在想,Excel话像素画的原理,其实是完全可以通过编程来实现的吧。
最直接最简单的就是VB了,当然码农们热爱的Python也是可以的,拿PIL和xlwings库写个程序。
我比较懒,直接用了MATLAB,读取函数创建Excel对象进行交互都很简单。在效率方面应该比Python的接口效率更高点。
我展示下最后完成的效果:
放个我分享到GitHub上的源码:
https://github.com/Hbxuan/PixelArtWithExcelByMATLAB
有需求的可以自取。
使用流程
1.第一步当然是,先下载啦。有安装了MATLAB软件的朋友可以直接下载main.m文件,或者打开之后复制粘贴代码,然后自己新建一个文件。
2.没有MATLAB的朋友也不用担心,我把程序打包成了一个exe文件,也就是下载链接里的main.exe。不过,下载之后如果要运行这个文件,还是需要在电脑上安装MATLAB Runtime。
下载链接在这:https://ww2.mathworks.cn/products/compiler/matlab-runtime.html
3.下载之后,有MATLAB的怎么运行不用我多说了吧。运行exe文件也很简单,直接双击打开就行。不过启动的时候有点慢。
4.然后选择图片文件,一定要是图片哦。
5.选择完之后,就是输入自己所需要的像素画的大小,输入之后你就能看着Excel文件自动在你眼前打开,然后自动画画。
一般来说像素大小越小,分辨率越低,就越像像素画。
比如说,我这个原图是大小是700*700像素,下面是我分别画成100*100和300*300时候的样子:
之后有运行遇到问题的都可以跟我沟通。
留言就行,我会及时回复的。
(售后满分)
摸鱼是人类进步的根源。 ----沃寄几朔德
[已注销]
校验提示文案
老木曾雪菜
校验提示文案
摸鱼小李
校验提示文案
值友3868695158
错误: 对象返回了错误代码: 0x800A03EC
出错 main (line 83)
handle.Range(range1).Interior.Color=hex2dec([b,g,r]);
图片像素5000x104130 第一行跑完,就报错了 大佬求教
校验提示文案
值友3868695158
错误: 对象返回了错误代码: 0x800A03EC
出错 main (line 83)
handle.Range(range1).Interior.Color=hex2dec([b,g,r]);
图片像素5000x104130 跑完第一行 ,就报83行出错了 求教大佬
校验提示文案
值友6956516565
未定义与 'uint8' 类型的输入参数相对应的函数 'imresize'。
出错 main (line 34>
I=imresize(I,[str2double(answer{1}>,str2double(answer{2}>]>;
校验提示文案
值友7214306216
校验提示文案
值友7214306216
校验提示文案
值友6956516565
未定义与 'uint8' 类型的输入参数相对应的函数 'imresize'。
出错 main (line 34>
I=imresize(I,[str2double(answer{1}>,str2double(answer{2}>]>;
校验提示文案
值友3868695158
错误: 对象返回了错误代码: 0x800A03EC
出错 main (line 83)
handle.Range(range1).Interior.Color=hex2dec([b,g,r]);
图片像素5000x104130 跑完第一行 ,就报83行出错了 求教大佬
校验提示文案
值友3868695158
错误: 对象返回了错误代码: 0x800A03EC
出错 main (line 83)
handle.Range(range1).Interior.Color=hex2dec([b,g,r]);
图片像素5000x104130 第一行跑完,就报错了 大佬求教
校验提示文案
摸鱼小李
校验提示文案
老木曾雪菜
校验提示文案
[已注销]
校验提示文案