public Aurigma.GraphicsMill.Bitmap RenderWorkspace(float renderingResolution) { if (renderingResolution < VObject.Eps) { throw new System.ArgumentOutOfRangeException("renderingResolution", StringResources.GetString("ExStrValueShouldBeAboveZero")); } float workspaceWidth, workspaceHeight; Aurigma.GraphicsMill.Unit prevUnit = _hostViewer.Unit; _hostViewer.Unit = Aurigma.GraphicsMill.Unit.Point; try { workspaceWidth = _hostViewer.WorkspaceWidth; workspaceHeight = _hostViewer.WorkspaceHeight; } finally { _hostViewer.Unit = prevUnit; } System.Drawing.Rectangle controlRectangle = CoordinateMapper.WorkspaceToControl(new System.Drawing.RectangleF(0, 0, workspaceWidth, workspaceHeight), 1.0f, System.Drawing.Point.Empty, Aurigma.GraphicsMill.Unit.Point, renderingResolution); controlRectangle.Width = System.Math.Max(1, controlRectangle.Width); controlRectangle.Height = System.Math.Max(1, controlRectangle.Height); Aurigma.GraphicsMill.Bitmap result = new Aurigma.GraphicsMill.Bitmap(controlRectangle.Width, controlRectangle.Height, Aurigma.GraphicsMill.PixelFormat.Format32bppArgb, Aurigma.GraphicsMill.RgbColor.Transparent); try { using (var g = result.GetGdiPlusGraphics()) { CoordinateMapper coordMapper = new CoordinateMapper(); coordMapper.Resolution = renderingResolution; coordMapper.Zoom = 1.0f; coordMapper.Viewport = controlRectangle; _alwaysUseGdiPlus = true; DrawContent(g, controlRectangle, coordMapper); _alwaysUseGdiPlus = false; } } catch { if (result != null) { result.Dispose(); } throw; } result.DpiX = renderingResolution; result.DpiY = renderingResolution; return(result); }
internal static float ConvertPixelsToUnits(float resolution, float value, Aurigma.GraphicsMill.Unit unit) { if (resolution < VObject.Eps) { throw new System.ArgumentOutOfRangeException("resolution"); } if (unit == Aurigma.GraphicsMill.Unit.Pixel) { return(value); } float inches = value / resolution; return(Aurigma.GraphicsMill.UnitConverter.ConvertUnitsToUnits(resolution, inches, Aurigma.GraphicsMill.Unit.Inch, unit)); }
public float GetControlPixelsPerUnitX(Aurigma.GraphicsMill.Unit unit) { float result; if (unit == Aurigma.GraphicsMill.Unit.Pixel) { result = _zoom; } else { float inches = Aurigma.GraphicsMill.UnitConverter.ConvertUnitsToUnits(_resolution, 1.0f, unit, Aurigma.GraphicsMill.Unit.Inch); result = inches * _resolution * _zoom; } return(result); }
public virtual float GetControlPixelsPerUnitX(Aurigma.GraphicsMill.Unit workspaceUnit) { float result; if (workspaceUnit == Aurigma.GraphicsMill.Unit.Pixel) { result = _zoom; } else { float inches = Aurigma.GraphicsMill.UnitConverter.ConvertUnitsToUnits(this.ViewerResolution, 1.0f, workspaceUnit, Aurigma.GraphicsMill.Unit.Inch); result = inches * _viewerResolution * _zoom; } return(result); }
public System.Drawing.Rectangle WorkspaceToControl(System.Drawing.RectangleF workspaceRect, Aurigma.GraphicsMill.Unit workspaceUnit) { return(CoordinateMapper.WorkspaceToControl(workspaceRect, _zoom, _viewport.Location, workspaceUnit, _resolution)); }
public System.Drawing.RectangleF ControlToWorkspace(System.Drawing.Rectangle controlRectangle, Aurigma.GraphicsMill.Unit workspaceUnit) { return(CoordinateMapper.ControlToWorkspace(controlRectangle, _zoom, _viewport.Location, workspaceUnit, _resolution)); }
public static System.Drawing.Rectangle WorkspaceToControl(System.Drawing.RectangleF workspaceRect, float zoom, System.Drawing.Point viewportOrigin, Aurigma.GraphicsMill.Unit workspaceUnit, float dpi) { System.Drawing.Point lt, rb; lt = WorkspaceToControl(workspaceRect.Location, zoom, viewportOrigin, workspaceUnit, dpi); rb = WorkspaceToControl(new System.Drawing.PointF(workspaceRect.Right, workspaceRect.Bottom), zoom, viewportOrigin, workspaceUnit, dpi); return(System.Drawing.Rectangle.FromLTRB(lt.X, lt.Y, rb.X, rb.Y)); }
public static System.Drawing.RectangleF ControlToWorkspace(System.Drawing.Rectangle controlRect, float zoom, System.Drawing.Point viewportOrigin, Aurigma.GraphicsMill.Unit workspaceUnit, float dpi) { System.Drawing.PointF lt, rb; lt = ControlToWorkspace(controlRect.Location, zoom, viewportOrigin, workspaceUnit, dpi); rb = ControlToWorkspace(new System.Drawing.Point(controlRect.Right, controlRect.Bottom), zoom, viewportOrigin, workspaceUnit, dpi); return(System.Drawing.RectangleF.FromLTRB(lt.X, lt.Y, rb.X, rb.Y)); }
public static System.Drawing.Point WorkspaceToControl(System.Drawing.PointF workspacePoint, float zoom, System.Drawing.Point viewportOrigin, Aurigma.GraphicsMill.Unit workspaceUnit, float dpi) { if (workspaceUnit != Aurigma.GraphicsMill.Unit.Pixel) { workspacePoint.X = Aurigma.GraphicsMill.UnitConverter.ConvertUnitsToPixels(dpi, workspacePoint.X * zoom, workspaceUnit); workspacePoint.Y = Aurigma.GraphicsMill.UnitConverter.ConvertUnitsToPixels(dpi, workspacePoint.Y * zoom, workspaceUnit); } int x, y; x = (int)(workspacePoint.X - viewportOrigin.X); y = (int)(workspacePoint.Y - viewportOrigin.Y); return(new System.Drawing.Point(x, y)); }
public static System.Drawing.PointF ControlToWorkspace(System.Drawing.Point controlPoint, float zoom, System.Drawing.Point viewportOrigin, Aurigma.GraphicsMill.Unit workspaceUnit, float dpi) { float x, y; x = (controlPoint.X + viewportOrigin.X) / zoom; y = (controlPoint.Y + viewportOrigin.Y) / zoom; if (workspaceUnit != Aurigma.GraphicsMill.Unit.Pixel) { x = ConvertPixelsToUnits(dpi, x, workspaceUnit); y = ConvertPixelsToUnits(dpi, y, workspaceUnit); } return(new System.Drawing.PointF(x, y)); }
public float GetControlPixelsPerUnitY(Aurigma.GraphicsMill.Unit unit) { return(GetControlPixelsPerUnitX(unit)); }
public virtual float GetControlPixelsPerUnitY(Aurigma.GraphicsMill.Unit workspaceUnit) { return(GetControlPixelsPerUnitX(workspaceUnit)); }
public virtual System.Drawing.RectangleF ControlToWorkspace(System.Drawing.Rectangle controlRectangle, Aurigma.GraphicsMill.Unit workspaceUnit) { System.Drawing.PointF lt, rb; lt = ControlToWorkspace(controlRectangle.Location, workspaceUnit); rb = ControlToWorkspace(new System.Drawing.Point(controlRectangle.Right, controlRectangle.Bottom), workspaceUnit); return(System.Drawing.RectangleF.FromLTRB(lt.X, lt.Y, rb.X, rb.Y)); }
public virtual System.Drawing.Rectangle WorkspaceToControl(System.Drawing.RectangleF workspaceRectangle, Aurigma.GraphicsMill.Unit workspaceUnit) { System.Drawing.Point lt, rb; lt = WorkspaceToControl(workspaceRectangle.Location, workspaceUnit); rb = WorkspaceToControl(new System.Drawing.PointF(workspaceRectangle.Right, workspaceRectangle.Bottom), workspaceUnit); return(System.Drawing.Rectangle.FromLTRB(lt.X, lt.Y, rb.X, rb.Y)); }
public abstract System.Drawing.PointF ControlToWorkspace(System.Drawing.Point controlPoint, Aurigma.GraphicsMill.Unit workspaceUnit);
public abstract System.Drawing.Point WorkspaceToControl(System.Drawing.PointF workspacePoint, Aurigma.GraphicsMill.Unit workspaceUnit);