Ejemplo n.º 1
0
        private Rectangle GetImageRectangle(float dpi)
        {
            var rect   = Rectangle.ToRectangleF();
            var mul    = dpi / 72f;
            var values = new[] { rect.X *mul, rect.Y *mul, rect.Width *mul, rect.Height *mul };

            // BUG 0015690
            for (int i = 0; i < values.Length; i++)
            {
                var v = SMath.Round(values[i]);
                if (SMath.Abs(v - values[i]) < 0.01f)
                {
                    values[i] = (float)v;
                }
            }

            int x      = (int)SMath.Floor(values[0]);
            int y      = (int)SMath.Floor(values[1]);
            int width  = (int)SMath.Ceiling(values[2]);
            int height = (int)SMath.Ceiling(values[3]);

            return(new Rectangle(x, y, width, height));
        }
Ejemplo n.º 2
0
 public void SetClip(Rectangle rect, CombineMode combineMode)
 {
     SetClip (rect.ToRectangleF (), combineMode);
 }
Ejemplo n.º 3
0
 public override void DrawImage(object backend, object img, Rectangle srcRect, Rectangle destRect, double alpha)
 {
     CGContext ctx = ((CGContextBackend)backend).Context;
     NSImage image = (NSImage) img;
     var rect = new RectangleF (0, 0, (float)destRect.Width, (float)destRect.Height);
     ctx.SaveState ();
     ctx.SetAlpha ((float)alpha);
     ctx.TranslateCTM ((float)destRect.X, (float)destRect.Y + rect.Height);
     ctx.ScaleCTM (1f, -1f);
     ctx.DrawImage (rect, image.AsCGImage (RectangleF.Empty, null, null).WithImageInRect (srcRect.ToRectangleF ()));
     ctx.RestoreState ();
 }
Ejemplo n.º 4
0
 public void DrawPie(Pen pen, Rectangle rect, float startAngle, float sweepAngle)
 {
     DrawPie(pen, rect.ToRectangleF(), startAngle, sweepAngle);
 }
Ejemplo n.º 5
0
 public void DrawImage(Image image, Rectangle rect)
 {
     DrawImage(image, rect.ToRectangleF());
 }
Ejemplo n.º 6
0
 public void DrawEllipse(Pen pen, Rectangle rect)
 {
     DrawEllipse(pen, rect.ToRectangleF());
 }
Ejemplo n.º 7
0
 public void DrawImage(object backend, object img, Rectangle srcRect, Rectangle destRect, double alpha)
 {
     CGContext ctx = ((CGContextBackend)backend).Context;
     NSImage image = (NSImage) img;
     ctx.SaveState ();
     ctx.SetAlpha ((float)alpha);
     ctx.DrawImage (destRect.ToRectangleF (), image.AsCGImage (RectangleF.Empty, null, null).WithImageInRect (srcRect.ToRectangleF ()));
     ctx.RestoreState ();
 }
Ejemplo n.º 8
0
        public override void DrawImage(Image image, Rectangle destRect, int srcX, int srcY, int srcWidth, int srcHeight, GraphicsUnit srcUnit, ImageAttributes imageAttr)
        {
            if (srcUnit != GraphicsUnit.Pixel)
                throw new NotImplementedException();

            Bitmap bitmap = _imageAttributesCache.GetOrCreateBitmapFromImageAndAttributes(image, imageAttr);

            DrawTexture(bitmap, texture =>
            {
                RectangleF dstRect = destRect.ToRectangleF();
                RectangleF srcRect = new RectangleF(0, 0, texture.OriginalWidth, texture.OriginalHeight);
                texture.Draw(dstRect, srcRect);
            });
        }
Ejemplo n.º 9
0
 public override void FillRectangle(Brush brush, Rectangle rect)
 {
     FillRectangle(brush, rect.ToRectangleF());
 }