如何移动 png
How to shift png
我的 PNG 图片似乎向下移动了 1 个像素(与它应该是的相比)。我认为这将是一个简单的修复(只需将图像向上移动一个像素),但我似乎无法将其向上拖动,因为底部没有额外的像素可以丢失。我可以切掉顶部多余的像素,但这样我的图像就会比需要的小一个像素。我的默认编辑器 MS Paint 甚至根本无法编辑它,因为它“太小而无法编辑:我们无法编辑任何小于 50 像素的东西。在尝试使用“Paint 3D”和我提供的各种在线编辑器大约一个小时后起来,到这里来。
如果有人知道在底部添加一行像素的任何方法也可以。
您可以在 Windows、macOS 和 Linux 上使用 ImageMagick,如下所示。我将使用带有红色单像素边框的图像。
从图像顶部切掉一行像素:
magick mogrify -gravity north -chop x1 image.png
从图像底部切掉一行像素:
magick mogrify -gravity south -chop x1 image.png
将一行黄色像素拼接到图像顶部:
magick mogrify -gravity north -background yellow -splice x1 image.png
将一行洋红色像素拼接到图像底部:
magick mogrify -gravity south -background magenta -splice x1 image.png
为了完整起见,从右侧切掉一列像素:
magick mogrify -gravity east -chop 1x image.png
然后,在右侧添加一列青色像素:
magick mogrify -gravity east -background cyan -splice 1x image.png
请注意,上面的所有命令都是“原位”完成的,这会覆盖输入图像,并且不必为输入和输出指定相同的文件名。它还允许您使用通配符来指定大量图像,如下所示:
magick mogrify -gravity north -chop x1 *.png *.jpg
但是,如果您想避免覆盖输入图像,请更改此格式:
magick mogrify -gravity north -chop x1 image.png
到这种处理单个输入图像并以不同名称保存结果的格式:
magick INPUT.PNG -gravity north -chop x1 OUTPUT.PNG
或者,如果您想一次处理大量图像,即使用 mogrify
和通配符,但不想覆盖原始图像,您可以使用 mogrify
并制作和使用输出目录:
mkdir OUTPUT
magick mogrify -path OUTPUT -gravity north -chop x1 *.png *.jpg
请注意,您可以将上面的 any/all 结合起来,所以如果您想从答案开头的原始图像开始,从顶部切下一条线并添加一条柠檬绿线在底部:
magick image.png -gravity north -chop x1 -gravity south -background lime -splice x1 result.png
您可以在 ImageMagick 中复制最后一行像素,然后将其附加到底部。
Unix 语法:
convert image.png \( +clone -gravity south -crop x1+0+0 +repage \) -append new_image.png
Windows 语法:
convert image.png ( +clone -gravity south -crop x1+0+0 +repage ) -append new_image.png
我的 PNG 图片似乎向下移动了 1 个像素(与它应该是的相比)。我认为这将是一个简单的修复(只需将图像向上移动一个像素),但我似乎无法将其向上拖动,因为底部没有额外的像素可以丢失。我可以切掉顶部多余的像素,但这样我的图像就会比需要的小一个像素。我的默认编辑器 MS Paint 甚至根本无法编辑它,因为它“太小而无法编辑:我们无法编辑任何小于 50 像素的东西。在尝试使用“Paint 3D”和我提供的各种在线编辑器大约一个小时后起来,到这里来。 如果有人知道在底部添加一行像素的任何方法也可以。
您可以在 Windows、macOS 和 Linux 上使用 ImageMagick,如下所示。我将使用带有红色单像素边框的图像。
从图像顶部切掉一行像素:
magick mogrify -gravity north -chop x1 image.png
从图像底部切掉一行像素:
magick mogrify -gravity south -chop x1 image.png
将一行黄色像素拼接到图像顶部:
magick mogrify -gravity north -background yellow -splice x1 image.png
将一行洋红色像素拼接到图像底部:
magick mogrify -gravity south -background magenta -splice x1 image.png
为了完整起见,从右侧切掉一列像素:
magick mogrify -gravity east -chop 1x image.png
然后,在右侧添加一列青色像素:
magick mogrify -gravity east -background cyan -splice 1x image.png
请注意,上面的所有命令都是“原位”完成的,这会覆盖输入图像,并且不必为输入和输出指定相同的文件名。它还允许您使用通配符来指定大量图像,如下所示:
magick mogrify -gravity north -chop x1 *.png *.jpg
但是,如果您想避免覆盖输入图像,请更改此格式:
magick mogrify -gravity north -chop x1 image.png
到这种处理单个输入图像并以不同名称保存结果的格式:
magick INPUT.PNG -gravity north -chop x1 OUTPUT.PNG
或者,如果您想一次处理大量图像,即使用 mogrify
和通配符,但不想覆盖原始图像,您可以使用 mogrify
并制作和使用输出目录:
mkdir OUTPUT
magick mogrify -path OUTPUT -gravity north -chop x1 *.png *.jpg
请注意,您可以将上面的 any/all 结合起来,所以如果您想从答案开头的原始图像开始,从顶部切下一条线并添加一条柠檬绿线在底部:
magick image.png -gravity north -chop x1 -gravity south -background lime -splice x1 result.png
您可以在 ImageMagick 中复制最后一行像素,然后将其附加到底部。
Unix 语法:
convert image.png \( +clone -gravity south -crop x1+0+0 +repage \) -append new_image.png
Windows 语法:
convert image.png ( +clone -gravity south -crop x1+0+0 +repage ) -append new_image.png