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)); }
public void SetClip(Rectangle rect, CombineMode combineMode) { SetClip (rect.ToRectangleF (), combineMode); }
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 (); }
public void DrawPie(Pen pen, Rectangle rect, float startAngle, float sweepAngle) { DrawPie(pen, rect.ToRectangleF(), startAngle, sweepAngle); }
public void DrawImage(Image image, Rectangle rect) { DrawImage(image, rect.ToRectangleF()); }
public void DrawEllipse(Pen pen, Rectangle rect) { DrawEllipse(pen, rect.ToRectangleF()); }
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 (); }
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); }); }
public override void FillRectangle(Brush brush, Rectangle rect) { FillRectangle(brush, rect.ToRectangleF()); }