目录

png 格式工具

ImageMagick、pngquant、ffmpeg 等 PNG 处理工具与常用命令

PNG 格式支持多种预定义的文本块类型(如 tEXtiTXtzTXt),用于存储作者、版权、描述等文本元数据。这些数据块会被大多数图片查看器和编辑器保留。

# 添加文本元数据
convert input.png -set "Description" "这是附加的注释" output.png

# 添加多个字段(如作者、版权)
convert input.png -set "Artist" "John Doe" -set "Copyright" "2024" output.png
identify -verbose output.png

安装:

# Linux (Debian/Ubuntu)
sudo apt-get install pngquant

# macOS (Homebrew)
brew install pngquant

用法:

pngquant --quality=80-90 input.png --output output.png

其中 --quality min-max 的两个值都位于 0-100 区间,pngquant 会尽量满足较大的质量值;若结果低于最小质量值,文件不会被保存。

  1. 安装 ImageMagick(如果未安装):

    # Linux (Debian/Ubuntu)
    sudo apt-get install imagemagick
    
    # macOS (Homebrew)
    brew install imagemagick
  2. 单文件转换

    convert input.png -background white -flatten output.jpg
    • -background white:将透明背景替换为白色(JPEG 不支持透明通道)。
    • -quality 85:可选项,设置压缩质量(默认 92,范围 1-100)。
    • 在 ImageMagick 7 中,-flatten 已被标记为过时,更推荐用 -alpha remove 替代,例如 convert input.png -background white -alpha remove output.jpg
  3. 批量转换当前目录下所有 PNG 文件

    for file in *.png; do
      convert "$file" -background white -flatten "${file%.png}.jpg"
    done
  1. 安装 ffmpeg(如果未安装):

    # Linux (Debian/Ubuntu)
    sudo apt-get install ffmpeg
    
    # macOS (Homebrew)
    brew install ffmpeg
  2. 转换单个文件

    ffmpeg -i input.png -q:v 2 output.jpg
    • -q:v 2:设置 JPEG 质量。数值越小质量越高,有效范围是 2-31(2 为最佳质量,31 为最低质量),通常取 2-5 即可获得较好的画质。

仅适用于 macOS 系统:

sips -s format jpeg input.png --out output.jpg

批量转换

mkdir jpg_images  # 创建输出目录
for file in *.png; do
  sips -s format jpeg "$file" --out "jpg_images/${file%.png}.jpg"
done

  1. 保留原始尺寸和清晰度:默认会保持原图分辨率,如需调整尺寸可添加 -resize WIDTHxHEIGHT(例如 -resize 800x600)。
  2. 透明背景处理:JPEG 不支持透明通道,务必使用 -background 颜色 -flatten(或 -alpha remove)填充背景色。
  3. 保留 EXIF 信息:默认会保留,如需清除可添加 -strip 参数。

播放原始 PCM 文件:

# 播放 16kHz 单声道 16bit 的 test.pcm
ffplay -ar 16000 -ac 1 -f s16le -i test.pcm
  • -ar 16000:采样率 16kHz。
  • -ac 1:单声道。
  • -f s16le:有符号 16 位小端(signed 16-bit little-endian)格式。

相关内容