1,848
社区成员
1.任务一:用『0』和『1』绘图
1.1.通过2进制『0』和『1』绘制喜欢的图案
1.2.绘画出自己的昵称
1.3.计算机存储图片文件的底层原理
把图片分成很小的点,比如 红色的点用一个数字表示,蓝色的用一个数字表示。图像文件存储的都是每一个像素对应的颜色值。
1、位图文件有两种存储像素数据的格式。16777216色(真彩色)的图像,一个像素的颜色可以用24位数据表示。256色的图像可以用调色板对颜色的信息进行编码,一个像素的值对应的是调色板的索引,而不是直接对应一个像素的颜色,调色板的索引映射为像素的颜色。
2、以一百万个像素,256种颜色的BMP文件在电脑上的存储为例。这个文件包括一个十四字节的文件首部,一个四十字节的信息首部,一个1024字节的颜色表,一兆字节的位图数据。文件首部的前两个字节由字符BM组成,还包括了文件长度和位图数据在文件中的起始位置。
3、文件的信息首部包含了图像的高、宽、颜色数等非图形数据。这个图像共有一百万个像素,一个像素需要八位的颜色信息,文件的这一部分的长度是一百万个字节,字节排放的顺序是自左到右从图像的最下面那行开始,这个文件的总大小是1001078字节。
作者:Alone
链接:https://www.zhihu.com/question/65771363/answer/391740385
来源:知乎
2.任务二:掌握进制编辑器
2.1修改文本内容
建立一个记事本并在记事本里输入CSDN这句话。
将建立的txt文件在Hex Editor Neo中打开
修改为cedn
2.2利用Hex Editor Neo修改图片
在Hex Editor Neo中打开图片
我选择的是8*8的纯白图片
将00改为ff图片变为黑色。
Png文件最开始的8个字节表示文件格式的定义。
十六进制数
含义
00 00 00 0d
文件头数据长度
49 48 44 52
数据块类型标志
00 00 00 08
图像宽度
00 00 00 08
图像高度
08
256色
06
表示索引图像
00
使用Deflate压缩编码压缩 图像数据
00
预留压缩方法
00
非隔行扫描
c4 0f be 8b
CRC字段
任务三:拓展任务-修改游戏存档:
先取个名字name1
在C盘下面点击查看然后在隐藏的项目前面打勾,然后你会发现这时C盘下面有ProgramData
找到C->ProgramData->PopCapGames->PlantsVsZombies(游戏名字)->userdata
User1
Users
可以观察到user1就是我们创建的角色,把第二关改成30关。
经过再次试玩获得金币发现08跟09下面的数据有变化,猜想金币是08和09控制金币
再往后改两个发现0a,0b也是金币上限
自测:
答:16进制0x4e2d对应的二进制为:100 1110 0010 1101将二进制编 码依次填入UTF-8编码方式的x中得:11100100 10111000 10101101.
7.如果要提供一个实时的流媒体服务器,除了ffmpeg,还需要使用哪个组件?
答:ffserver,ffplay。