NAME SaveMPImageA -- Save an image in various formats. (V3) SaveMPIMage -- Varargs version of SaveMPImageA (V3) SYNOPSIS succ = SaveMPImageA( file,red,green,blue,width,height,taglist) D0 A0 A1 A2 A3 D0 D1 A5 BOOL SaveMPImageA( UBYTE *,UBYTE *,UBYTE *,UBYTE *, UWORD,UWORD,struct TagItem *); succ = SaveMPImage( file,red,green,blue,width,height,Tag1, ...) BOOL SaveMPImage( UBYTE *,UBYTE *,UBYTE *,UBYTE *, UWORD,UWORD,ULONG,...); FUNCTION Saves/displays an image held in chunky buffers. INPUTS file - filename to save file as. If NULL or "" then image is displayed on a custom screen, or returned in BitMap (V7.0) red - red chunky input. green - green chunky input. blue - blue chunky input. width - width of chunky buffers height - height of chunky buffers. taglist - pointer to TagItem array. Tags are: MPIS_MODE - Data is ULONG CAMG of output IFF file/screen EHB and HAM will be added if required. If not supplied then MPIS_MODENAME will be used. If that is not supplied then a CAMG mode will be generated. MPIS_MODENAME - Data is char * mode name of CAMG of output. Invalid names are ignored. MPIS_FORMAT - Data is char * specifying output format. Default is MPI_BW16. Values are: MPI_BW16 - "BW16" - 16 colour ILBM grey scale. MPI_BW256 - "BW256" - 256 colour ILBM grey scale. MPI_HAM6 - "HAM6" - HAM6 with fixed (internal) palette. MPI_HAM6P - "HAM6P" - HAM6 with generated or supplied palette - see MPIS_PALETTE. MPI_HAM8 - "HAM8" - HAM8 with fixed (internal) palette. MPI_HAM8P - "HAM8P" - HAM8 with generated or supplied palette - see MPIS_PALETTE. MPI_ILBM24 - "ILBM24" - 24 bit ILBM. MPI_PPM - "PPM" - P6 (or P5 if red,green and blue are the same). MPI_COLOUR - "COLOUR" - ILBM with generated or supplied palette - see MPIS_PALETTE. MPI_EHB - "EHB" - EHB with generated or supplied palette - see MPIS_PALETTE. MPI_JPEG - "JPEG" - JPEG see NOTES. MPI_PNM - "PNG" - PNG see NOTES. MPI_DCTV3 - "DCTV3" - DCTV 3 bit plane format MPI_DCTV4 - "DCTV4" - DCTV 4 bit plane format MPIS_PALETTE - Data is char * name of ILBM to load palette from. MPIS_COLOURS - Data is ULONG number of colours for MPI_COLOUR. Default is is number of colours in MPIS_PALETTE if supplied, otherwise 16. If greater than that from MPIS_PALETTE then ignored. MPIS_12BIT - Data is BOOL. If TRUE then use faster 12bit colour palette generating algorithm for MPI_COLOUR and MPI_EHB. Default is FALSE to use 18bit algorithm. MPIS_LINEAR - Data is BOOL. If TRUE then for BW16/BW256 use linear (not colour based) mapping. (V5.0) MPIS_GREYMAP - Data is UBYTE *. For BW16/BW256 palette map. Must point to at least 16 of value 0 to 15 for BW16, 256 bytes of 0 to 255 for BW255. (V5.0) Format is e.g. 0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,1 Colour 0 will be black Colour 1 will be white etc. This is the opposite to which you may expect! MPIS_OLDPALETTE - Palette to use (for HAMxP/COLOUR/EHB) (V7.0) Data is UBYTE *, red in [0] to [255], green in [256] to [511] blue in [512] to [767] MPIS_NEWPALETTE - Palette used (for HAMx/COLOUR/EHB) (V7.0) Data is UBYTE * (see MPIS_OLDPALETTE). MPIS_BITMAP - BitMap to update (for BWxx/HAMxx/COLOUR/EHB/DCTVx) (V7.0) Data is struct BitMap * Image is not displayed/saved RESULT error - 1 for success, 0 for failure. Use MPImageErrorMessage() to get error. EXAMPLE NOTES If MPIS_FORMAT is BW16 or BW256 and red,green and blue are the same then a more efficent algorithm is used. When displaying on screen click in the top left and press a key to exit. If file format is JPEG and env/mpimage/cjpeg is set (e.g. cjpeg "%s" "%s") then cjpeg is used. If file format is PNG and env/mpimage/pnmtopng is set (e.g. 'pnmtopng "%s" >"%s"') then pnmtopng is used. BUGS Does not work for images > 1024 wide (except PPM/JPEG/PNG). The palette file requires a body which is loaded and then discarded. Waits 20 seconds for cjpeg/pnmtopng to start then aborts. This check is not fool proof and the PIPE:xxx can be left hanging. Prior to version 4.3 fails to determine a screen mode correctly. V7.0 did not handle MPIS_BITMAP correctly. V7.3 did not set return code when MPIS_BITMAP supplied. SEE ALSO MPImageErrorMessage().