使用技巧 -- apng 动画 PNG 图片格式相关工具

技术用户 -- 使用技巧

apng 是一种动画图片格式,用多张 png 格式图片合成而成。

该格式目前已经被大部分浏览器支持,在网页打开或者用浏览器打开本地 apng 格式文件,都可以看到动画。 但是在本地用图片查看软件,一般只能够看到第一帧。

下面用从微信群接收的户外照片为例,简单介绍下 apng 的图片在 铜豌豆 Linux 下的制作过程。

以下命令均在 命令行终端下进行: 先一次性安装好接下来需要使用的程序软件包:

apt install imagemagick pngcrush optipng pngnq apngasm apng2gif

  1. 微信群图片格式处理
  2. 从微信群接收 5 张照片,另存到一个目录下。按期望的动画图片顺序,按数字重命名为 1.png 至 5.png。 照片均需要同样尺寸大小,同样方向拍摄。用同一个手机连拍的照片就可以。 Linux 版本微信有时候会把 jpg 格式照片后缀名设置为 png,但是这些照片,实际是 jpg 格式,需要把格式转换为 png 格式。

    用 file 命令查看照片文件的真正格式:
    file 1.png
    1.png: JPEG image data, JFIF standard 1.01, aspect ratio, density 192x192, segment length 16, Exif Standard: [TIFF image data, big-endian, direntries=4, xresolution=62, yresolution=70, resolutionunit=2], baseline, precision 8, 1960x1200, components 3

    用 convert 命令转换格式: convert 1.png 1.png.png
    转换后再次用 file 命令查看:
    file 1.png.png
    1.png.png: PNG image data, 1960 x 1200, 8-bit/color RGB, non-interlaced
  3. 无损压缩 png 格式
  4. 转换后的 png 格式照片文件比较大,可以用 pngcrush optipng 命令进行无损压缩。
    	
     optipng 1.png.png
    ** Processing: 1.png.png
    1960x1200 pixels, 3x8 bits/pixel, RGB
    Input IDAT size = 871632 bytes
    Input file size = 872646 bytes
    
    Trying:
      zc = 9  zm = 8  zs = 1  f = 5		IDAT size = 866215
                                   
    Selecting parameters:
      zc = 9  zm = 8  zs = 1  f = 5		IDAT size = 866215
    
    Output IDAT size = 866215 bytes (5417 bytes decrease)
    Output file size = 866917 bytes (5729 bytes = 0.66% decrease)
    
    	
    pngcrush 1.png.png 1.png
      Recompressing IDAT chunks in 1.png.png to 1.png
       Total length of data found in critical chunks            =    866272
       Best pngcrush method        =  10 (ws 15 fm 6 zl 9 zs 1) =    904347
    CPU time decode 0.177599, encode 1.402171, other 0.004450, total 1.593382 sec	 
    
  5. 有损压缩 png 格式
  6. 如果在无损压缩 png 格式后,图片尺寸还是比较大,可以继续进行有损压缩。
    运行 pngnq 1.png,会生成一个名为 1-nq8.png 的新文件。
  7. 合成 apng 动画文件
  8. 对上述照片经过同样的压缩处理后,会得到名为 1-nq8.png 至 5-nq8.png 的五张照片。 把这些照片重新改名为 1.png 至 5.png,然后运行:

    apngasm apng.png 1.png -z2 8

    最后生成的 apng.png 文件就是动画图片

  9. 打开 apng 文件
  10. 在命令行运行 firefox apng.png 可以用火狐浏览器打开图片,可以看到动画。

    把动画文件放到网站上,直接打开效果如下:

  11. apng 文件转换为 gif 格式
  12. 运行 apng2gif apng.png, 会生成 apng.gif GIF 格式的动画文件。
    apng2gif yts-x-z2-8.png 
    
    apng2gif 1.8
    
    Reading 'yts-x-z2-8.png'...
    5 frames.
    295045 colors.
    Wu quantization...
    Writing 'yts-x-z2-8.gif'...
    all done
    

《铜豌豆 Linux》官网二维码
《铜豌豆 Linux》官网二维码
版权所有 © 《铜豌豆 Linux》 项目网站版权协议为(CC BY-NC-ND 4.0)