当前位置: 首页 > 科技观察

10年前被删的初恋,凌晨1点突然加了我...

时间:2023-03-12 18:57:47 科技观察

背景今天凌晨1点,有人突然加我qq,原来是我删掉的十年前的初恋。..因为之前在qq空间互动太多,所以QQ推荐的朋友经常推荐我们认识。。。尴尬的神秘同意好友申请后,我仔细看了她的所有QQ近十年的动态和照片。她变漂亮了,懂得打扮了。以前瘦弱的身材,现在的打扮和妆容,已经是超乎我认知的女神了。可我还是无所事事,身体逐渐臃肿,发际线不断上扬,每天努力工作,为生活奔波,依然穷困潦倒。用一句话来形容现在的心情就是:“你登上了更高的山,我只能看着你远去的背影。”她默默的点了根烟,把自己的美颜照片全都存了起来。嗯?我发现每张照片都是.png图片格式。png??png图片每天都在用,但是png到底是什么,它的压缩原理是什么?很好,接下来给大家讲解一下。什么是巴新?PNG的全称是PortableNetworkGraphics(便携式网络图形),是目前用于网络传输和显示的图像格式。原因如下:无损压缩:PNG图片是基于LZ77派生算法进行压缩,使得压缩比越高,文件体积越小,且不丢失数据。体积小:使用特殊的编码方式标记重复的数据,使相同格式的图片PNG图片文件的体积更小。由于网络通讯带宽受限,在保证图片清晰逼真的前提下,首选PNG格式图片。支持透明效果:PNG支持为原图定义256级透明度,使图像的边缘可以平滑地与任何背景融合,这是GIF和JPEG所不具备的。PNGTypePNG图片主要分为三种类型,分别是PNG8/PNG24/PNG32。PNG8:PNG8中的8其实是指8bits,相当于用2^8(2的8次方)来存储图片的颜色类型。2^8等于256,也就是说PNG8可以存储256种颜色,如果一张图片的颜色很少,设置成PNG8图片类型是很合适的。PNG24:PNG24中的24相当于3乘以8等于24,即用三个8bits分别表示R(红)、G(绿)、B(蓝)。R(0~255),G(0~255),B(0~255),可以表达256次256次256=16777216种颜色的图片,这样PNG24比PNG8的图片可以表示更多色彩的图片。但占用空间相对较大。PNG32:PNG32中的32相当于PNG24加上8bits透明色通道,相当于R(红)、G(绿)、B(蓝)、A(透明)。R(0~255)、G(0~255)、B(0~255)、A(0~255)。比PNG24多了一个A(透明度),也就是说PNG32可以表示和PNG24一样多的颜色,而且还支持256种透明色,可以表示更丰富的图像颜色类型。怎么说呢,总的来说,PNG8/PNG24/PNG32就相当于我们的屌丝心,把女神分为三类:一等女神=PNG8:屌丝和舔狗看到了会立马开心女神,满脸笑容,焦黑的印堂渐渐舒展开来,印证着那双眼睛,那是一种心跳加速的感觉。第二种女神=PNG24:第二种女神开始发力了,会给屌们一种菊花紧绷震耳欲聋的震撼。多接触第二种女神,可以让鸡巴每天都元气满满,延年益寿。三种女神=PNG32:在第三种女神面前,所有语言都是苍白的。是一种让屌丝看破的存在,双手双眼都向天一开。超凡脱俗和分身都不足以形容她一半的美。我只在梦里见过。哎……我的初恋,看她现在的照片,应该是PNG级别的24.PNG图片数据结构PNG图片的数据结构其实和http请求的结构很像。它是一个数据头后面跟着很多数据块,如下图所示:如果你用vim的视图编码模式打开一个png图片,它会是这样的:看到这一堆十六进制代码,是不是感觉和女神的心思?哥,你别慌,说实话,如果撩妹子就这么简单,那一堆乱码,哥早就是妻妾成群了。下面我就一一解释这串十六进制码的含义。89504e470d0a1a0a:这是PNG图像的标题。所有PNG图片的头部都是这串代码。图片软件通过这串代码判断文件是否为PNG格式图片。0000000d:是iHDR数据块的长度,为13。49484452:是数据块的类型,是IHDR,后面是data。000002bc:是图片的宽度。000003a5:是高度。Byanalogy,eachsegmentofhexadecimalcoderepresentsaspecificmeaning.Iwon’tanalyzetheothersonebyonebelow,therearetoomany,friends,checkitoutbyyourself.WhatkindofPNGimageismoresuitableforcompressingconventionalPNGimages,themoremonotonousthecolor,thelessthecolorvalue,thegreaterthecompressionrate,suchasthefollowingpicture:itisonlycomposedofredandgreen,if0isusedtorepresentred,and1isused代表绿色,那用数字表示这张图就是下面这个样子:000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111我们可以看到,这张图片是用了大量重复的数字,我们可以将重复的数字去掉,直接用数组形式的[0,1]candirectlyrepresentthispicture,andonlyusetwonumberstorepresentaverylargepicture,whichgreatlycompressesapngpicture.So!Themoresimplethecolor,thelessthecolorvalue,andthesmallerthecolordifference,thehigherthecompressionrateandthesmallerthesizeofthepngimage.PNGcompressionThecompressionofPNGimagesisdividedintotwostages:Prediction(Prediction):ThisstageistoperformapreprocessingonthePNGimage,whichmakesitmoreconvenientforsubsequentcompression.Toputitbluntly,sheisagoddess.Beforemakeup,shewillfirstapplyprimer,lotionandessencetofacilitatesubsequentmakeup,whitening,eyeshadow,lighting,etc.Compression:PerformDeflatecompression,whichcombinestheLZ77algorithmandtheHuffmanalgorithmtoencodepictures.Prediction(Prediction)Thepngimageispreprocessedwithdifferentialencoding(Deltaencoding)toprocessthevalueofeachchannelineachpixel.Thereareseveraltypesofdifferentialencoding:NofilterX-AX-BX-(A+B)/2(alsoknownastheaveragevalue)Paethinference(thisismorecomplicated)Assumethatapngpictureisasfollows:Thispictureisagradientthatgraduallyincreasesinred,anditsredcolorgraduallystrengthensfromlefttoright,andismappedintoanarrayThevalueis[1,2,3,4,5,6,7,8],ifusingX-Adifferentialencoding,itis:[2-1=1,3-2=1,4-3=1,5-4=1,6-5=1,7-6=1,8-7=1]Theresultis[1,1,1,1,1,1,1][1,1,1,1],1,1,1]Thisresulthasalargenumberofrepeatednumbers,whichisverysuitableforcompression.这就是为什么带有渐变、颜色值变化不大和单一颜色的图像更容易压缩的原因。差分编码的目的是尽可能将png图像数据值转化为一组重复的、低值,这样的值更容易被压缩。还需要注意的是,差分编码处理的是每个像素中每个颜色通道的值,R(红)、G(绿)、B(蓝)、A(透明)分别进行处理。压缩(Compression)压缩阶段会对预处理阶段得到的结果进行Deflate压缩,包括霍夫曼编码和LZ77压缩。前文提到,Deflate压缩会标记图片所有重复的数据,并记录数据特征和结构,得到一个压缩比为png的图片编码数据。Deflate是一种用于压缩数据流的算法。它可以用于任何需要流压缩的地方。还有,我们之前说过,一个png图片是由很多数据块组成的,但是数据块中的一些信息其实是没有用的。比如你用photoshop保存一张png图片,会有一个block记录“thispicturewascreatedbyphotoshop”,这些信息很多都是没用的,如果你用photoshop的“导出网页格式”,就可以去掉这些无用的信息。导出web格式前后的对比效果如下图所示:可以看到导出web格式后去掉了很多无用的信息后,图片明显小了很多。结论以上是我对png的理解。写得不好,像一个支离破碎的中老年人,杂乱无章。回想当年之所以和初恋分手,是怕影响学习。..但是分开之后,成绩还是很差。他们不仅错过了女神,而且直到现在,他们仍然一无所获。如今人到中年,背负着巨额房贷,家里还有孩子待养。看着在身边呼呼大睡的老婆,他忽然想到了。正如鲁迅所说:“爱情就像在海边捡贝壳,想捡贝壳就捡自己最喜欢的,最重要的是捡了就再也不会去海边了。”你喜欢什么。。。。。凌晨4点看完文章不知不觉睡着了,梦回十年前的那个夏天,我们都笑得很甜,看着你哭泣的脸,笑着说再见大部头书