如何使用图像魔术一般转换图像

How to use image magick to generically convert images

我想转换带有通用扩展名的图像,我有这个:

cat "" | convert 'jpeg:-' -resize '64x64' - | gsutil cp - "gs://images.xxx.com/${sha_sum}-64x64-${file_without_folder}"

以上作品。但是如果我省略 'jpeg:-' 它将不起作用。有没有一种方法可以通用地转换任何文件类型?也许我需要 'jpeg:-' 以便 image magick 知道文件编码类型是什么?有没有办法让 image magick 自动检测编码?

我想这样做:

cat "" | convert -resize '64x64' - | gsutil cp - "gs://images.xxx.com/${sha_sum}-64x64-${file_without_folder}"

这样无论文件类型(编码类型)如何,我都可以上传图片。

可以,但仍需指定输入流:

cat "" | convert - -resize '64x64' - | gsutil cp - "gs://images.xxx.com/${sha_sum}-64x64-${file_without_folder}"

我假设这是一个最小的示例,您确实需要从标准输入中读取图像;如果没有,直接指定图片即可:

convert "" -resize '64x64' - | gsutil cp - "gs://images.xxx.com/${sha_sum}-64x64-${file_without_folder}"

请注意,并非所有格式都可以从流数据中检测到。使用

identify -list format

查看可以读取的类型