将图片转化为数据储存

本文介绍了如何将图片转化为二维数组以便于储存。通过理解二维数组的矩阵概念,探讨了计算机中线性储存高维数据的方式。使用Java的File和BufferedImage类读取图片,并通过ImageIO.read()方法处理图片,将其转化为二维数组,从而实现对图片的处理和绘制。
摘要由CSDN通过智能技术生成

之前写了图片的构成与图片重绘,接下来说说如何将图片转化为可以储存的数据。

数组

之前说的像素点的储存与重绘是有二维数组来完成的,同理,将任意图片储存也要将其转化为二维数组储存进计算机。

讲到二维数组,就简单介绍一下我所理解的二维数组。学过线性代数的小伙伴一个就知道二维数组是以矩阵或类似矩阵的形式存在的,如下就是一个4x4的二维矩阵。

 0,0,0,0
 0,0,0,0
 0,0,0,0

在计算机中储存的二维数组也是以这样的方式储存的吗?显然不是。如果二维是矩阵,那三维、四位等又该怎么储存?实际上,计算机的内存条的线性结构就决定了数据的储存也必然线性的。一维数组很好理解

int[] arg=new int[] {0,0,0,0,0,0,0};

一维整型数组里面每一个元素都是一个整形数。那么二维、三维甚至是更高维又该如何理解?二维数组有两个[ ],如下,可以先把[ ]与前面的数组名放一起暂时当一个数组名 arg[ ] ,然后数组名+[ ]也就是上面所说的一维数组了,不过这个“一维数组”中的每个素都是一维数组!可以理解就是多个一维数组构成的二维数组。同理,三维数组的数组名与前两个[ ] 组成一个特殊的一维数组,这个一维数组里面的元素是二维数组,这个二维数组中的元素又是一维数组,也就可理解为三维数组的元素是二维数组,二维数组里面有是一维数组。有点像俄罗斯套娃的意味。更高维的数组同样如此。

int[][] arg=new int[][] {
  {},{}};

简单展示一下一维数组和二维数组

    int[] 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值