从 BitmapImage WinUI 3 中删除黑色背景

问题描述 投票:0回答:1

第一次应用程序开发人员,我正在尝试去除扫描图像背面的黑色。该图像由多个不同的扫描仪发送并以 PNG 格式保存到桌面。我正在尝试获取保存的图像并删除黑色背景并在桌面应用程序中显示图像。

我找到了多种操作位图的方法,但这些方法不适用于我在 WinUI 3 中使用的 BitmapImage。

我也见过 WriteableBitmap 但我无法使用 CopyPixel() 或提供的任何其他方法。

这是我当前必须在应用程序中显示图像的代码:

BitmapImage bi = new BitmapImage();
bi.CreateOptions = BitmapCreateOptions.IgnoreImageCache;
bi.UriSource = new Uri(back);
this.Front.Source = bi;

我在 WinUI 3 中寻找的示例:

将特定位图图像颜色转换为透明

感谢任何帮助,谢谢!

c# mvvm winui-3 bitmapimage winui
1个回答
0
投票

我无法使用 CopyPixel() 或提供的任何其他方法。

就像..身体上无法?或者你只是不知道怎么做?因为将像素数据上传到

WriteableBitmap
:

非常简单
var softwareBitmap = ...;
softwareBitmap.CopyToBuffer(writeableBitmap.PixelBuffer);

一旦构建了

SoftwareBitmap
,您就可以使用
LockBuffer
通过常规指针操作随意编辑它。

© www.soinside.com 2019 - 2024. All rights reserved.