| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171 |
- using System;
- using System.Drawing;
- using System.Runtime.InteropServices;
- namespace BGRABitmapLibrary
- {
- public static class BGRABitmap
- {
- /* Types */
-
- public enum MedianOption : byte { None, LowSmooth, MediumSmooth, HighSmooth };
-
- public enum ResampleFilter : byte { Box, Linear, HalfCosine, Cosine, Bicubic, Mitchell, Spline, Lanczos2, Lanczos3, Lanczos4, BestQuality };
-
- public enum RadialBlurType : byte { Normal, Disk, Corona, Precise, Fast, Box };
- /* Constructors */
- [DllImport("bgrabitmap", EntryPoint = "create")]
- public static extern void Create(int id);
- [DllImport("bgrabitmap", EntryPoint = "createwithsize")]
- public static extern void CreateWithSize(int id, int AWidth, int AHeight);
- [DllImport("bgrabitmap", EntryPoint = "destroy")]
- public static extern void Destroy(int id);
- [DllImport("bgrabitmap", EntryPoint = "destroyall")]
- public static extern void DestroyAll();
- [DllImport("bgrabitmap", EntryPoint = "gethighestid")]
- public static extern int GetHighestID();
- /* Files */
- [DllImport("bgrabitmap", EntryPoint = "createfromfile")]
- public static extern void CreateFromFile(int id, [MarshalAs(UnmanagedType.LPWStr)]string AFileName);
- [DllImport("bgrabitmap", EntryPoint = "savetofile")]
- public static extern void SaveToFile(int id, [MarshalAs(UnmanagedType.LPWStr)]string AFileName);
- /* Color */
- [DllImport("bgrabitmap", EntryPoint = "rgb")]
- public static extern uint rgb(byte red, byte green, byte blue);
- [DllImport("bgrabitmap", EntryPoint = "rgba")]
- public static extern uint rgba(byte red, byte green, byte blue, byte alpha);
- [DllImport("bgrabitmap", EntryPoint = "getblue")]
- public static extern byte getBlue(uint AColor);
- [DllImport("bgrabitmap", EntryPoint = "getgreen")]
- public static extern byte getGreen(uint AColor);
- [DllImport("bgrabitmap", EntryPoint = "getred")]
- public static extern byte getRed(uint AColor);
- [DllImport("bgrabitmap", EntryPoint = "getalpha")]
- public static extern byte getAlpha(uint AColor);
- [DllImport("bgrabitmap", EntryPoint = "setblue")]
- public static extern uint setBlue(uint AColor, byte AValue);
- [DllImport("bgrabitmap", EntryPoint = "setgreen")]
- public static extern uint setGreen(uint AColor, byte AValue);
- [DllImport("bgrabitmap", EntryPoint = "setred")]
- public static extern uint setRed(uint AColor, byte AValue);
- [DllImport("bgrabitmap", EntryPoint = "setalpha")]
- public static extern uint setAlpha(uint AColor, byte AValue);
- /* Pixels */
- [DllImport("bgrabitmap", EntryPoint = "fill")]
- public static extern void Fill(int id, uint AColor);
- [DllImport("bgrabitmap", EntryPoint = "setpixel")]
- public static extern void SetPixel(int id, int x, int y, uint AColor);
- [DllImport("bgrabitmap", EntryPoint = "getpixel")]
- public static extern uint GetPixel(int id, int x, int y);
- /* Filters */
- [DllImport("bgrabitmap", EntryPoint = "filtersmartzoom3")]
- public static extern void FilterSmartZoom3(int id, MedianOption Option);
-
- [DllImport("bgrabitmap", EntryPoint = "filtermedian")]
- public static extern void FilterMedian(int id, MedianOption Option);
-
- [DllImport("bgrabitmap", EntryPoint = "filtersmooth")]
- public static extern void FilterSmooth(int id);
-
- [DllImport("bgrabitmap", EntryPoint = "filtersharpen")]
- public static extern void FilterSharpen(int id, Single Amount);
-
- [DllImport("bgrabitmap", EntryPoint = "filtersharpenrect")]
- public static extern void FilterSharpen(int id, Rectangle ABounds, Single Amount);
-
- [DllImport("bgrabitmap", EntryPoint = "filtercontour")]
- public static extern void FilterContour(int id);
-
- [DllImport("bgrabitmap", EntryPoint = "filterpixelate")]
- public static extern void FilterPixelate(int id, int pixelSize, bool useResample, ResampleFilter filter);
-
- [DllImport("bgrabitmap", EntryPoint = "filterblurradial")]
- public static extern void FilterBlurRadial(int id, int radius, RadialBlurType blurType);
-
- [DllImport("bgrabitmap", EntryPoint = "filterblurradialrect")]
- public static extern void FilterBlurRadial(int id, Rectangle ABounds, int radius, RadialBlurType blurType);
-
- [DllImport("bgrabitmap", EntryPoint = "filterblurmotion")]
- public static extern void FilterBlurMotion(int id, int distance, Single angle, bool oriented);
-
- [DllImport("bgrabitmap", EntryPoint = "filterblurmotionrect")]
- public static extern void FilterBlurMotion(int id, Rectangle ABounds, int distance, Single angle, bool oriented);
-
- [DllImport("bgrabitmap", EntryPoint = "filtercustomblur")]
- public static extern void FilterCustomBlur(int id, int mask);
-
- [DllImport("bgrabitmap", EntryPoint = "filtercustomblur")]
- public static extern void FilterCustomBlur(int id, Rectangle ABounds, int mask);
-
- [DllImport("bgrabitmap", EntryPoint = "filteremboss")]
- public static extern void FilterEmboss(int id, Single angle);
-
- [DllImport("bgrabitmap", EntryPoint = "filterembossrect")]
- public static extern void FilterEmboss(int id, Single angle, Rectangle ABounds);
-
- [DllImport("bgrabitmap", EntryPoint = "filterembosshighlight")]
- public static extern void FilterEmboss(int id, bool FillSelection);
-
- [DllImport("bgrabitmap", EntryPoint = "filterembosshighlightborder")]
- public static extern void FilterEmboss(int id, bool FillSelection, uint BorderColor);
-
- [DllImport("bgrabitmap", EntryPoint = "filterembosshighlightborderandoffset")]
- public static extern void FilterEmboss(int id, bool FillSelection, uint BorderColor, Point Offset);
-
- [DllImport("bgrabitmap", EntryPoint = "filtergrayscale")]
- public static extern void FilterGrayscale(int id);
-
- [DllImport("bgrabitmap", EntryPoint = "filtergrayscalerect")]
- public static extern void FilterGrayscale(int id, Rectangle ABounds);
-
- [DllImport("bgrabitmap", EntryPoint = "filternormalize")]
- public static extern void FilterNormalize(int id, bool eachChannel);
- [DllImport("bgrabitmap", EntryPoint = "filternormalizerect")]
- public static extern void FilterNormalize(int id, Rectangle ABounds, bool eachChannel);
-
- [DllImport("bgrabitmap", EntryPoint = "filterrotate")]
- public static extern void FilterRotate(int id, PointF origin, Single angle, bool correctBlur);
-
- [DllImport("bgrabitmap", EntryPoint = "filtersphere")]
- public static extern void FilterSphere(int id);
-
- [DllImport("bgrabitmap", EntryPoint = "filtertwirl")]
- public static extern void FilterTwirl(int id, Point ACenter, Single ARadius, Single ATurn, Single AExponent);
-
- [DllImport("bgrabitmap", EntryPoint = "filtertwirlrect")]
- public static extern void FilterTwirl(int id, Rectangle ABounds, Point ACenter, Single ARadius, Single ATurn, Single AExponent);
-
- [DllImport("bgrabitmap", EntryPoint = "filtercylinder")]
- public static extern void FilterCylinder(int id);
-
- [DllImport("bgrabitmap", EntryPoint = "filterplane")]
- public static extern void FilterPlane(int id);
- }
- }
|