mirror of
				https://git.code.sf.net/p/libpng/code.git
				synced 2025-07-10 18:04:09 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			103 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			103 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| #
 | |
| # Copyright (c) 2013 John Cunningham Bowler
 | |
| #
 | |
| # Last changed in libpng 1.6.0 [February 14, 2013]
 | |
| #
 | |
| # This code is released under the libpng license.
 | |
| # For conditions of distribution and use, see the disclaimer
 | |
| # and license in png.h
 | |
| #
 | |
| # Generate a set of PNG test images.  The images are generated in a
 | |
| # sub-directory called 'tests' by default, however a command line argument will
 | |
| # change that name.  The generation requires a built version of makepng in the
 | |
| # current directory.
 | |
| #
 | |
| usage(){
 | |
|    exec >&2
 | |
|    echo "$0 [<directory>]"
 | |
|    echo '  Generate a set of PNG test files in "directory" ("tests" by default)'
 | |
|    exit 1
 | |
| }
 | |
| 
 | |
| mp="$PWD/makepng"
 | |
| test -x "$mp" || {
 | |
|    exec >&2
 | |
|    echo "$0: the 'makepng' program must exist"
 | |
|    echo "  in the directory within which this program:"
 | |
|    echo "    $mp"
 | |
|    echo "  is executed"
 | |
|    usage
 | |
| }
 | |
| 
 | |
| # Just one argument: the directory
 | |
| testdir="tests"
 | |
| test $# -gt 1 && {
 | |
|    testdir="$1"
 | |
|    shift
 | |
| }
 | |
| test $# -eq 0 || usage
 | |
| 
 | |
| # Take care not to clobber something
 | |
| if test -e "$testdir"
 | |
| then
 | |
|    test -d "$testdir" || usage
 | |
| else
 | |
|    # mkdir -p isn't portable, so do the following
 | |
|    mkdir "$testdir" 2>/dev/null || mkdir -p "$testdir" || usage
 | |
| fi
 | |
| 
 | |
| # This fails in a very satisfactory way if it's not accessible
 | |
| cd "$testdir"
 | |
| :>"test$$.png" || {
 | |
|    exec >&2
 | |
|    echo "$testdir: directory not writable"
 | |
|    usage
 | |
| }
 | |
| rm "test$$.png" || {
 | |
|    exec >&2
 | |
|    echo "$testdir: you have create but not write privileges here."
 | |
|    echo "  This is unexpected.  You have a spurion; "'"'"test$$.png"'"'"."
 | |
|    echo "  You need to remove this yourself.  Try a different directory."
 | |
|    exit 1
 | |
| }
 | |
| 
 | |
| # Now call makepng ($mp) to create every file we can think of with a
 | |
| # reasonable name
 | |
| doit(){
 | |
|    for gamma in "" --sRGB --linear --1.8
 | |
|    do
 | |
|       case "$gamma" in
 | |
|          "")
 | |
|             gname=;;
 | |
|          --sRGB)
 | |
|             gname="-srgb";;
 | |
|          --linear)
 | |
|             gname="-lin";;
 | |
|          --1.8)
 | |
|             gname="-18";;
 | |
|          *)
 | |
|             gname="-$gamma";;
 | |
|       esac
 | |
|       "$mp" $gamma "$1" "$2" "test-$1-$2$gname.png"
 | |
|    done
 | |
| }
 | |
| #
 | |
| for ct in gray palette
 | |
| do
 | |
|    for bd in 1 2 4 8
 | |
|    do
 | |
|       doit "$ct" "$bd"
 | |
|    done
 | |
| done
 | |
| #
 | |
| doit "gray" "16"
 | |
| #
 | |
| for ct in gray-alpha rgb rgb-alpha
 | |
| do
 | |
|    for bd in 8 16
 | |
|    do
 | |
|       doit "$ct" "$bd"
 | |
|    done
 | |
| done
 | 
