1
我有一个画布,其中包含一个Image,在其中展示现有的BMP。我在画布上绘制矩形并将它们添加到儿童角色。当我点击保存时,我想更新底层的BMP文件。绘制到WPF画布的位图
以下代码有效,但绘制到BMP的矩形比我绘制的小得多。我猜这个坐标有一些不同吗?也许我不应该使用System.Drawing?
using (Graphics g = Graphics.FromImage(image))
{
g.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceCopy;
foreach (var child in canvas.Children)
{
if (child is System.Windows.Shapes.Rectangle)
{
var oldRect = child as System.Windows.Shapes.Rectangle;
// need to do something here to make the new rect bigger as the scale is clearly different
var rect = new Rectangle((int)Canvas.GetLeft(oldRect), (int)Canvas.GetTop(oldRect), (int)oldRect.Width, (int)oldRect.Height);
g.FillRectangle(Brushes.Black, rect);
}
}
... code to save bmp
欢迎任何建议!
由于
非常好,非常感谢。我实际上没有明白你的答案,但至少我现在有一个地方可以开始阅读。这成像goop对我来说都是新的。 – Jonesie