Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用ImageMagick分割巨大的PNG图像文件_Image_Split_Imagemagick_Png_Crop - Fatal编程技术网

使用ImageMagick分割巨大的PNG图像文件

使用ImageMagick分割巨大的PNG图像文件,image,split,imagemagick,png,crop,Image,Split,Imagemagick,Png,Crop,我有巨大的图像PNG文件屏幕截图,滚动尺寸为1280x99835像素。我想将此文件拆分为1783像素高的平铺 在Windows 10上尝试使用ImageMagick-7.0.8-Q16,内存为32 GB,命令为: "C:\Program Files\ImageMagick-7.0.8-Q16\magick.exe" convert out7.png -verbose -crop 1280x1783 tiles%03d.png 这只生成11个文件(应为55个文件),并在19613像素左右停止(文

我有巨大的图像PNG文件屏幕截图,滚动尺寸为1280x99835像素。我想将此文件拆分为1783像素高的平铺

在Windows 10上尝试使用ImageMagick-7.0.8-Q16,内存为32 GB,命令为:

"C:\Program Files\ImageMagick-7.0.8-Q16\magick.exe" convert out7.png -verbose -crop 1280x1783 tiles%03d.png
这只生成11个文件(应为55个文件),并在19613像素左右停止(文件为99835像素),没有错误:

out7.png=>tiles%03d.png[0]png 1280x99835=>1280x1783 1280x19196+0+0 8位sRGB 29.579MiB 1.109u 0:00.456
out7.png=>tiles%03d.png[1]png 1280x99835=>1280x1783 1280x19196+0+1783 8位sRGB 29.579MiB 1.578u 0:00.658
out7.png=>tiles%03d.png[2]png 1280x99835=>1280x1783 1280x19196+0+3566 8位sRGB 29.579MiB 2.109u 0:00.854
out7.png=>tiles%03d.png[3]png 1280x99835=>1280x1783 1280x19196+0+5349 8位sRGB 29.579MiB 2.609u 0:01.059
out7.png=>tiles%03d.png[4]png 1280x99835=>1280x1783 1280x19196+0+7132 8位sRGB 29.579MiB 3.047u 0:01.252
out7.png=>tiles%03d.png[5]png 1280x99835=>1280x1783 1280x19196+0+8915 8位sRGB 29.579MiB 3.469u 0:01.494
out7.png=>tiles%03d.png[6]png 1280x99835=>1280x1783 1280x19196+0+10698 8位sRGB 29.579MiB 3.938u 0:01.734
out7.png=>tiles%03d.png[7]png 1280x99835=>1280x1783 1280x19196+0+12481 8位sRGB 29.579MiB 4.219u 0:01.955
out7.png=>tiles%03d.png[8]png 1280x99835=>1280x1783 1280x19196+0+14264 8位sRGB 29.579MiB 4.672u 0:02.190
out7.png=>tiles%03d.png[9]png 1280x99835=>1280x1783 1280x19196+0+16047 8位sRGB 29.579MiB 4.984u 0:02.415
out7.png=>tiles%03d.png[10]png 1280x99835=>1280x1783 1280x19196+0+17830 8位sRGB 29.579MiB 5.516u 0:02.674

如果我增加裁剪高度,它会生成较少的文件,但会在相同高度附近停止:

out7.png=>tiles%03d.png[0]png 1280x99835=>1280x3566 1280x19196+0+0 8位sRGB 29.579MiB 1.281u 0:00.616
out7.png=>tiles%03d.png[1]png 1280x99835=>1280x3566 1280x19196+0+3566 8位sRGB 29.579MiB 2.031u 0:01.020
out7.png=>tiles%03d.png[2]png 1280x99835=>1280x3566 1280x19196+0+7132 8位sRGB 29.579MiB 2.781u 0:01.461
out7.png=>tiles%03d.png[3]png 1280x99835=>1280x3566 1280x19196+0+10698 8位sRGB 29.579MiB 3.453u 0:01.892
out7.png=>tiles%03d.png[4]png 1280x99835=>1280x3566 1280x19196+0+14264 8位sRGB 29.579MiB 4.156u 0:02.337
out7.png=>tiles%03d.png[5]png 1280x99835=>1280x3566 1280x19196+0+17830 8位sRGB 29.579MiB 4.891u 0:02.828

知道我做错了什么吗?知道如何分割整个文件吗


谢谢

尝试在
out7.png
之后添加
+repage
您的图像“记住”了前世的图像是1280x19196。这很有帮助!我之前加了+repage,但没用,可能是命令位置不对吧?这个+repage实际上做了什么?它使图像忘记了它的虚拟画布,它根据它的来源来记忆它。如果你不理解或不想要它,最好总是在切割、裁剪、平铺或修剪之后再重新粉刷。它可能很有用,比如在一个动画中,你可能有一只大熊填充了大部分帧,而它的手臂在移动——你可以只重绘移动的手臂而不必重绘整个熊,因为手臂提取可以记住它在画布上的位置。