graphicsmagick: expand test.sh coverage

Exercise more gm subcommands and codecs on top of the existing PNG/JPEG,
resize, pixel, draw and composite checks: TIFF round-trip, PPM and GIF
encoders, crop, 90-degree rotate, horizontal append and in-place mogrify.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
pull/29912/head
Alexandru Ardelean 2026-08-04 21:26:20 +03:00 committed by Alexandru Ardelean
parent b0536d3ff6
commit 8d4f64dc9f
1 changed files with 33 additions and 1 deletions

View File

@ -35,7 +35,39 @@ graphicsmagick)
gm composite -compose Over /tmp/gm-red.png /tmp/gm-white.png /tmp/gm-composite.png
gm identify /tmp/gm-composite.png | grep "PNG"
# TIFF round-trip: encode, then decode back to PNG at the same geometry
gm convert /tmp/gm-white.png /tmp/gm-white.tiff
gm identify /tmp/gm-white.tiff | grep "TIFF"
gm convert /tmp/gm-white.tiff /tmp/gm-back.png
gm identify /tmp/gm-back.png | grep -E "PNG.*32x32"
# PPM and GIF encoders (built-in codecs)
gm convert /tmp/gm-white.png /tmp/gm-white.ppm
gm identify /tmp/gm-white.ppm | grep -E "PNM|PPM"
gm convert /tmp/gm-white.png /tmp/gm-white.gif
gm identify /tmp/gm-white.gif | grep "GIF"
# Crop a sub-region and confirm the new geometry
gm convert /tmp/gm-white.png -crop 10x10+0+0 /tmp/gm-crop.png
gm identify /tmp/gm-crop.png | grep -E "PNG.*10x10"
# Rotate 90 degrees swaps width and height
gm convert -size 40x20 xc:white -rotate 90 /tmp/gm-rot.png
gm identify /tmp/gm-rot.png | grep -E "PNG.*20x40"
# Horizontal append of two images
gm convert /tmp/gm-white.png /tmp/gm-small.png +append /tmp/gm-app.png
gm identify /tmp/gm-app.png | grep "PNG"
# mogrify rewrites the file in place
cp /tmp/gm-white.png /tmp/gm-mog.png
gm mogrify -resize 20x20! /tmp/gm-mog.png
gm identify /tmp/gm-mog.png | grep -E "PNG.*20x20"
rm -f /tmp/gm-white.png /tmp/gm-white.jpg /tmp/gm-small.png \
/tmp/gm-red.png /tmp/gm-text.png /tmp/gm-composite.png
/tmp/gm-red.png /tmp/gm-text.png /tmp/gm-composite.png \
/tmp/gm-white.tiff /tmp/gm-back.png /tmp/gm-white.ppm \
/tmp/gm-white.gif /tmp/gm-crop.png /tmp/gm-rot.png /tmp/gm-app.png \
/tmp/gm-mog.png
;;
esac