anh*_*aol 2 imagemagick extend
我想用ImageMagick将100x200图像调整为新的400x400图像.
到目前为止,我有以下命令:
convert in.png -resize^ 400x400 -compose Copy -gravity center -extent 400x400 out.png
Run Code Online (Sandbox Code Playgroud)
现在我想从in.png的顶部左侧像素中读取颜色,并将其设置为out.png的背景颜色.
有谁知道怎么做?
您可以像这样获得像素左上角(坐标:0,0)的颜色:
convert in.png -colorspace rgb -format "%[pixel:p{0,0}]" info:
Run Code Online (Sandbox Code Playgroud)
输出:
rgb(201,200,206)
Run Code Online (Sandbox Code Playgroud)
如果您使用的是OSX/Linux/Unix,则可以在变量中捕获它并使用它来设置背景,如下所示:
c=$(convert in.png -colorspace rgb -format "%[pixel:p{0,0}]" info:)
convert in.png -background "$c" ...
Run Code Online (Sandbox Code Playgroud)
那么,如果我们从这张图片开始:

这样做:
c=$(convert in.png -colorspace rgb -format "%[pixel:p{0,0}]" info:)
echo $c # Check that puppy's colour
rgb(255,0,0) # Yep, it's red
convert -background "$c" in.png -resize 400x400 -gravity center -extent 400x400 out.png
Run Code Online (Sandbox Code Playgroud)
我们会得到这个:

如果你不幸在Windows上,你将不得不做一些难以理解的东西FOR /F,你需要从这里自己解决.
| 归档时间: |
|
| 查看次数: |
3008 次 |
| 最近记录: |