我已经在画布上绘制了椭圆,现在如何将其保存为图像。我知道你不能直接将画布保存为图像,也不能截图。我在 C#/xaml 中工作。下面是我在画布上绘制椭圆的代码。
private void canvasDraw_PointerMoved(object sender, PointerRoutedEventArgs e)
{
if (drawing)
{
PointerPoint current = e.GetCurrentPoint((UIElement)sender);
// Line line = new Line() { X1 = start.Position.X, Y1 = start.Position.Y, X2 = current.Position.X, Y2 = current.Position.Y };
//line.Stroke = new SolidColorBrush(Colors.Black);
Ellipse circle = new Ellipse();
circle.SetValue(Canvas.LeftProperty, current.Position.X);
circle.SetValue(Canvas.TopProperty, current.Position.Y);
circle.Height = 20;
circle.Width = 20;
circle.Fill = currentBrush;
circle.Opacity = 0.7;
circle.SetValue(Canvas.ZIndexProperty,1);
canvasDraw.Children.Add(circle);
}
}
编辑:我可以使用 InkManager 保存图像。我将每个 Ellipse 存储在 inkmanager 中并调用 SaveAsync 方法,但最后一个问题是图像是黑色的,例如,如果我绘制红色椭圆,则保存的图像有黑色椭圆。