www.pudn.com > GDIPlusCF.zip > Images.cs
using System;
using System.Runtime.InteropServices;
using System.Drawing.Imaging;
using System.Text;
using OpenNETCF.Runtime.InteropServices.ComTypes;
namespace OpenNETCF.GDIPlus
{
public static partial class NativeMethods
{
//----------------------------------------------------------------------------
// Image APIs
//----------------------------------------------------------------------------
[DllImport("gdiplus")]
public static extern GpStatus
GdipLoadImageFromStream(IStream stream, out GpImage image);
[DllImport("gdiplus")]
public static extern GpStatus
GdipLoadImageFromFile([MarshalAs(UnmanagedType.BStr)]string filename, out GpImage image);
//[DllImport("gdiplus")] public static extern GpStatus
//GdipLoadImageFromStreamICM(IStream* stream, out GpImage image);
//[DllImport("gdiplus")] public static extern GpStatus
//GdipLoadImageFromFileICM(string filename, out GpImage image);
[DllImport("gdiplus")]
public static extern GpStatus
GdipCloneImage(GpImage image, out GpImage cloneImage);
[DllImport("gdiplus")]
public static extern GpStatus
GdipDisposeImage(GpImage image);
[DllImport("gdiplus")]
public static extern GpStatus
GdipSaveImageToFile(GpImage image, string filename,
ref Guid clsidEncoder,
EncoderParameters encoderParams);
//[DllImport("gdiplus")] public static extern GpStatus
//GdipSaveImageToStream(GpImage image, IStream* stream,
// ref Guid clsidEncoder,
// EncoderParameters* encoderParams);
[DllImport("gdiplus")]
public static extern GpStatus
GdipSaveAdd(GpImage image, EncoderParameters encoderParams);
[DllImport("gdiplus")]
public static extern GpStatus
GdipSaveAddImage(GpImage image, GpImage newImage,
EncoderParameters encoderParams);
[DllImport("gdiplus")]
public static extern GpStatus
GdipGetImageGraphicsContext(GpImage image, out GpGraphics graphics);
[DllImport("gdiplus")]
public static extern GpStatus
GdipGetImageBounds(GpImage image, out GpRectF srcRect, out Unit srcUnit);
[DllImport("gdiplus")]
public static extern GpStatus
GdipGetImageBounds(GpImage image, float[] srcRect, Unit srcUnit);
[DllImport("gdiplus")]
public static extern GpStatus
GdipGetImageBounds(GpImage image, byte[] srcRect, Unit srcUnit);
[DllImport("gdiplus")]
public static extern GpStatus
GdipGetImageDimension(GpImage image, out float width, out float height);
[DllImport("gdiplus")]
public static extern GpStatus
GdipGetImageType(GpImage image, out ImageType type);
[DllImport("gdiplus")]
public static extern GpStatus
GdipGetImageWidth(GpImage image, out uint width);
[DllImport("gdiplus")]
public static extern GpStatus
GdipGetImageHeight(GpImage image, out uint height);
[DllImport("gdiplus")]
public static extern GpStatus
GdipGetImageHorizontalResolution(GpImage image, out float resolution);
[DllImport("gdiplus")]
public static extern GpStatus
GdipGetImageVerticalResolution(GpImage image, out float resolution);
[DllImport("gdiplus")]
public static extern GpStatus
GdipGetImageFlags(GpImage image, out uint flags);
[DllImport("gdiplus")]
public static extern GpStatus
GdipGetImageRawFormat(GpImage image, out Guid format);
[DllImport("gdiplus")]
public static extern GpStatus
GdipGetImagePixelFormat(GpImage image, out PixelFormat format);
[DllImport("gdiplus")]
public static extern GpStatus
GdipGetImageThumbnail(GpImage image, uint thumbWidth, uint thumbHeight,
out GpImage thumbImage,
IntPtr /*GetThumbnailImageAbort*/ callback, IntPtr callbackData);
[DllImport("gdiplus")]
public static extern GpStatus
GdipGetEncoderParameterListSize(GpImage image, ref Guid clsidEncoder,
out uint size);
[DllImport("gdiplus")]
public static extern GpStatus
GdipGetEncoderParameterList(GpImage image, ref Guid clsidEncoder,
uint size, EncoderParameters buffer);
[DllImport("gdiplus")]
public static extern GpStatus
GdipImageGetFrameDimensionsCount(GpImage image, out uint count);
[DllImport("gdiplus")]
public static extern GpStatus
GdipImageGetFrameDimensionsList(GpImage image, Guid[] dimensionIDs,
uint count);
[DllImport("gdiplus")]
public static extern GpStatus
GdipImageGetFrameCount(GpImage image, ref Guid dimensionID,
out uint count);
[DllImport("gdiplus")]
public static extern GpStatus
GdipImageSelectActiveFrame(GpImage image, ref Guid dimensionID,
uint frameIndex);
[DllImport("gdiplus")]
public static extern GpStatus
GdipImageRotateFlip(GpImage image, RotateFlipType rfType);
//[DllImport("gdiplus")] public static extern GpStatus
//GdipGetImagePalette(GpImage image, ColorPalette *palette, int size);
//[DllImport("gdiplus")] public static extern GpStatus
//GdipSetImagePalette(GpImage image, ColorPalette *palette);
//[DllImport("gdiplus")] public static extern GpStatus
//GdipGetImagePaletteSize(GpImage image, out int size);
[DllImport("gdiplus")]
public static extern GpStatus
GdipGetPropertyCount(GpImage image, out uint numOfProperty);
[DllImport("gdiplus")]
public static extern GpStatus
GdipGetPropertyIdList(GpImage image, uint numOfProperty, PROPID[] list);
[DllImport("gdiplus")]
public static extern GpStatus
GdipGetPropertyItemSize(GpImage image, PROPID propId, out uint size);
/*
[DllImport("gdiplus")] public static extern GpStatus
GdipGetPropertyItem(GpImage image, PROPID propId, uint propSize,
PropertyItem* buffer);
[DllImport("gdiplus")] public static extern GpStatus
GdipGetPropertySize(GpImage image, out uint totalBufferSize,
out uint numProperties);
[DllImport("gdiplus")] public static extern GpStatus
GdipGetAllPropertyItems(GpImage image, uint totalBufferSize,
uint numProperties, PropertyItem* allItems);
[DllImport("gdiplus")] public static extern GpStatus
GdipRemovePropertyItem(GpImage image, PROPID propId);
[DllImport("gdiplus")] public static extern GpStatus
GdipSetPropertyItem(GpImage image, PropertyItem* item);
[DllImport("gdiplus")] public static extern GpStatus
GdipImageForceValidation(GpImage image);
*/
[DllImport("gdiplus")] public static extern GpStatus
GdipDrawImage(GpGraphics graphics, GpImage image, float x, float y);
[DllImport("gdiplus")] public static extern GpStatus
GdipDrawImageI(GpGraphics graphics, GpImage image, int x, int y);
[DllImport("gdiplus")] public static extern GpStatus
GdipDrawImageRect(GpGraphics graphics, GpImage image, float x, float y,
float width, float height);
[DllImport("gdiplus")] public static extern GpStatus
GdipDrawImageRectI(GpGraphics graphics, GpImage image, int x, int y,
int width, int height);
[DllImport("gdiplus")] public static extern GpStatus
GdipDrawImagePoints(GpGraphics graphics, GpImage image,
GpPointF[] dstpoints, int count);
[DllImport("gdiplus")] public static extern GpStatus
GdipDrawImagePointsI(GpGraphics graphics, GpImage image,
GpPoint[] dstpoints, int count);
[DllImport("gdiplus")] public static extern GpStatus
GdipDrawImagePointRect(GpGraphics graphics, GpImage image, float x,
float y, float srcx, float srcy, float srcwidth,
float srcheight, Unit srcUnit);
[DllImport("gdiplus")] public static extern GpStatus
GdipDrawImagePointRectI(GpGraphics graphics, GpImage image, int x,
int y, int srcx, int srcy, int srcwidth,
int srcheight, Unit srcUnit);
[DllImport("gdiplus")] public static extern GpStatus
GdipDrawImageRectRect(GpGraphics graphics, GpImage image, float dstx,
float dsty, float dstwidth, float dstheight,
float srcx, float srcy, float srcwidth, float srcheight,
Unit srcUnit,
GpImageAttributes imageAttributes,
IntPtr callback, IntPtr callbackData);
[DllImport("gdiplus")] public static extern GpStatus
GdipDrawImageRectRectI(GpGraphics graphics, GpImage image, int dstx,
int dsty, int dstwidth, int dstheight,
int srcx, int srcy, int srcwidth, int srcheight,
Unit srcUnit,
GpImageAttributes imageAttributes,
IntPtr callback, IntPtr callbackData);
[DllImport("gdiplus")] public static extern GpStatus
GdipDrawImagePointsRect(GpGraphics graphics, GpImage image,
GpPointF[] points, int count, float srcx,
float srcy, float srcwidth, float srcheight,
Unit srcUnit,
GpImageAttributes imageAttributes,
IntPtr callback, IntPtr callbackData);
[DllImport("gdiplus")] public static extern GpStatus
GdipDrawImagePointsRectI(GpGraphics graphics, GpImage image,
GpPoint[] points, int count, int srcx,
int srcy, int srcwidth, int srcheight,
Unit srcUnit,
GpImageAttributes imageAttributes,
IntPtr callback, IntPtr callbackData);
}
}