ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

image.c File Reference
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "winuser.h"
#include "wingdi.h"
#include "objbase.h"
#include "olectl.h"
#include "ole2.h"
#include "initguid.h"
#include "wincodec.h"
#include "gdiplus.h"
#include "gdiplus_private.h"
#include "wine/debug.h"

Go to the source code of this file.

Data Structures

struct  image_format_dimension
struct  image_codec

Defines

#define NONAMELESSUNION
#define COBJMACROS
#define PIXELFORMATBPP(x)   ((x) ? ((x) >> 8) & 255 : 24)
#define convert_indexed_to_rgb(getpixel_function, setpixel_function)
#define convert_rgb_to_rgb(getpixel_function, setpixel_function)
#define BITMAP_FORMAT_BMP   0x4d42 /* "BM" */
#define BITMAP_FORMAT_JPEG   0xd8ff
#define BITMAP_FORMAT_GIF   0x4947
#define BITMAP_FORMAT_PNG   0x5089
#define BITMAP_FORMAT_APM   0xcdd7

Typedefs

typedef GpStatus(* encode_image_func )(GpImage *image, IStream *stream, GDIPCONST CLSID *clsid, GDIPCONST EncoderParameters *params)
typedef GpStatus(* decode_image_func )(IStream *stream, REFCLSID clsid, GpImage **image)

Enumerations

enum  ImageFormat {
  BMP, JPEG, GIF, TIFF,
  EMF, WMF, PNG, ICO,
  NUM_CODECS
}

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (gdiplus)
static INT ipicture_pixel_height (IPicture *pic)
static INT ipicture_pixel_width (IPicture *pic)
GpStatus WINGDIPAPI GdipBitmapApplyEffect (GpBitmap *bitmap, CGpEffect *effect, RECT *roi, BOOL useAuxData, VOID **auxData, INT *auxDataSize)
GpStatus WINGDIPAPI GdipBitmapCreateApplyEffect (GpBitmap **inputBitmaps, INT numInputs, CGpEffect *effect, RECT *roi, RECT *outputRect, GpBitmap **outputBitmap, BOOL useAuxData, VOID **auxData, INT *auxDataSize)
static void getpixel_1bppIndexed (BYTE *index, const BYTE *row, UINT x)
static void getpixel_4bppIndexed (BYTE *index, const BYTE *row, UINT x)
static void getpixel_8bppIndexed (BYTE *index, const BYTE *row, UINT x)
static void getpixel_16bppGrayScale (BYTE *r, BYTE *g, BYTE *b, BYTE *a, const BYTE *row, UINT x)
static void getpixel_16bppRGB555 (BYTE *r, BYTE *g, BYTE *b, BYTE *a, const BYTE *row, UINT x)
static void getpixel_16bppRGB565 (BYTE *r, BYTE *g, BYTE *b, BYTE *a, const BYTE *row, UINT x)
static void getpixel_16bppARGB1555 (BYTE *r, BYTE *g, BYTE *b, BYTE *a, const BYTE *row, UINT x)
static void getpixel_24bppRGB (BYTE *r, BYTE *g, BYTE *b, BYTE *a, const BYTE *row, UINT x)
static void getpixel_32bppRGB (BYTE *r, BYTE *g, BYTE *b, BYTE *a, const BYTE *row, UINT x)
static void getpixel_32bppARGB (BYTE *r, BYTE *g, BYTE *b, BYTE *a, const BYTE *row, UINT x)
static void getpixel_32bppPARGB (BYTE *r, BYTE *g, BYTE *b, BYTE *a, const BYTE *row, UINT x)
static void getpixel_48bppRGB (BYTE *r, BYTE *g, BYTE *b, BYTE *a, const BYTE *row, UINT x)
static void getpixel_64bppARGB (BYTE *r, BYTE *g, BYTE *b, BYTE *a, const BYTE *row, UINT x)
static void getpixel_64bppPARGB (BYTE *r, BYTE *g, BYTE *b, BYTE *a, const BYTE *row, UINT x)
GpStatus WINGDIPAPI GdipBitmapGetPixel (GpBitmap *bitmap, INT x, INT y, ARGB *color)
static UINT get_palette_index (BYTE r, BYTE g, BYTE b, BYTE a, GpBitmap *bitmap)
static void setpixel_8bppIndexed (BYTE r, BYTE g, BYTE b, BYTE a, BYTE *row, UINT x, GpBitmap *bitmap)
static void setpixel_1bppIndexed (BYTE r, BYTE g, BYTE b, BYTE a, BYTE *row, UINT x, GpBitmap *bitmap)
static void setpixel_4bppIndexed (BYTE r, BYTE g, BYTE b, BYTE a, BYTE *row, UINT x, GpBitmap *bitmap)
static void setpixel_16bppGrayScale (BYTE r, BYTE g, BYTE b, BYTE a, BYTE *row, UINT x)
static void setpixel_16bppRGB555 (BYTE r, BYTE g, BYTE b, BYTE a, BYTE *row, UINT x)
static void setpixel_16bppRGB565 (BYTE r, BYTE g, BYTE b, BYTE a, BYTE *row, UINT x)
static void setpixel_16bppARGB1555 (BYTE r, BYTE g, BYTE b, BYTE a, BYTE *row, UINT x)
static void setpixel_24bppRGB (BYTE r, BYTE g, BYTE b, BYTE a, BYTE *row, UINT x)
static void setpixel_32bppRGB (BYTE r, BYTE g, BYTE b, BYTE a, BYTE *row, UINT x)
static void setpixel_32bppARGB (BYTE r, BYTE g, BYTE b, BYTE a, BYTE *row, UINT x)
static void setpixel_32bppPARGB (BYTE r, BYTE g, BYTE b, BYTE a, BYTE *row, UINT x)
static void setpixel_48bppRGB (BYTE r, BYTE g, BYTE b, BYTE a, BYTE *row, UINT x)
static void setpixel_64bppARGB (BYTE r, BYTE g, BYTE b, BYTE a, BYTE *row, UINT x)
static void setpixel_64bppPARGB (BYTE r, BYTE g, BYTE b, BYTE a, BYTE *row, UINT x)
GpStatus WINGDIPAPI GdipBitmapSetPixel (GpBitmap *bitmap, INT x, INT y, ARGB color)
GpStatus convert_pixels (INT width, INT height, INT dst_stride, BYTE *dst_bits, PixelFormat dst_format, INT src_stride, const BYTE *src_bits, PixelFormat src_format, ARGB *src_palette)
GpStatus WINGDIPAPI GdipBitmapLockBits (GpBitmap *bitmap, GDIPCONST GpRect *rect, UINT flags, PixelFormat format, BitmapData *lockeddata)
GpStatus WINGDIPAPI GdipBitmapSetResolution (GpBitmap *bitmap, REAL xdpi, REAL ydpi)
GpStatus WINGDIPAPI GdipBitmapUnlockBits (GpBitmap *bitmap, BitmapData *lockeddata)
GpStatus WINGDIPAPI GdipCloneBitmapArea (REAL x, REAL y, REAL width, REAL height, PixelFormat format, GpBitmap *srcBitmap, GpBitmap **dstBitmap)
GpStatus WINGDIPAPI GdipCloneBitmapAreaI (INT x, INT y, INT width, INT height, PixelFormat format, GpBitmap *srcBitmap, GpBitmap **dstBitmap)
GpStatus WINGDIPAPI GdipCloneImage (GpImage *image, GpImage **cloneImage)
GpStatus WINGDIPAPI GdipCreateBitmapFromFile (GDIPCONST WCHAR *filename, GpBitmap **bitmap)
GpStatus WINGDIPAPI GdipCreateBitmapFromGdiDib (GDIPCONST BITMAPINFO *info, VOID *bits, GpBitmap **bitmap)
GpStatus WINGDIPAPI GdipCreateBitmapFromFileICM (GDIPCONST WCHAR *filename, GpBitmap **bitmap)
GpStatus WINGDIPAPI GdipCreateBitmapFromResource (HINSTANCE hInstance, GDIPCONST WCHAR *lpBitmapName, GpBitmap **bitmap)
GpStatus WINGDIPAPI GdipCreateHBITMAPFromBitmap (GpBitmap *bitmap, HBITMAP *hbmReturn, ARGB background)
GpStatus WINGDIPAPI GdipConvertToEmfPlus (const GpGraphics *ref, GpMetafile *metafile, BOOL *succ, EmfType emfType, const WCHAR *description, GpMetafile **out_metafile)
GpStatus WINGDIPAPI GdipCreateBitmapFromGraphics (INT width, INT height, GpGraphics *target, GpBitmap **bitmap)
GpStatus WINGDIPAPI GdipCreateBitmapFromHICON (HICON hicon, GpBitmap **bitmap)
static void generate_halftone_palette (ARGB *entries, UINT count)
static GpStatus get_screen_resolution (REAL *xres, REAL *yres)
GpStatus WINGDIPAPI GdipCreateBitmapFromScan0 (INT width, INT height, INT stride, PixelFormat format, BYTE *scan0, GpBitmap **bitmap)
GpStatus WINGDIPAPI GdipCreateBitmapFromStream (IStream *stream, GpBitmap **bitmap)
GpStatus WINGDIPAPI GdipCreateBitmapFromStreamICM (IStream *stream, GpBitmap **bitmap)
GpStatus WINGDIPAPI GdipCreateCachedBitmap (GpBitmap *bitmap, GpGraphics *graphics, GpCachedBitmap **cachedbmp)
GpStatus WINGDIPAPI GdipCreateHICONFromBitmap (GpBitmap *bitmap, HICON *hicon)
GpStatus WINGDIPAPI GdipDeleteCachedBitmap (GpCachedBitmap *cachedbmp)
GpStatus WINGDIPAPI GdipDrawCachedBitmap (GpGraphics *graphics, GpCachedBitmap *cachedbmp, INT x, INT y)
GpStatus WINGDIPAPI GdipEmfToWmfBits (HENHMETAFILE hemf, UINT cbData16, LPBYTE pData16, INT iMapMode, INT eFlags)
static void move_bitmap (GpBitmap *dst, GpBitmap *src, BOOL clobber_palette)
GpStatus WINGDIPAPI GdipDisposeImage (GpImage *image)
GpStatus WINGDIPAPI GdipFindFirstImageItem (GpImage *image, ImageItemData *item)
GpStatus WINGDIPAPI GdipGetImageItemData (GpImage *image, ImageItemData *item)
GpStatus WINGDIPAPI GdipGetImageBounds (GpImage *image, GpRectF *srcRect, GpUnit *srcUnit)
GpStatus WINGDIPAPI GdipGetImageDimension (GpImage *image, REAL *width, REAL *height)
GpStatus WINGDIPAPI GdipGetImageGraphicsContext (GpImage *image, GpGraphics **graphics)
GpStatus WINGDIPAPI GdipGetImageHeight (GpImage *image, UINT *height)
GpStatus WINGDIPAPI GdipGetImageHorizontalResolution (GpImage *image, REAL *res)
GpStatus WINGDIPAPI GdipGetImagePaletteSize (GpImage *image, INT *size)
GpStatus WINGDIPAPI GdipGetImagePixelFormat (GpImage *image, PixelFormat *format)
GpStatus WINGDIPAPI GdipGetImageRawFormat (GpImage *image, GUID *format)
GpStatus WINGDIPAPI GdipGetImageType (GpImage *image, ImageType *type)
GpStatus WINGDIPAPI GdipGetImageVerticalResolution (GpImage *image, REAL *res)
GpStatus WINGDIPAPI GdipGetImageWidth (GpImage *image, UINT *width)
GpStatus WINGDIPAPI GdipGetMetafileHeaderFromMetafile (GpMetafile *metafile, MetafileHeader *header)
GpStatus WINGDIPAPI GdipGetMetafileHeaderFromEmf (HENHMETAFILE hEmf, MetafileHeader *header)
GpStatus WINGDIPAPI GdipGetMetafileHeaderFromFile (GDIPCONST WCHAR *filename, MetafileHeader *header)
GpStatus WINGDIPAPI GdipGetMetafileHeaderFromStream (IStream *stream, MetafileHeader *header)
GpStatus WINGDIPAPI GdipGetAllPropertyItems (GpImage *image, UINT size, UINT num, PropertyItem *items)
GpStatus WINGDIPAPI GdipGetPropertyCount (GpImage *image, UINT *num)
GpStatus WINGDIPAPI GdipGetPropertyIdList (GpImage *image, UINT num, PROPID *list)
GpStatus WINGDIPAPI GdipGetPropertyItem (GpImage *image, PROPID id, UINT size, PropertyItem *buffer)
GpStatus WINGDIPAPI GdipGetPropertyItemSize (GpImage *image, PROPID pid, UINT *size)
GpStatus WINGDIPAPI GdipGetPropertySize (GpImage *image, UINT *size, UINT *num)
GpStatus WINGDIPAPI GdipImageGetFrameCount (GpImage *image, GDIPCONST GUID *dimensionID, UINT *count)
GpStatus WINGDIPAPI GdipImageGetFrameDimensionsCount (GpImage *image, UINT *count)
GpStatus WINGDIPAPI GdipImageGetFrameDimensionsList (GpImage *image, GUID *dimensionIDs, UINT count)
GpStatus WINGDIPAPI GdipImageSelectActiveFrame (GpImage *image, GDIPCONST GUID *dimensionID, UINT frameidx)
GpStatus WINGDIPAPI GdipLoadImageFromFile (GDIPCONST WCHAR *filename, GpImage **image)
GpStatus WINGDIPAPI GdipLoadImageFromFileICM (GDIPCONST WCHAR *filename, GpImage **image)
static GpStatus decode_image_wic (IStream *stream, REFCLSID clsid, GpImage **image)
static GpStatus decode_image_icon (IStream *stream, REFCLSID clsid, GpImage **image)
static GpStatus decode_image_bmp (IStream *stream, REFCLSID clsid, GpImage **image)
static GpStatus decode_image_jpeg (IStream *stream, REFCLSID clsid, GpImage **image)
static GpStatus decode_image_png (IStream *stream, REFCLSID clsid, GpImage **image)
static GpStatus decode_image_gif (IStream *stream, REFCLSID clsid, GpImage **image)
static GpStatus decode_image_tiff (IStream *stream, REFCLSID clsid, GpImage **image)
static GpStatus decode_image_olepicture_metafile (IStream *stream, REFCLSID clsid, GpImage **image)
static GpStatus get_decoder_info (IStream *stream, const struct image_codec **result)
GpStatus WINGDIPAPI GdipLoadImageFromStream (IStream *stream, GpImage **image)
GpStatus WINGDIPAPI GdipLoadImageFromStreamICM (IStream *stream, GpImage **image)
GpStatus WINGDIPAPI GdipRemovePropertyItem (GpImage *image, PROPID propId)
GpStatus WINGDIPAPI GdipSetPropertyItem (GpImage *image, GDIPCONST PropertyItem *item)
GpStatus WINGDIPAPI GdipSaveImageToFile (GpImage *image, GDIPCONST WCHAR *filename, GDIPCONST CLSID *clsidEncoder, GDIPCONST EncoderParameters *encoderParams)
static GpStatus encode_image_WIC (GpImage *image, IStream *stream, GDIPCONST CLSID *clsid, GDIPCONST EncoderParameters *params)
static GpStatus encode_image_BMP (GpImage *image, IStream *stream, GDIPCONST CLSID *clsid, GDIPCONST EncoderParameters *params)
static GpStatus encode_image_tiff (GpImage *image, IStream *stream, GDIPCONST CLSID *clsid, GDIPCONST EncoderParameters *params)
static GpStatus encode_image_png (GpImage *image, IStream *stream, GDIPCONST CLSID *clsid, GDIPCONST EncoderParameters *params)
static GpStatus encode_image_jpeg (GpImage *image, IStream *stream, GDIPCONST CLSID *clsid, GDIPCONST EncoderParameters *params)
GpStatus WINGDIPAPI GdipSaveImageToStream (GpImage *image, IStream *stream, GDIPCONST CLSID *clsid, GDIPCONST EncoderParameters *params)
GpStatus WINGDIPAPI GdipGetImagePalette (GpImage *image, ColorPalette *palette, INT size)
GpStatus WINGDIPAPI GdipSetImagePalette (GpImage *image, GDIPCONST ColorPalette *palette)
GpStatus WINGDIPAPI GdipGetImageDecodersSize (UINT *numDecoders, UINT *size)
GpStatus WINGDIPAPI GdipGetImageDecoders (UINT numDecoders, UINT size, ImageCodecInfo *decoders)
GpStatus WINGDIPAPI GdipGetImageEncodersSize (UINT *numEncoders, UINT *size)
GpStatus WINGDIPAPI GdipGetImageEncoders (UINT numEncoders, UINT size, ImageCodecInfo *encoders)
GpStatus WINGDIPAPI GdipGetEncoderParameterListSize (GpImage *image, GDIPCONST CLSID *clsidEncoder, UINT *size)
static PixelFormat get_16bpp_format (HBITMAP hbm)
GpStatus WINGDIPAPI GdipCreateBitmapFromHBITMAP (HBITMAP hbm, HPALETTE hpal, GpBitmap **bitmap)
GpStatus WINGDIPAPI GdipDeleteEffect (CGpEffect *effect)
GpStatus WINGDIPAPI GdipSetEffectParameters (CGpEffect *effect, const VOID *params, const UINT size)
GpStatus WINGDIPAPI GdipGetImageFlags (GpImage *image, UINT *flags)
GpStatus WINGDIPAPI GdipTestControl (GpTestControlEnum control, void *param)
GpStatus WINGDIPAPI GdipRecordMetafileFileName (GDIPCONST WCHAR *fileName, HDC hdc, EmfType type, GDIPCONST GpRectF *pFrameRect, MetafileFrameUnit frameUnit, GDIPCONST WCHAR *desc, GpMetafile **metafile)
GpStatus WINGDIPAPI GdipRecordMetafileFileNameI (GDIPCONST WCHAR *fileName, HDC hdc, EmfType type, GDIPCONST GpRect *pFrameRect, MetafileFrameUnit frameUnit, GDIPCONST WCHAR *desc, GpMetafile **metafile)
GpStatus WINGDIPAPI GdipImageForceValidation (GpImage *image)
GpStatus WINGDIPAPI GdipGetImageThumbnail (GpImage *image, UINT width, UINT height, GpImage **ret_image, GetThumbnailImageAbort cb, VOID *cb_data)
GpStatus WINGDIPAPI GdipImageRotateFlip (GpImage *image, RotateFlipType type)
GpStatus WINGDIPAPI GdipConvertToEmfPlusToFile (const GpGraphics *refGraphics, GpMetafile *metafile, BOOL *conversionSuccess, const WCHAR *filename, EmfType emfType, const WCHAR *description, GpMetafile **out_metafile)

Variables

static struct
image_format_dimension 
image_format_dimensions []
static const WICPixelFormatGUIDwic_pixel_formats []
static const PixelFormat wic_gdip_formats []
static struct image_codec codecs [NUM_CODECS]
static const WCHAR bmp_codecname [] = {'B', 'u', 'i','l', 't', '-','i', 'n', ' ', 'B', 'M', 'P', 0}
static const WCHAR bmp_extension [] = {'*','.','B', 'M', 'P',';', '*','.', 'D','I', 'B',';', '*','.', 'R', 'L', 'E',0}
static const WCHAR bmp_mimetype [] = {'i', 'm', 'a','g', 'e', '/', 'b', 'm', 'p', 0}
static const WCHAR bmp_format [] = {'B', 'M', 'P', 0}
static const BYTE bmp_sig_pattern [] = { 0x42, 0x4D }
static const BYTE bmp_sig_mask [] = { 0xFF, 0xFF }
static const WCHAR jpeg_codecname [] = {'B', 'u', 'i','l', 't', '-','i', 'n', ' ', 'J','P','E','G', 0}
static const WCHAR jpeg_extension [] = {'*','.','J','P','G',';', '*','.','J','P','E','G',';', '*','.','J','P','E',';', '*','.','J','F','I','F',0}
static const WCHAR jpeg_mimetype [] = {'i','m','a','g','e','/','j','p','e','g', 0}
static const WCHAR jpeg_format [] = {'J','P','E','G',0}
static const BYTE jpeg_sig_pattern [] = { 0xFF, 0xD8 }
static const BYTE jpeg_sig_mask [] = { 0xFF, 0xFF }
static const WCHAR gif_codecname [] = {'B', 'u', 'i','l', 't', '-','i', 'n', ' ', 'G','I','F', 0}
static const WCHAR gif_extension [] = {'*','.','G','I','F',0}
static const WCHAR gif_mimetype [] = {'i','m','a','g','e','/','g','i','f', 0}
static const WCHAR gif_format [] = {'G','I','F',0}
static const BYTE gif_sig_pattern [4] = "GIF8"
static const BYTE gif_sig_mask [] = { 0xFF, 0xFF, 0xFF, 0xFF }
static const WCHAR tiff_codecname [] = {'B', 'u', 'i','l', 't', '-','i', 'n', ' ', 'T','I','F','F', 0}
static const WCHAR tiff_extension [] = {'*','.','T','I','F','F',';','*','.','T','I','F',0}
static const WCHAR tiff_mimetype [] = {'i','m','a','g','e','/','t','i','f','f', 0}
static const WCHAR tiff_format [] = {'T','I','F','F',0}
static const BYTE tiff_sig_pattern [] = {0x49,0x49,42,0,0x4d,0x4d,0,42}
static const BYTE tiff_sig_mask [] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }
static const WCHAR emf_codecname [] = {'B', 'u', 'i','l', 't', '-','i', 'n', ' ', 'E','M','F', 0}
static const WCHAR emf_extension [] = {'*','.','E','M','F',0}
static const WCHAR emf_mimetype [] = {'i','m','a','g','e','/','x','-','e','m','f', 0}
static const WCHAR emf_format [] = {'E','M','F',0}
static const BYTE emf_sig_pattern [] = { 0x01, 0x00, 0x00, 0x00 }
static const BYTE emf_sig_mask [] = { 0xFF, 0xFF, 0xFF, 0xFF }
static const WCHAR wmf_codecname [] = {'B', 'u', 'i','l', 't', '-','i', 'n', ' ', 'W','M','F', 0}
static const WCHAR wmf_extension [] = {'*','.','W','M','F',0}
static const WCHAR wmf_mimetype [] = {'i','m','a','g','e','/','x','-','w','m','f', 0}
static const WCHAR wmf_format [] = {'W','M','F',0}
static const BYTE wmf_sig_pattern [] = { 0xd7, 0xcd }
static const BYTE wmf_sig_mask [] = { 0xFF, 0xFF }
static const WCHAR png_codecname [] = {'B', 'u', 'i','l', 't', '-','i', 'n', ' ', 'P','N','G', 0}
static const WCHAR png_extension [] = {'*','.','P','N','G',0}
static const WCHAR png_mimetype [] = {'i','m','a','g','e','/','p','n','g', 0}
static const WCHAR png_format [] = {'P','N','G',0}
static const BYTE png_sig_pattern [] = { 137, 80, 78, 71, 13, 10, 26, 10, }
static const BYTE png_sig_mask [] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }
static const WCHAR ico_codecname [] = {'B', 'u', 'i','l', 't', '-','i', 'n', ' ', 'I','C','O', 0}
static const WCHAR ico_extension [] = {'*','.','I','C','O',0}
static const WCHAR ico_mimetype [] = {'i','m','a','g','e','/','x','-','i','c','o','n', 0}
static const WCHAR ico_format [] = {'I','C','O',0}
static const BYTE ico_sig_pattern [] = { 0x00, 0x00, 0x01, 0x00 }
static const BYTE ico_sig_mask [] = { 0xFF, 0xFF, 0xFF, 0xFF }

Generated on Sat May 26 2012 04:56:50 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.