Version 7.3 - fixed enforcer hit when no progress requester. - Opens locale.library(38) to work on OS3.0. MPImage.library lets you load save and process images. Stuctures/Formats: RGB Chunky This is held as seperate Red Green and Blue UBYTE *, with a Width and Height Grey Chunky This is held as one Grey UBYTE * (often called red), with a Width and a Height. Palette This is held as one UBYTE[768] (sometimes called red, a Width and Height, and a UBYTE *Palette. The palette holds the red palette in [0] to [255], the green palette in [256] to [511] and the blue palette in [512] to [767]. There may also be a camg (or modeid) and a number of colours, or number of planes. These are required for EHB and HAM images. Bitmap A normal planar bit map. This also has other fields as for Palette. EGSBitMap A standard EGSBitMap. MPImage This holds one of RGB, Grey, Bitmap or EGSBitMap. MPProcess This holds the RGB pointers and width and height. It is used for some processing functions. Image Loading: LoadMPImage() Loads an image from disc/clipboard. It loads various formats. Returns BitMap, RGB, GreyScale or EGSBitMap. Image Saving: SaveMPImage() Can save RGB/GreyScale to disc. It saves in various formats. ImageScaling: RescaleMPImage() Scales a loaded image (any format). Displaying Images SaveMPImage() Can display RGB/GreyScale Buffers. Miscellaneous: FreeMPImage() Frees a loaded image. SetMPImageScreen() Sets the screen for the progress requester. MPProgressHook() Sets a progress hook for messages. MPImageErrorMessage() Returns the last error message. Planar/Chunky Conversion: MPPlanarToChunky() Converts a BitMap to a chunky buffer. MPChunkyToPlanar() Converts a chunky buffer to a BitMap. SaveMPImage() Can convert RGB Buffers to a BitMap. Image processing: Image processing is done on chunky buffers; RGB, GreyScale or Palette based. The following convert between these formats. MPGreyToPal() GreyScale to Palette. MPPalToGrey() Palette to GreyScale. MPPalToPal() Palette to a different Palette. MPPalToRGB() Palette to RGB. MPRGBToGrey() RGB To Grey. MPRGBToPal() RGB To Palette. Buffers can also be scaled: MPScaleGrey() Scales one buffer. MPScaleRGB() Scales 3 buffers. Same as 3 calls to MPScaleGrey() but faster. Summary: Input Output Format Format !Disc! RGB !Gray !Palette!BitMap!EGSBitMap!MPImage!Screen ---------!----!-----!-----!-------!------!---------!-------!------ Disc/Clip! !1* !1* ! !1* !1* !1 ! RGB !2 !13,3*!10 !11 !2 ! ! !2 Gray !2 !x !12,3*!6 !2 ! ! !2 Palette ! !9 !7 !8 !5 ! ! ! BitMap ! ! ! !4 !3*,o ! ! ! EGSBitMap! ! ! ! ! !3* ! ! MPImage !2+ !+ !+ !# !+ !+ !3 !2+ 1 - LoadMPImage() 2 - SaveMPImage() 3 - RescaleMPImage() 4 - MPPlanarToChunky() 5 - MPChunkyToPlanar() 6 - MPGreyToPal() 7 - MPPalToGrey() 8 - MPPalToPal() 9 - MPPalToRGB() 10 - MPRGBToGrey() 11 - MPRGBToPal() 12 - MPScaleGrey() 13 - MPScaleRGB() * - As part of an MPImage + - Depends on parameters to LoadMPImage x - Easy - no function supplied o - See BitMapScale() # - Depends on LoadMPImage, use 11,6,8 or 4