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

编程开发
247
WPF
Inkcanvas
保存图片

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. 合成导出不透明图像后 二次处理将白色部分处理成透明的
WPF ListBox光标定位最后一行数据
.NET程序系统托盘运行出现多个同样的托盘图标的解决方法
WPF桌面程序开发怎么实现鼠标窗体穿透点击桌面
WPF实现程序窗体自定义拖拽
WPF如何实现设置窗体全屏显示包括任务栏
Windows桌面开发优秀的WPF界面开源UI组件 MahApps.Metro
关于WPF中Frame使用新Page切换内存上涨问题
WPF中某一个控件绑定其他指定UI控件的属性值
WPF Frame 里面页面间互相跳转
WPF 异步线程操作界面控件
WPF引用CommunityToolkit.Mvvm实现属性变动双向绑定的简单例子
WPF Frame实现功能类似web浏览器的历史记录倒退前进效果
暂无相关内容...
C#+WPF实现模仿实现的网易云音乐客户端源码
WPF实现的自定义工作大日历排班Calendar控件模板的例子源码
wpf实现大屏幕弹幕播放效果特效源码新手可参考下.rar
[人脸检测]基于C#OpenCvSharp+haarcascade人脸、人眼模型实现人脸检测源码
WPF实现读取USB摄像头实时视频展示以及导出实时截图的C#源码例子
免责声明 部分转载分享内容若侵犯您的权益,还请 邮件联系 侵删