问题标签 [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 回答
934 浏览

c# - 将网格的所有内容另存为图像

所以,我正在尝试将画布内容保存为图像。我正在使用它:

问题是图像没有显示画布内的所有内容。如果有按钮、图像或其他类似对象,它们不会显示。

我可以看到一个椭圆,但是如果我将图像设置为背景,则背景保持为空。

有没有办法解决这个问题?

0 投票
2 回答
4972 浏览

wpf - 将 System.Drawing.Bitmap 复制到 WriteableBitmap 的区域中

我目前在将 a 集成System.Drawing.Bitmap到 WPF时遇到了一些问题WriteableBitmap

我想BitmapWriteableBitmap.

以下代码显示了我是如何尝试这样做的。

非常感谢,

新克里普特

0 投票
2 回答
357 浏览

silverlight - 将 UIElement 呈现为 WriteableBitmap 时不考虑投影

我正在使用 Silverlight 4,并且无法正确生成UIElements应用了投影的位图。

在我的特定情况下,我使用WriteableBitmap该类来捕获Image已应用的控件的位图Matrix3DProjection。该投影表示非仿射变换,用于将图像变换为任意四边形。然后保存生成的位图供以后使用。

WriteableBitmap不幸的是,当捕获 a时,投影似乎被忽略了UIElement。这似乎也适用于任何可能附加的 RenderTransform,尽管这可以通过在WriteableBitmap接受 a 的构造函数上使用重载来解决Transform。似乎没有对预测进行过这样的考虑。

以下人为设计的代码示例说明了这一点。它转换的是一个Button而不是一个Image组件,但效果是一样的。

XAML:

后面的代码:

运行时,您会发现按钮的图像被渲染到Image组件中,但没有原始按钮本身明显的失真。

我尝试过使用构造函数和Render方法 on WriteableBitmap,但它们所有的各种重载都没有成功。我还尝试将源嵌套UIElement在其他元素中,并在树的不同级别应用投影,以查看如果WriteableBitmap投影是更大的复合结构的一部分,是否可以正确渲染投影。那里也没有运气。

希望我只是在这里遗漏了一些简单的东西,但我怀疑这在当前版本的 Silverlight 中可能是不可能的。

如果这确实是一个死胡同,那么对我来说可行的替代方案是能够直接将矩阵变换应用于位图,UIElement.Projection完全绕过整个 Silverlight。但是,我真的不知道从哪里开始获取源位图,通过这种转换输入它的像素,并收集结果输出。变换是非仿射的这一事实向我表明,将涉及某种程度的插值,并且这种解决方案的数学要求可能很重要。

非常感谢任何帮助或建议。

0 投票
2 回答
1717 浏览

silverlight - 在 Silverlight 中从图像渲染 WriteableBitmap 的问题

我还有一个问题,我需要将字节数组转换为WriteableBitmap调整大小。我写下一个代码。

调用后wb.Render(img, new ScaleTransform() { ScaleX = scale, ScaleY = scale });wb像素为零。

请帮忙。

0 投票
1 回答
670 浏览

c# - WriteableBitmap 转换为中心?

我需要在 WriteableBitmap 的水平中心放置一个用户控件(在这种情况下为 TextBlock),这是我目前提供的代码:

但似乎文本块的枢轴点仍在控件的左边缘,我做错了什么?

0 投票
3 回答
806 浏览

silverlight - Silverlight - 将 WritableBitmap 图像传递给 COM 并转换为位图

需要帮助将图像从 Silverlight4 传递到 COM。

我正在尝试从 WritableBitmap 传递一个 ByteArray 并将其转换回位图。

//错误信息:参数无效。

我什至尝试传入 Base64String 但抛出相同的错误消息:(

0 投票
3 回答
1265 浏览

c# - 创建 WriteableBitmap 表单图表问题

尝试从 Silverlight 工具包 Graph 创建可写位图时遇到问题。

使用 textBlock 时,一切正常,但尝试使用 Chart 后,生成的位图为空 :( 。

此代码在其中创建带有正弦曲线的图表。然后我试图从中创建位图。

所有这些代码都会创建空位图。但是当我使用 TextBlock 或 Ellipse 等一些原语时,一切正常。我确定,代码生成图表很好,因为在 Silverlight 控件中生成图表很好。

编辑: 我试图以这种方式创建位图,但它没有帮助。

编辑 2: 我不希望图形出现在可视树中。我只需要生成它的图像,然后在我的应用程序的 XNA 部分中使用它。

0 投票
0 回答
3615 浏览

wpf - 带粗细的抗锯齿线算法(在 WriteableBitmap 上)

我正在寻找处理厚度的抗锯齿线条绘制算法(例如 Wu,Bresenham)的代码示例。这适用于使用 WPF/Silverlight 的 WriteableBitmap 的跨平台应用程序,但是任何基于 C 的语言无疑都会有用。

我已经用谷歌搜索了这个主题,但正如您可以想象的那样,没有很多好的代码示例,因为诸如 GDI/GDI+ 之类的绘图框架会为您处理这个问题。

任何人都可以帮忙吗?

0 投票
1 回答
777 浏览

c# - WriteableBitmap SetValue 性能/Texture2D SetData

我只是想知道是否有人知道(wp7 上的性能明智)逐像素更新 WriteableBitmap 的最佳方法......我可以看到 Pixels.SetValue 方法可以采用颜色和单个位置。但肯定更快的选择是先设置一个数组,然后一次性设置 SetValue(theArray) ......像这样......

但似乎没有那个选项???

在这里,我只是将所有内容都设置为黑色......但如果我想做更多......

所以基本上,我只是问什么是逐像素操作/创建位图并获得最佳性能的最佳方法?(考虑在每个刻度上更新位图)

编辑:我刚刚注意到 Texture2D.SetData<Int32>(theArray) 具有此功能,任何人都可以评论它的性能吗?或者也许推荐一种更好的方法?

0 投票
1 回答
1418 浏览

c# - Silverlight 4 渲染到 WriteableBitmap 返回空位图

我有一些旨在将 ControlTemplate 呈现为 writeableBitmap 的代码。创建WBMP的代码如下:

其中定义了以下扩展方法:

并且 Marker 被定义为一个空控件

问题是这样的。在 WPF 中,这一切都可以正常工作,就像在第一次尝试创建位图后在 Silverlight 中一样。但是,第一次尝试失败,返回正确大小(7*7 或 49 像素)但int[] Pixels数组中全为零的 WriteableBitmap。

一些可能有用的东西。在 WriteableBitmap 创建之前RenderToBitmap,元素的宽度/高度为 7,7,所需大小为 (7,7),但实际宽度/实际高度为 (0,0)。在 WPF 中,我相信都是(7,7)。所以这可能是布局问题而不是

仅供参考,Marker 和 ControlTemplate 永远不会进入可视化树。这是一个纯粹的缓存位图实现。

有任何想法吗?