C# 从windows窗体到Silverlight的图形?
以下代码适用于windows窗体。 我怎样才能对Silverlight这样做? 我想没有图形对象C# 从windows窗体到Silverlight的图形?,c#,.net,winforms,silverlight,graphics,C#,.net,Winforms,Silverlight,Graphics,以下代码适用于windows窗体。 我怎样才能对Silverlight这样做? 我想没有图形对象 Bitmap bm = new Bitmap(600, 600); Graphics g = Graphics.FromImage(bm); Brush b = new LinearGradientBrush( new Point(1, 1), new Point(600, 600), Color.White, Color.Red); Point[] points = new Point[] {n
Bitmap bm = new Bitmap(600, 600);
Graphics g = Graphics.FromImage(bm);
Brush b = new LinearGradientBrush(
new Point(1, 1), new Point(600, 600),
Color.White, Color.Red);
Point[] points = new Point[]
{new Point(10, 10),
new Point(77, 500),
new Point(590, 100),
new Point(250, 590),
new Point(300, 410)};
g.FillPolygon(b, points);
bm.Save("testandoImagem.jpg", ImageFormat.Jpeg);
Alan,即使是从SL客户端应用程序,您也可以在服务器端完成这项工作,您没有在用户界面中显示任何内容,我会将此代码放在业务层中,该层可以完全访问.NET Framework。请记住,从SL无法直接在客户端计算机上保存,因此应使用另一种方法。可以将形状渲染为可写位图,但Silverlight没有内置的将数据编码为JPEG的支持 请参见以下问题:
WriteableBitmap wb = new WriteableBitmap(600, 600);
Polygon p = new Polygon();
p.Points = new PointCollection() { new Point(10, 10), new Point(77, 500), new Point(590, 100), new Point(250, 590), new Point(300, 410) };
p.Fill = new LinearGradientBrush()
{
//Gradient angle is 0,0 to 1,1 by default
GradientStops = new GradientStopCollection() {
new GradientStop() { Color = Colors.White, Offset = 0 },
new GradientStop() { Color = Colors.Red, Offset = 1 } }
};
wb.Render(p, null);
wb.Invalidate();
//Save WriteableBitmap as described in other questions