Listing 14. Get the metadata from an image for use in PHP. ... use MonkeyIQGIMP; use FileHandle; sub writedata { my( $fh, $name, $ext, $x, $y, $w, $h ) = @_; $fh->print(" \$${name}${ext}_width = $w;\n "); $fh->print(" \$${name}${ext}_height = $h;\n "); $fh->print(" \$${name}${ext}_left = $x;\n "); $fh->print(" \$${name}${ext}_top = $y;\n "); $fh->print(" \$${name}${ext}_offsetx = $x;\n "); $fh->print(" \$${name}${ext}_offsety = $y;\n "); } sub monkeyiq_gimp_get_dimension { my($inputimagename,$outfilename, $desiredlayername) = @_; $img = gimp_file_load( $inputimagename, $inputimagename ); if( length( $desiredlayername ) ) { $layer = getLayerByName( $img, $desiredlayername ) or die("Layer $desiredlayername not found"); } else { $layer = getMergedLayer( $img ); } $name = gimp_layer_get_name( $layer ); my( $x, $y ) = gimp_drawable_offsets( $layer ); $w = gimp_drawable_width( $layer ); $h = gimp_drawable_height( $layer ); $fh = new FileHandle; if( $fh->open( $outfilename, "w" )) { $fh->print("print("?>\n\n"); $fh->close(); } gimp_image_delete( $img ); } register "monkeyiq_gimp_convert", ... [ [PF_STRING, "inputimage", "Name of image to export", ""], [PF_STRING, "outputfile", "Name of file to save metadata into", ""], [PF_STRING, "inputlayer", "Name of layer to export (optional)", ""], ], \&monkeyiq_gimp_get_dimension; ...