问题标签 [writablebitmap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
102 浏览

c# - 重新计算“WriteableBitmap”时的性能问题

由于我的问题相当罕见,而且我不知道是什么原因造成的,因此我将尝试包含所有可能与之相关的代码,并精简到最基本的部分以避免不必要的混乱。

基本上,我有一个TabControl包含TabItemswhoesContent是 customUserControl的。这些控件具有以下形式:

行和列的数量取决于所使用的控件,范围从 1x1 网格中的单个单元格到 3x2 网格中的 6 个单元格(每个都包含ScrollViewer)。

现在到我的实际 C# 代码。用户可以在每个单元格中添加WriteableBitmap代码组织如下:

通过该程序,用户可以更改选项卡以更改currentSpace并单击单元格以更改各自的currentPlace两者,只需更改引用即可,即currentSpace = space其中space指的WorkSpace是包含新选择的TabItem

现在问题如下。当一个选项卡包含一个简单的 1x1 网格,其中包含一个图像并且我移动滑块时,它运行得非常顺利。当一个选项卡包含一个 3x2 网格并且该网格中只有一个单元格包含 aWorkPlace和 abitmap时,null它的工作原理相同。但是,当 3x2 网格完全被“painted”填充bitmap并且滑块移动时,会出现明显的滞后,即使 6 个图像中只有一个被重新计算重绘。我不明白为什么会这样。它可能与渲染或对象引用有关,但我不太了解 C#,无法在这里看到和问题。

希望代码不会太长(我已经尽可能地精简了)并且足够清晰。如果没有,请说出来,我会更新/添加它。在这个程序的早期版本中,用户界面基本相同,但图像的重新计算却完全不同,但我从未观察到这个问题。

0 投票
2 回答
197 浏览

c# - 如何清除WritableBitmap的内存

我正在使用从图库中挑选图像PhotoChooserTask,这是我的设置

问题:这种方式只适用于.JPEG图像

为了使它与 other 一起工作image formats,我尝试了这个:

这种方式适用于不同的图像格式,但内存效率不高。

bytes为了更好地理解,我在每行之后提到了使用的数量。

问题:在后面的代码片段中,我不再需要 wbmp,如何清除 wbmp 对象使用的内存?

0 投票
1 回答
986 浏览

c# - Windows Phone 8.1 中的 WriteableBitmap.Pixels

我正在编写一个 Windows Phone 8.1 (WINRT) 应用程序。我正在使用fileopenpicker从图库中选择一张图片,然后将其显示在我的应用程序中。但我希望用户可以在显示在应用程序之前裁剪此图像。

在 windows phone 8 中,我们使用了具有宽度属性和自动裁剪选项的Photochooser 任务。

现在我正在尝试使用它: Windows Phone 8.0: Image Crop With Rectangle

但是Windows Phone 8.1中没有WriteableBitmap.Pixels。用什么代替 WriteableBitmap.Pixels?

0 投票
0 回答
695 浏览

c# - 为什么我的位图调色板为空?

我有以下代码:

问题是bitmap.Palette属性为空。为什么?我该如何解决这个问题?

编辑:

我将像素格式设置为PixelFormats.Indexed8,但我无法更改像素值以便在我的调色板中设置特定索引。例如:

color_data为了将像素颜色设置为第二种调色板颜色(在这种情况下为黄色),我需要设置什么值?

0 投票
2 回答
3465 浏览

c# - 如何在 Windows 10 uwp 中有效地使用 WriteableBitmap.setpixel()?

我有一个场景

  • 选择一个图像文件,然后使用 BitmapDecoder 将源转换为 WriteableBitmap 并将 image.source 设置为 WriteableBitmap。
  • 现在,当用户点击图像时,我会得到坐标,然后想用特定颜色为该像素周围的整个区域着色。(如绘画中的填充选项)。

我使用的代码是

这有效,但非常低效。我想知道有没有更好的方法来做到这一点。

编辑:使用库 WriteableBitmapEx。

0 投票
2 回答
499 浏览

c# - 为什么访问WriteableBitmap Image中的像素时会出现AccessViolationException?

我有一个从相机到 WPF 中的图像的视频流。我试图在显示 WritableBitMap Image 之前逐个像素地访问它。作为测试,我试图将整个图像设置为白色或黑色。但是,在这两种情况下,我都会收到 AccessViolationException 错误。

我检查了其他帖子,似乎这个错误非常广泛,并不特定于我的情况。我似乎不知道为什么我没有得到这个工作。

那么在我的情况下,使用像素的最佳方式是什么?或者为什么这不起作用?任何帮助表示赞赏

0 投票
1 回答
93 浏览

windows-runtime - 将 BitmapImage 转换为 WritableBitmap Windows phone 8.1 RT(运行时)

我需要在图像显示之前对其进行灰度化。图片来自服务器。我使用BitmapImage作为SourceImage。我可以使用BitmapImage显示图像。

现在我需要对图像进行灰度化,因为我发现可以使用 WritableBitmap 将其转换为灰度。我将WritableBitmapEx.WinRT库用于灰度。

但问题是我无法在 WinRT 中将BitmapImage 转换为 WritableBitmap

欢迎任何建议。

谢谢

0 投票
2 回答
475 浏览

c# - C# UWP10 中 WriteableBitmap 中的字节 [] 不正确

我想从 WriteableBitmap 获取 base64 字符串。我相信 byte[] 是不正确的。

因为:

从 base64 创建图像的代码正在运行。从文件发送 base64 字符串时对此进行了测试。但是,当我将 WriteableBitmap 函数用于 base64 时,我什么也看不到。

到目前为止我的尝试。

测试示例:

byte[] 格式是否错误?如果是这样,我该如何纠正?

我的新尝试

此尝试不会将我的 byte[] 更改为正确的 fromat。

0 投票
1 回答
562 浏览

wpf - WPF 不支持 10 位显示器(又名 30 位颜色)吗?

我需要在 WPF 图像查看应用程序中支持每像素 10 位显示(又名 30 位颜色)。

我有一个工作设置(10 位屏幕和 Nvidia Quadro),我可以通过在 PhotoShop 中使用渐变测试来验证 10 位支持是否有效:(http://www.tedlansingphotography.com/blog/?p=287)和一个 NEC 演示程序(据我所知,两者都使用 OpenGL)。

但是,我无法让我的 WPF 应用程序在没有条带的情况下显示漂亮的渐变。我尝试使用 PixelFormats.Rgb48 和 PixelFormats.Bgr101010 在程序上生成 WritableBitmap,但是当我在屏幕上绘制它时(通过将其分配给 System.Windows.Controls.Image.Souce)我仍然看到条带。

  1. WPF 不支持 10 位显示器吗?
  2. 是否有任何替代的 WPF 友好 API 支持它(或者我必须在 OpenGL 中重写程序)?
0 投票
0 回答
70 浏览

image-processing - 我可以为 Winrt 应用程序创建填充和橡皮擦工具,例如 Win2d 或Sharpdx 在Windows 中的绘画应用程序吗?

我尝试通过 GDI 创建填充和橡皮擦工具,但这种方式对于 Windows 手机设备来说太慢了,并且使用这种方法处理大照片对于这些设备来说太难了。我搜索替代解决方案并Image Processing找到但不确定这些 Api 是否可以帮助我创建这些工具。Win2DSharpdx

这是填写工具winrtxamltoolkit

这是Ereaser工具WriteableBitmapEx

有没有办法将此代码转换为win2dor Sharpdx