Пример #1
0
        public void DrawImage(Image img,
                              PointF[] destPoints,
                              int srcX, int srcY, int srcW, int srcH,
                              GraphicsUnitType unit, ImageAttributes ia)
        {
            Rectangle srcRect = new Rectangle(srcX, srcY, srcW, srcH);

            _g.DrawImage(img, destPoints, srcRect, (GraphicsUnit)unit, ia);
        }
Пример #2
0
        public void DrawImage(Image img,
                              int dstX, int dstY, int dstW, int dstH,
                              int srcX, int srcY, int srcW, int srcH,
                              GraphicsUnitType unit, ImageAttributes ia)
        {
            Rectangle destRect = new Rectangle(dstX, dstY, dstW, dstH);

            _g.DrawImage(img,
                         destRect,
                         srcX, srcY, srcW, srcH,
                         (GraphicsUnit)unit, ia);
        }
Пример #3
0
        /// <summary>
        /// Scales sizes to device units
        /// </summary>
        /// <param name="size"></param>
        /// <param name="unit"></param>
        /// <param name="g"></param>
        /// <returns></returns>
        public static float ScaleSizeToDeviceUnits(float size, GraphicsUnitType unit, IGraphics g)
        {
            if (unit == g.PageUnit)
            {
                return(size);
            }

            switch (unit)
            {
            case GraphicsUnitType.Point:
                size *= g.DpiY / 72f;
                break;

            case GraphicsUnitType.Display:
                //Heuristic for printer or display needed!
                size *= g.DpiY / (g.DpiY < 100 ? 72f : 100f);
                break;

            case GraphicsUnitType.Document:
                size *= g.DpiY / 300;
                break;

            case GraphicsUnitType.Inch:
                size *= g.DpiY;
                break;

            case GraphicsUnitType.Millimeter:
                size *= g.DpiY / 25.4f;
                break;

            case GraphicsUnitType.World:
                size *= g.DpiY / g.PageScale;
                break;

                /*
                 * case GraphicsUnitType.Pixel:
                 * default:
                 * //do nothing
                 * break;
                 */
            }
            return((float)Math.Round(size, MidpointRounding.AwayFromZero));
        }
Пример #4
0
        /// <summary>
        /// Scales sizes to device units
        /// </summary>
        /// <param name="size"></param>
        /// <param name="unit"></param>
        /// <param name="g"></param>
        /// <returns></returns>
        public static float ScaleSizeToDeviceUnits(float size, GraphicsUnitType unit, IGraphics g)
        {
            if (unit == g.PageUnit)
                return size;

            switch (unit)
            {
                case GraphicsUnitType.Point:
                    size *= g.DpiY / 72f;
                    break;
                case GraphicsUnitType.Display:
                    //Heuristic for printer or display needed!
                    size *= g.DpiY / (g.DpiY < 100 ? 72f : 100f) ;
                    break;
                case GraphicsUnitType.Document:
                    size *= g.DpiY / 300;
                    break;
                case GraphicsUnitType.Inch:
                    size *= g.DpiY;
                    break;
                case GraphicsUnitType.Millimeter:
                    size *= g.DpiY / 25.4f;
                    break;
                case GraphicsUnitType.World:
                    size *= g.DpiY / g.PageScale;
                    break;
                    /*
                case GraphicsUnitType.Pixel:
                default:
                    //do nothing
                    break;
                 */
            }
            return (float) Math.Round(size, MidpointRounding.AwayFromZero);
            
        }
Пример #5
0
 public void DrawImage(Image img,
     PointF[] destPoints,
     int srcX, int srcY, int srcW, int srcH,
     GraphicsUnitType unit, ImageAttributes ia)
 {
     Rectangle srcRect = new Rectangle(srcX, srcY, srcW, srcH);
     _g.DrawImage(img, destPoints, srcRect, (GraphicsUnit)unit, ia);
 }
Пример #6
0
 public void DrawImage(Image img,
     int dstX, int dstY, int dstW, int dstH,
     int srcX, int srcY, int srcW, int srcH,
     GraphicsUnitType unit, ImageAttributes ia)
 {
     Rectangle destRect = new Rectangle(dstX, dstY, dstW, dstH);
     _g.DrawImage(img,
         destRect,
         srcX, srcY, srcW, srcH,
         (GraphicsUnit)unit, ia);
 }