工具示例:ImageMagick
PNG 格式支持多种预定义的文本块类型(如 tEXt, iTXt, zTXt),用于存储文本信息(如作者、版权、描述等)。这些数据块会被大多数图片查看器和编辑器保留。
| 1
2
3
4
5
 | # 添加文本元数据
convert input.png -set "Description" "这是附加的注释" output.png
# 添加多个字段(如作者、版权)
convert input.png -set "Artist" "John Doe" -set "Copyright" "2024" output.png
 | 
查看元数据
| 1
 | identify -verbose output.png
 | 
压缩
安装:
| 1
2
3
4
5
 | # Linux
sudo apt-get install pngquant
# macOS
brew install pngquant
 | 
用法:
| 1
 | pngquant --quality=80-90 input.png --output output.png
 | 
PNG 转 JPG
方法 1:使用 convert 命令(ImageMagick 工具)
  - 安装 ImageMagick(如果未安装):
    | 1
2
3
4
5
 | # Linux (Debian/Ubuntu)
sudo apt-get install imagemagick
# macOS (通过 Homebrew)
brew install imagemagick
 |  
 
 
- 单文件转换:
    | 1
 | convert input.png -background white -flatten output.jpg
 |  
 
 
      - -background white:将透明背景替换为白色(JPEG 不支持透明通道)。
- -quality 85:可选项,设置压缩质量(默认 92,范围 1-100)。
 
- 批量转换当前目录下所有 PNG 文件:
    | 1
2
3
 | for file in *.png; do
  convert "$file" -background white -flatten "${file%.png}.jpg"
done
 |  
 
 
方法 2:使用 ffmpeg
  - 安装 ffmpeg(如果未安装):
    | 1
2
3
4
5
 | # Linux (Debian/Ubuntu)
sudo apt-get install ffmpeg
# macOS
brew install ffmpeg
 |  
 
 
- 转换单个文件:
    | 1
 | ffmpeg -i input.png -q:v 2 output.jpg
 |  
 
 
      - -q:v 2:设置质量(值越小质量越高,范围 1-31)。
 
方法 3:使用 macOS 自带的 sips 命令
仅适用于 macOS 系统:
| 1
 | sips -s format jpeg input.png --out output.jpg
 | 
批量转换:
| 1
2
3
4
 | mkdir jpg_images  # 创建输出目录
for file in *.png; do
  sips -s format jpeg "$file" --out "jpg_images/${file%.png}.jpg"
done
 | 
常见问题
  - 保留原始尺寸和清晰度:默认会保持原图分辨率,如需调整尺寸可添加 -resize WIDTHxHEIGHT(例如-resize 800x600)。
- 透明背景处理:JPEG 不支持透明通道,务必使用 -background 颜色 -flatten填充背景色。
- 保留 EXIF 信息:默认会保留,如需清除可添加 -strip参数。
ffmpeg 命令备忘
播放原始 PCM 文件:
| 1
2
 | # 播放16kHz 单声道 16bit的 test.pcm 的PCM文件
ffplay -ar 16000   -f s16le -i  test.pcm
 |