问题标签 [imagebrush]
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.
c# - RenderTargetBitmap : 无法释放/处置句柄
对不起,我的英语不好。
我想将 DrawingVisual 渲染为位图,以便创建 DiffuseMaterial。我这样做:
但...
- 如果我使用 GetDiffuseMaterial 方法 10000 次,应用程序就会停止。这是“正常的”,因为每个应用程序最多可以有10000 个 GDI 句柄,而 RenderTargetBitmap 每次创建时使用 1 个 GDI 句柄。
解决此问题的方法是释放 RenderTargetBitmap 对象。但我没来得及做。我试过这个(在 mat.Freeze() 和 return mat; 之间):
/li>另一种方法是只有一个 RenderTargetBitmap 并将其作为参数提供给 GetDiffuseMaterial。
但是如果我调用两次 GetDiffuseMaterial,我将有两个相同的材质,因为句柄是共享的,材质采用最后修改。(所以即使文本参数不一样!)
我看不到用 RenderTargetBitmap 做我想做的另一种方法。
注意:GetDiffuseMaterial 可以调用 100 万次...
RenderTargetBitmap 是我发现从字符串文本创建 DiffuseMaterial 的最快方法。其他技术真的很慢:使用带有 TextBlock 的 VisualBrush,使用 DrawingBrush,... 例如:使用 RenderTargetBitmap 对 GetDiffuseMaterial 的 5000 次调用至少比其他技术快 10 倍。
谢谢您的帮助。
wpf - Imagebrush 正在拉伸图像的一个实例,而不是另一个实例
我遇到的一个奇怪的事件是,我有一组使用某个图像作为背景的重复按钮。尽管按钮相同,但显示方式不同。下面是完全可重现的样本,以及许多变化,每个变化都有不同的结果。
图标链接:
https://github.com/driftyco/ionicons/blob/master/png/512/plus.png https://github.com/driftyco/ionicons/blob/master/png/512/minus.png
我正在创建一个控件来控制一个点的 x、y、z 位置。如上图所示,只有一个加号图标似乎被拉伸了。
变化:
- 如果我删除 Z 和与之关联的图标,则 Y 的最后一个加号图标不会被拉伸
- 从 Z 中删除 fontweight 会使加号图标看起来正常(未拉伸)
什么会导致图像画笔像这样拉伸图像?
c# - WPF C# 位图资源作为 ImageBrush 的 Imagesource
我有位图资源 Properties.Resources.part1
如何将此资源设置为 Rectangle.Fill 属性?
c# - 从 WebRequest 流创建 ImageBrush
我在ImageBrush
从Stream
. 以下代码用于使用 填充Rectangle
WPF ImageBrush
:
我想要做的是调用 aWebRequest
并获取 a Stream
。然后我想使用Stream
图像填充我的矩形。这是代码:
问题是我不知道如何设置我的imgBrush.ImageSource
using response.GetResponseStream()
. 我怎样才能Stream
在我的ImageBrush
?
wpf - 获取拉伸值Uniform引起的填充
WPF UI 元素定义了宽度和高度,背景设置为图像画笔,并在运行时将图像源指向一些随机图像。未设置拉伸属性,因此我认为它是发挥作用的默认值“填充”。由于控件大小和图像大小不同,因此在运行时,背景图像画笔会以某种纵横比填充,即在控件内部(视觉上)填充。有没有办法获得这个填充值?
示例代码:
如果我使用颜色而不是图像画笔,它会填充整个区域。但如果我使用 5000 * 4000 尺寸的图像,它会稍微拉伸以填充空间(没有倾斜和裁剪)。那不是真正的填充,视觉上我们感觉到列表框边界和图像边界有一个填充。让我尝试对此进行快照。
c# - 使用条件 (WPF) 以编程方式更改 ImageBrush Imagesource
我有这样的xaml
还有这样的c#代码
所以我想要的是,如果用户使用不同的语言,界面中的所有图像都将使用我设置条件的语言。因此,我需要将所有状态下的所有按钮图像更改为 c# 代码中的新按钮。
image - Create imagebrush, bitmap and writeablebitmap from an url
Hey I have a windows phone 8.1 app using the silverlight API. I am downloading this image from my blob storage.
The image is coming from a link like this: https://[service].blob.core.windows.net/[imagename].png and the image can be showned and downloaded in multiple browsers, just using the URI.
I now want to use this as a imagebrush based on the imageuri from the blobstorage:
The myOnlineImage
is not created correctly, at least I cannot convert the image to a writeablebitmapimage (getting a null exception from the conversion), and in addition the imagebrush is empty, i.e. null. But as far as I know this is the way to do it?
So basicly
How do I create an imagebrush
based on an url to a https site?
windows-phone-8.1 - WP81 绑定图片失败,设置本地后备图片丢失原始绑定
我将 Windows Phone 8.1(RT 不是 silverlight)上 ImageBrush 的 ImageSource 绑定到远程 uri,并在图像无法显示默认图像时有一个处理程序:
在后面的代码中,我更新了图像源属性以将其设置为本地图像:
这很好用,但是通过这样做,我失去了原始绑定,因此如果我用不同的绑定值重新加载同一个屏幕,它不会重新绑定。
考虑到我正在做的事情,这是有道理的,所以在这种情况下,我的问题是我做错了什么以及如何正确设置后备图像,同时允许图像在重新加载时重新绑定自身?
c# - 如何在多边形内旋转位图?
我这样定义了一个多边形:
我还定义了一个这样的故事板:
我像这样开始多边形旋转:
上面的代码按预期旋转了整个多边形。但是我想修改它,让多边形静止,只是在多边形内旋转位图。
我怎么做?谢谢
c# - 加载图像画笔的快速方法
我正在寻找一种将图像作为背景画笔加载到 Windows 10 Mobile UWP XAML 页面(网格背景)的良好且快速的方法。
目前我这样做如下:
- 在 Page.Resources 部分定义 ImageBrush
- 使用已定义的 ImageBrush 并将 Background 设置为此资源
第一步:
第二步:
不幸的是,当页面第一次出现时,背景画笔至少需要 1.5 秒才能显示出来。所以与此同时,只有一个白色的背景,这不是我想要实现的。我的背景图片“bg_login.jpg”已经压缩到大约 40kb。
有没有更快的方法将图像显示为网格背景?或者我是否有机会在启动画面显示时加载图像?
任何帮助将不胜感激。提前致谢。