问题标签 [writeablebitmap]

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 投票
1 回答
1169 浏览

.net - 用颜色覆盖 WriteableBitmap

我正在尝试在 Silverlight 中覆盖具有某种颜色的 WriteableBitmap。我有一个黑白基本图像,我用它来为新的合成图像创建更小的 WriteableBitmap 图像,我想在将源图像剪切的黑色或白色部分添加到某种颜色之前将其覆盖到合成图像。

我现在正在做的是:

我尝试了http://blogs.silverarcade.com/silverlight-games-101/15/silverlight-blitting-and-blending-with-silverlights-writeablebitmap/上的方法,并使用了 hxxp://writeablebitmapex.codeplex 中的扩展方法.com/,但在将剪切图像渲染到复合图像之前,我似乎无法在剪切图像上获得颜色叠加。

有谁知道这样做的好方法?

提前致谢。

0 投票
1 回答
577 浏览

silverlight - 在 WebBrowser 控件中获取 Silverlight Canvas

我有一个 webbrowser 控件,它加载一个包含 silverlight 对象的 html 页面。

我想使用 webbrowser 控件来获取 silverlight 画布,以便可以将其传递给 WriteableBitmap() 对象。

silverlight 被加载到一个名为 SilverlightHostControl 的 div 中,我试图在 C# 中像这样得到它:

这将返回一个包含 silverlight 对象的 {System.Windows.Forms.HtmlElement},但我不知道如何获取 Silverlight 对象,因此我可以使用 WriteableBitmap() 对象。

0 投票
2 回答
4102 浏览

wpf - Wpf:为什么 WriteableBitmap 变慢了?

有一个关于 WriteableBitmap的简单MSDN 示例。

它显示了如何通过在按下鼠标并在 WPF -Image 控件上移动时仅更新一个像素来使用光标绘制手绘线。

现在我试图理解快速移动鼠标指针时的以下行为:

如果图像/位图尺寸相对较小,例如 800:600 像素,则最后绘制的像素总是与鼠标指针位置“同步”,即没有延迟,对鼠标移动的反应非常快。

但是如果位图变大,例如 1300:1050 像素,您会注意到延迟,最后绘制的像素总是在移动鼠标指针之后出现一点延迟。

所以在这两种情况下,只有一个像素用“ AddDirtyRect”更新,反应速度应该与位图大小无关!?但是当它的大小变大时,Writeablebitmap 似乎变慢了。

还是整个位图在每次writeableBitmap.Unlock();调用时都会以某种方式传输到图形设备,而不仅仅是AddDirtyRect方法中指定的矩形区域?

弗里茨

0 投票
1 回答
1014 浏览

wpf - 将 gdi+ 与 InteropBitmap 一起使用

是否可以将 WPF 的 InteropBitmap 与 gdi+ 一起使用?有什么例子吗?

(我需要它来进行 2D 绘图,许多小对象;我知道如何将 gdi+ 与 WriteableBitmap => 一起使用(参见 Danko 的帖子),但毕竟我读过 InteropBitmap 应该更快)

弗里茨

0 投票
3 回答
3419 浏览

c# - 为什么我的不安全代码块比我的安全代码慢?

我正在尝试编写一些代码来方便地处理视频帧。我将帧作为System.Windows.Media.Imaging.WriteableBitmap. 出于测试目的,我只是应用了一个简单的阈值过滤器,它将处理 BGRA 格式的图像,并根据 BGR 像素的平均值将每个像素分配为黑色或白色。

这是我的“安全”版本:

这是我认为使用不安全代码块和 WriteableBitmap Back Buffer 而不是前缓冲区的直接翻译:

这是我第一次尝试不安全的代码块和指针,所以逻辑可能不是最优的。

我已经使用以下方法在同一个 WriteableBitmaps 上测试了两个代码块:

所以我正在分析相同的图像。输入视频帧流的测试运行:

为什么我的不安全版本总是变慢?是因为使用了后台缓冲区吗?还是我做错了什么?

谢谢

0 投票
2 回答
232 浏览

silverlight - 在替换动画的 UIElements 时如何提高 Silverlight WritableBitmap 的质量

我正在制作一个动画,我暂时降低UIElements 和覆盖WritableBitmap原始版本的可见性Image

我遇到的问题是,当我在带有文本的元素上执行此操作时,会导致图像明显模糊和变暗,这意味着从UIElementto的切换Image很明显。

有没有人经历过这个和/或知道如何处理这个问题?

0 投票
2 回答
7046 浏览

wpf - 使用 WPF WriteableBitmap.BackBuffer 绘制线条

您是否知道任何提供使用 WPF WriteableBitmap 和理想的 BackBuffer 绘制简单形状(线条和可选的其他形状)的方法的库?我知道 Silverlight 有一个 WriteableBitmapEx 项目,但是有 WPF 等价物吗?

0 投票
2 回答
1022 浏览

.net - .NET 4 中的 WriteableBitmap

我遇到了一个问题:我想为 WriteableBitmap 对象使用 Render() 方法。但是,正如我所注意到的,如果不使用 Silverlight 程序集 System.Windows.dll,则该方法不可用。我需要在我的项目中使用 RenderTargetBitmap(标准 .net 的 PresentationCore 程序集)。这就是问题所在 - 两个程序集中都有一些类的定义,因此它们是冲突的。

基本上,我需要在 Bgra32 位图中添加一些东西。但是,RenderTargetBitmap 仅适用于 Pbgra32 的。我发现使用 WriteableBitmap 来渲染会很好。也许我错了?

你有什么想法?

预先感谢您的回复!

干杯

0 投票
4 回答
2661 浏览

c# - 如何为 WriteableBitmap 禁用 silverlight 跨域内容保护

我在 Silverlight 中有一张 Esri 地图,我正在尝试获取屏幕截图。但是,我面临 writeablebitmap 的跨域内容保护,说“像素不可访问”。

有没有办法可以禁用它?或silverlight 3或4中的任何其他工作?

0 投票
1 回答
6374 浏览

silverlight - Silverlight:将 WriteableBitmap 转换为流

给定一个 WriteableBitmap,如何将位图保存回图像流(JPG 或 BMP)?

我的情况是:

  1. 显示 OpenFileDialog,让用户选择图像
  2. 将图像加载到 WriteableBitmap
  3. 调整图像大小
  4. 将图像流发送到 Web 服务

步骤#4是我遇到的麻烦。我怎样才能从 WriteableBitmap -> Stream 开始?