//#if Net4 using System; using System.Collections.Generic; using System.Text; using CPF.Drawing; namespace CPF.GDIPlus { public static class Extension { public static System.Drawing.Color ToGdiColor(this Color color) { return System.Drawing.Color.FromArgb(color.A == 255 ? 254 : color.A, color.R, color.G, color.B); } public static Color ToColor(this System.Drawing.Color color) { return Color.FromArgb(color.A, color.R, color.G, color.B); } public static System.Drawing.PointF ToGdiPoint(this Point p) { return new System.Drawing.PointF((float)p.X, (float)p.Y); } public static DashStyles ToDashStyles(this System.Drawing.Drawing2D.DashStyle d) { return (DashStyles)(int)d; } public static System.Drawing.Drawing2D.DashStyle ToGdiDashStyle(this DashStyles d) { return (System.Drawing.Drawing2D.DashStyle)(int)d; } public static System.Drawing.Drawing2D.LineCap ToLineCap(this CapStyles c) { switch (c) { case CapStyles.Flat: return System.Drawing.Drawing2D.LineCap.Flat; case CapStyles.Square: return System.Drawing.Drawing2D.LineCap.Square; case CapStyles.Round: return System.Drawing.Drawing2D.LineCap.Round; case CapStyles.Triangle: return System.Drawing.Drawing2D.LineCap.Triangle; default: return System.Drawing.Drawing2D.LineCap.Flat; } } public static FontStyles ToFontStyles(this System.Drawing.FontStyle fontStyle) { return (FontStyles)(int)fontStyle; } public static System.Drawing.FontStyle ToFontStyle(this FontStyles fontStyle) { return (System.Drawing.FontStyle)(int)fontStyle; } public static Rect ToRect(this System.Drawing.Rectangle rect) { return new Rect(rect.X, rect.Y, rect.Width, rect.Height); } public static Rect ToRect(this System.Drawing.RectangleF rect) { return new Rect(rect.X, rect.Y, rect.Width, rect.Height); } public static System.Drawing.RectangleF ToRectangle(this Rect rect) { return new System.Drawing.RectangleF(rect.X, rect.Y, rect.Width, rect.Height); } public static Matrix ToMatrix(this System.Drawing.Drawing2D.Matrix matrix) { return new Matrix(matrix.Elements[0], matrix.Elements[1], matrix.Elements[2], matrix.Elements[3], matrix.Elements[4], matrix.Elements[5]); } public static System.Drawing.Drawing2D.Matrix ToMatrix(this Matrix matrix) { return new System.Drawing.Drawing2D.Matrix((float)matrix.M11, (float)matrix.M12, (float)matrix.M21, (float)matrix.M22, (float)matrix.OffsetX, (float)matrix.OffsetY); } } } //#endif