wpf Inkcanvas怎么保存为透明的图片

251
补充展位 Pages_Weblog_Get#0
文章摘要
此内容由人工摘要内容,并由AI根据文章内容进行润色
暂无内容

InkCanvas一般保存为图片可以使用RenderTargetBitmap 来截取控件的图像

代码如下

RenderTargetBitmap rtBitmap = new RenderTargetBitmap(96, 96, this.Screen.Width, this.Screen.Height, PixelFormats.Default);
rtBitmap.Render(this.inkCanvas);
BmpBitmapEncoder enc = new BmpBitmapEncoder();
enc.Frames.Add(BitmapFrame.Create(rtBitmap));
string filePath = "E:\\ink.jpg";
using (Stream s = File.Create(filePath))
{
    encoder.Save(s);      
}

但以上写法有个缺陷 那就是无法保存出透明背景的效果

这里提供两个导出透明背景图片思路

InkCanvas导出透明背景图像

  1. 就是拿到InkCanvas的墨迹路径 然后在新的透明画布上画出来再导出图像
  2. 合成导出不透明图像后 二次处理将白色部分处理成透明的
补充展位
Pages_Weblog_Get#26d2acfe-209c-4322-a0ac-27018fdf024b
补充展位 Pages_Weblog_Get#1
补充展位 Pages_Weblog_Get#2
专题推荐
暂无内容
补充展位 Pages_Weblog_Get#3