如果说哪个风格既潮流,又复古,非“像素风”莫属。

其实认真观察的话我们的生活也正在被像素“包围”。它早就在不知不觉中嵌入了我们的生活,比如,红绿灯游戏服装、甚至连十字绣都是这些小格子构成的。

“像素”拼成历史

    “像素风”的历史其实源远流长,我们往上追溯,可以一直游

到西方文明的源头:古希腊时期。

那个时代的“镶嵌画”就是用各种颜色的小石子、玻璃片或陶瓷片镶嵌出来的图案。它还有另一个大家更熟悉的名字“马赛克”(Mosaic)。

像素知识

图片由像素组成,例如一张90x40的bmp(位图),就由90x40个像素组成。每个像素又由位(bit)组成,例如8bit、16bit、24bit,这个就是我们说的色深。计算机里的颜色一般用用得最普遍的RGB(红、绿、蓝)三色组成。现在用一个数值分别表示这三种颜色的亮度,例如范围为255,值越小就越黑,值越大就越亮,这样由3个0~255的数值混合可以组合成很多种颜色(这个叫做像素值,pixel)。这里就可以看到刚刚说范围是0~255,这样一种颜色就需要8bit(2^8),3种颜色就是24bit(3x8),这就是我们平常说的24色深。这样的颜色组合能够达到2^24=16777216种,已经达到人眼的分辨率极限。但是一般在嵌入式中,一般显示屏幕达不到这么高的颜色显示,现在一般带GUI的嵌入式产品的主流色深是16bit,就说分给RGB每个分量的位数不足8bit,这样有些颜色就会显示不出来。

小帅用来Java实现一下

实现方式

读取图片每一个像素,以及颜色的RGB,然后将每一像素画出一个圆形矩形并增加边框替换原有的图片内容。

效果图

上图原图  下效果图

裁剪局部后的图片

由一个个不同颜色小方块所组成的大图,是不是也有种朴素的美呢?

/*** Description 图片转像素风* ProjectName imagetool* Created by 小帅丶 on 2022-06-21* Version 1.0*/public class ImagePixelUtil {//间距5 比较像  像素风 可能图片越大 此值越大越像private static final int STEP = 5;/*** @Author 小帅丶* @Description 图片转像素风* @Date  2022/6/21 16:43* @param imagePath - 图片本地路径* @return java.awt.image.BufferedImage**/public static BufferedImage getPixelImage(String imagePath) throws Exception {return getPixelImage(imagePath,STEP);}/*** @Author 小帅丶* @Description 图片转像素风* @Date  2022/6/21 16:43* @param imagePath - 图片本地路径* @return java.awt.image.BufferedImage**/public static BufferedImage getPixelImage(String imagePath,int customStep) throws Exception {BufferedImage bi = ImageIO.read(new File(imagePath));int width = bi.getWidth();int height = bi.getHeight();int minX = bi.getMinX();int minY = bi.getMinY();BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);Graphics2D graphics = img.createGraphics();for (int i = minX; i < width; i = i + customStep) {for (int j = minY; j < height; j = j + customStep) {int pixelRGB = bi.getRGB(i, j);int red = (pixelRGB >> 16) & 0xff;int green = (pixelRGB >> 8) & 0xff;int blue = (pixelRGB >> 0) & 0xff;graphics.setColor(new Color(red, green, blue));//设置画笔的颜色//graphics.fillRect(i,j,k,k);//填充矩形graphics.fillRoundRect(i, j, customStep, customStep, -1, -1);//填充圆形矩形}}return img;}
}

微信扫码体验

【像素艺术】-【Java】【一键像素|马赛克】相关推荐

  1. 设计图像素和开发像素_游戏开发的像素艺术设计

    设计图像素和开发像素 Pixel art is a large part of the legacy of game development. Every Pokemon game up until ...

  2. 如何使用mtPaint制作像素艺术和GIF动画

    如果有诸如Rescue先生和Do n't Be Patchman (世界上第一个,也是唯一的SteamOS独家)之类的独立游戏展示的一件事,那就是复古很热. 具体来说,像素艺术很热. 开发人员之所以喜 ...

  3. CryptoPunks这样像素艺术为什么能依然流行?

    原文标题:<The Pixel Art Revolution Will Be Televised> 原文来源:Aidan Moher,作家,雨果奖获得者 原文编译:律动 0x21 NFT ...

  4. 像素/厘米与像素/英寸区别_像素/体素艺术入门指南

    像素/厘米与像素/英寸区别 Here's some resources I've found helpful so you can start learning pixel or voxel art ...

  5. 一位像素艺术家用39张动图,将大自然的唯美尽收眼底…

    Lioness 是一位像素艺术家,会制作 Gifs.icons.实体模型以及像素艺术教程等等.但其实,他的大部分精力集中在大自然灵感艺术,"Natural Palettes"便是其 ...

  6. java的像素与dpi_对屏幕的理解---分辨率,dpi,ppi,屏幕尺寸,像素 等

    1. 名词理解 屏幕尺寸(screen size) 屏幕尺寸(screen size),是屏幕的对角线长度,一般讲的大小单位都是英寸. DPI (dots per inch) dpi是(英文Dots ...

  7. JavaScript 编程精解 中文第三版 十九、项目:像素艺术编辑器

    十九.项目:像素艺术编辑器 原文:Project: A Pixel Art Editor 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 部分参考了<JavaScript ...

  8. 游戏像素教程_30个像素爱好者的优秀像素艺术教程

    如果您出生于90年代,我相信您已经见证了像素艺术的辉煌时代. 它存在于老式游戏平台 ,手机和其他数字设备上. 它是数年来主导数字世界的最伟大的技术发明之一,现在它又重新成为艺术家社区中的权威艺术形式. ...

  9. java声明像素的继承_15、Java语言的类间的继承关系是

    [判断题]中心原子中的几个原子轨道杂化时,必形成数目相同的杂化轨道. [填空题]3.在JAVA语言中,每个英文字符占 个字节,每个中文汉字占( )个字节. [填空题]在Java语言中,使用______ ...

最新文章

  1. eclipse中YAML文件编辑插件:Yaml Editor插件安装
  2. 【Docker】Asp.net core在docker容器中的端口问题
  3. python format函数保留两位小数_python format函数
  4. 添加文字 生成pdf_PDF 文件编辑方法和工具大全
  5. python scrapy框架爬虫_Python Scrapy爬虫框架
  6. Kvm虚拟化性能测试与性能优化实践
  7. 用FlexGrid做开发,轻松处理百万级表格数据
  8. 科技正在淘汰传统行业,这次的“倒霉鬼”是券商
  9. OPPO小布助手算法系统的探索、实践与思考
  10. 计算机屏保后无法再次启动,电脑开机一直停留在屏保 电脑问题的原因以及解决方法...
  11. 将Android Studio的设置恢复到初始化(清除所有的设置)
  12. c语言生成excel文件简书,iOS 生成Excel xlsx文件
  13. 论语读后感--论语与管理
  14. Excel如何如何比较两列同行内容是否一致
  15. 一条命令修复机械硬盘,提示需要格式化
  16. Vue+ .netcore3.1 模拟QQ邮箱发送验证码
  17. .net core 3.1 WebApi项目/Swagger支持二级目录
  18. yolov3网络(DarkNet53)结构详解以及Pytorch代码实现
  19. 「全网最细」接口测试怎么测?接口测试的流程和步骤
  20. iOS textfield 键盘弹出后不能切换中文键盘

热门文章

  1. 王者荣耀出婚纱了?最贵3.98万
  2. 计算机第一个网络叫什么,世界上第一个计算机网络称为( )
  3. (撤销)搬家通知!!!
  4. Android中两种selector选择器(背景,文字颜色)
  5. java游戏放哪个文件夹_L7游戏安装细则及简洁KJAVA文件夹页面
  6. 没有做过生意的老板,利用人性把濒临倒闭的面馆经营得红红火火
  7. Java学习十之接口和抽象类
  8. Boost 第十二章 并发编程
  9. java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.String
  10. Python教你爬取某团烤肉店铺数据信息并实现数据可视化,吃货还是更多的(内含完整代码)