//========================================================================== public override Drawing GetBaseDrawing() { if (Data == null) { return(null); } ImageSource imageSource = null; switch (DataType) { case "jpeg": case "png": var bmp = new BitmapImage(); bmp.BeginInit(); bmp.StreamSource = new MemoryStream(Data); bmp.EndInit(); imageSource = bmp; break; case "svg+xml": imageSource = SvgReader.Load(new MemoryStream(Data)); break; } if (imageSource == null) { return(null); } return(new ImageDrawing(imageSource, new Rect( new Point(X.ToDouble(), Y.ToDouble()), new Size(Width.ToDouble(), Height.ToDouble()) ))); }
//========================================================================== public override Geometry GetBaseGeometry() { return(new RectangleGeometry(new Rect(new Point(X.ToDouble(), Y.ToDouble()), new Size(Width.ToDouble(), Height.ToDouble())), CornerRadiusX.ToDouble(), CornerRadiusY.ToDouble())); }
//========================================================================== public override Drawing GetBaseDrawing() { if (Data == null) { return(null); } string temp_file = Path.GetTempFileName(); using (FileStream file_stream = new FileStream(temp_file, FileMode.Create, FileAccess.Write)) using (BinaryWriter writer = new BinaryWriter(file_stream)) writer.Write(Data); return(new ImageDrawing(new BitmapImage(new Uri(temp_file)), new Rect( new Point(X.ToDouble(), Y.ToDouble()), new Size(Width.ToDouble(), Height.ToDouble()) ))); }
//========================================================================== public override Geometry GetBaseGeometry() { var eg = new EllipseGeometry( new Point(CenterX.ToDouble(), CenterY.ToDouble()), Radius.ToDouble(), Radius.ToDouble()); return(eg); }
//========================================================================== protected override GradientBrush SetBrush(GradientBrush brush) { LinearGradientBrush linear_gradient_brush = base.SetBrush(brush) as LinearGradientBrush; if (linear_gradient_brush != null) { linear_gradient_brush.StartPoint = new Point(X1.ToDouble(), Y1.ToDouble()); linear_gradient_brush.EndPoint = new Point(X2.ToDouble(), Y2.ToDouble()); } return(brush); }
//========================================================================== protected override GradientBrush SetBrush(GradientBrush brush) { RadialGradientBrush radial_gradient_brush = base.SetBrush(brush) as RadialGradientBrush; if (radial_gradient_brush != null) { double cx = CX.ToDouble(); double cy = CY.ToDouble(); double fx = (FX != null) ? FX.ToDouble() : cx; double fy = (FY != null) ? FY.ToDouble() : cy; radial_gradient_brush.GradientOrigin = new Point(fx, fy); radial_gradient_brush.RadiusX = R.ToDouble(); radial_gradient_brush.RadiusY = R.ToDouble(); radial_gradient_brush.Center = new Point(cx, cy); } return(brush); }
//========================================================================== public override Geometry GetBaseGeometry() { return(new EllipseGeometry( new Point(CenterX.ToDouble(), CenterY.ToDouble()), RadiusX.ToDouble(), RadiusY.ToDouble())); }
//========================================================================== public override Geometry GetBaseGeometry() { return(new LineGeometry(new Point(X1.ToDouble(), Y1.ToDouble()), new Point(X2.ToDouble(), Y2.ToDouble()))); }