问题标签 [rendertargetbitmap]
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.
wpf - 冻结视觉画笔?还是有更好的主意?
我想为我的用户界面创建一个拇指图片的分支,我尝试以这种方式进行操作:
“vbox”是我的 UIElement,它是在后台线程中创建的,我需要将它渲染为位图以在主 UI 线程中显示它。完成将其渲染为位图后,我不会在任何地方使用“vbox”。
这些代码有效,但后来我发现我对此并不满意,因为如果我放大拇指图片的大小,它看起来很糟糕。
我希望我可以使用矢量图形之类的东西,所以我尝试以这种方式进行操作:
当然这不起作用,因为我无法冻结视觉画笔,因为它的 Visual 属性分配了除 Null 之外的任何值。
谁能帮我吗?非常感谢。
干杯
亚历克斯
wpf - 如何从 RenderTargetBitmap bitblit 到 WriteableBitmap?
我正在向 RenderTargetBitmap 渲染数十种视觉效果。每个都在它自己的 Rect 中呈现。我想要做的是将这些从 RenderTargetBitmap 实例呈现的 Rect 区域之一复制到 WriteableBitmap 的同一区域...快速复制矩形像素或 smth。像那样。
那么,有没有办法快速将 rect 从 RenderTargetBitmap 复制到 WriteableBitmap ?
wpf - 如何合并两个 RenderTargetBitmap 实例?
大家好。我需要将两个相同大小的 RenderTargetBitmap 合并为一个。我该怎么做?
谢谢。
performance - RenderTargetBitmap 硬件加速模拟
.net 3.5 sp1 中是否有 RenderTargetBitmap 硬件加速模拟?
wpf - WPF RenderTargetBitmap 将 TextRenderMode 缩小为 GreyScale
RenderTargetBitmap 将 RichtextBox 的 TextRenderingMode 降级为 GreyScale。所以捕获的 PNG 看起来质量很差,并且与 WPF 控件不匹配
如果我使用 WINDOWS ALT+PRINT SCREEN,则可以完美捕获文本。
那么如何将文本控件渲染为与 ALT+PRINT SCREEN 相同的质量。
任何建议将不胜感激
一切顺利
wpf - WPF 更高效的 Render() Visual/Control 到位图
有没有更有效的方法将视觉呈现给位图?我正在尝试对 UI 元素使用着色器效果,然后我想逐像素地修改代码中的结果。现在我使用这样的东西:
有没有办法在不使用 RenderTargetBitmap 中使用的慢速渲染的情况下将这些后处理按钮的像素放入数组中?
c# - RenderTargetBitmap 和 DPI
我不明白为什么 DPI 参数的RenderTargetBitmap
使用方式似乎是这样的。我经常看到通过根据 DPI 调整图像大小来处理非标准 DPI 设置的代码,如下所示:
例子:
http://blogs.msdn.com/b/jaimer/archive/2009/07/03/rendertargetbitmap-tips.aspx(通过web.archive.org)
ContentControl + RenderTargetBitmap + 空图像
http://social.msdn.microsoft.com/forums/en-US/wpf/thread/984da366-33d3-4fd3-b4bd-4782971785f8/
其他时候,dpi 似乎被硬编码为 96 或不同的值,如下所示:
例子:
http://www.ericsink.com/wpf3d/3_Bitmap.html
http://dedjo.blogspot.com/2008/05/performance-appliance-of.html
如何将选中的 CheckBox(Aero 主题)渲染到 RenderTargetBitmap?
或者
例子:
http://msdn.microsoft.com/en-us/library/system.windows.media.imaging.rendertargetbitmap.aspx
你什么时候做一个,一个做另一个?
如果您以后想在应用程序中显示与控件相同大小的图像,我是否应该说您应该始终调整位图的大小(如第一个示例中所示)?
并且您可能应该在将其保存到文件时使用 96 的固定 dpi,或者如果您使用不同的 dpi 不调整宽度和高度?
假设我想将控件的图像保存到具有固定大小的文件中。然后我会仍然设置 dpi 还是只使用默认的 96?
wpf - WPF“懒惰”VisualBrush
我现在正在尝试像“懒惰”的 VisualBrush 那样实现一些东西。有人知道怎么做吗?含义:行为类似于 VisualBrush 但不会在 Visual 中的每次更改时更新,但最多每秒一次(或其他)。
我最好应该提供一些背景,为什么我要这样做,我猜我已经尝试过什么:)
问题:我现在的工作是提高一个相当大的 WPF 应用程序的性能。我追踪了应用程序中使用的一些视觉画笔的主要性能问题(无论如何都是在 UI 级别)。该应用程序由一个带有一些相当复杂的用户控件的“桌面”区域和一个包含缩小版桌面的导航区域组成。导航区域正在使用视觉画笔来完成工作。只要桌面项目或多或少是静态的,一切都很好。但是如果元素经常变化(例如因为它们包含动画),VisualBrushes 就会变得疯狂。它们将随着动画的帧速率而更新。降低帧率当然有帮助,但我正在寻找更通用的解决方案来解决这个问题。而“源” 控件仅渲染受动画影响的小区域视觉画笔容器被完全渲染导致应用程序性能下降。我已经尝试使用 BitmapCacheBrush 代替。不幸的是没有帮助。动画在控件内部。所以无论如何都必须刷新刷子。
可能的解决方案:我创建了一个或多或少类似于 VisualBrush 的控件。它需要一些视觉效果(如 VisualBrush),但使用 DiapatcherTimer 和 RenderTargetBitmap 来完成这项工作。现在我正在订阅控件的 LayoutUpdated 事件,每当它发生变化时,它都会被安排为“渲染”(使用 RenderTargetBitmap)。然后由 DispatcherTimer 触发实际渲染。这样,控件将以 DispatcherTimer 的频率最大重新绘制自身。
这是代码:
到目前为止,这工作得很好。唯一的问题是触发器。当我使用 LayoutUpdated 时,即使视觉本身根本没有改变(可能是因为应用程序其他部分的动画或其他原因),也会不断触发渲染。LayoutUpdated 只是经常被解雇。事实上,我可以跳过触发器并使用计时器更新控件而无需任何触发器。没关系。我还尝试在 Visual 中覆盖 OnRender 并引发自定义事件来触发更新。也不起作用,因为当 VisualTree 内部的某些内容发生更改时,不会调用 OnRender。这是我现在最好的镜头。它已经比原来的 VisualBrush 解决方案好得多(至少从性能的角度来看)。但我仍在寻找更好的解决方案。
有谁知道如何 a) 仅在 nessasarry 时触发更新或 b) 以完全不同的方法完成工作?
谢谢!!!
wpf - 渲染到屏幕外缓冲区时的WPF texbox焦点
我正在使用 RenderTargetBitmap 将文本框渲染到屏幕外缓冲区,并且我想在此文本框中输入文本,但是,我无法设置文本框焦点(使用 Focus() 没有效果 - 大概是因为画布没有附加到真实的窗口?)这有两个后果: 1 键盘输入没有被捕获 2. 即使我使用 TextBox 文本和 CaretIndex = index 手动设置文本,由于缺乏焦点,我没有得到插入符号。有没有办法以某种方式使这个焦点?如果没有,即使没有焦点,我至少希望插入符号可见,但看不到这样做的方法。
c# - 如何将 XPS 文件转换为高质量的图像(而不是模糊的低分辨率)?
我正在尝试使用 WPF 转换 XPS。
这个想法是这些图像可以用silverlight 4加载,为此我使用以下代码:
此代码取自http://xpsreader.codeplex.com/一个用于转换 XPS 文档的项目。效果很好!但问题是图像分辨率低且模糊。我研究并发现 RenderTargetBitmap 并在此页面上找到:http: //www.codeproject.com/Questions/213737/Render-target-bitmap-quality-issues
这里的问题是你有没有使用硬件 RenderTargetBitmap 渲染。
一种解决方案是使用 DirectX 和 WPF 来执行此操作,但没有找到任何明确的示例来向我展示正确的方法。
我很感激建议。提前致谢。
更新:我附上了XPS文档,我正在尝试转换图像 请下载test.xps