Question

For example, this does not work:

convert -crop '69%x27%+3%+13%' +repage source.jpg cropped.jpg

It does not result in an error, but the offset is ignored. Apparently the offset in a geometry can only be in pixels?

How do I achieve the desired effect?

Was it helpful?

Solution

You can do it like this:

convert -crop $(convert source.jpg -format "%[fx:int(w*0.69)]x%[fx:int(h*0.27)]+%[fx:int(0.03*w)]+%[fx:int(0.13*h)]"  info:) +repage source.jpg cropped.jpg

Try running the section inside the $() on its own to see how that generates what you need for the outer command...

convert source.jpg -format "%[fx:int(w*0.69)]x%[fx:int(h*0.27)]+%[fx:int(0.03*w)]+%[fx:int(0.13*h)]"  info:

If I run that part of the command on an image 100x100 pixels, I get this

69x27+3+13
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top