问题标签 [bitmapimage]

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 回答
574 浏览

html - 删除画布时释放 ImageData

我正在编写一个使用 HTML Canvas 来显示位图图像的 XUL 应用程序。我正在生成 ImageDatas 并使用 putImageData 函数将它们导入画布:

图像导入良好,但由于 putImageData 函数似乎存在内存泄漏。

退出“for”循环时,我希望释放为 Canvas 分配的内存,但是通过执行代码而不执行 putImageData,我注意到我的程序最后使用的内存减少了 100Mb(我的图像非常大)。

我得出的结论是 putImageData 函数会阻止垃圾收集器释放分配的内存。

您知道如何强制垃圾收集器释放内存吗?有没有办法清空画布?

我已经尝试使用 delete 运算符删除画布或使用 clearRect 函数,但它什么也没做。

我还尝试在每次迭代时重用相同的画布来显示图像,但使用的内存量没有改变,就好像在不删除现有图像的情况下导入的图像......

0 投票
1 回答
899 浏览

windows-phone-7 - 从 Web 加载 .ico 并转换为 BitmapSource

我试图从网络加载 .ICO 类型的文件并将其用作我的 Windows 手机中的图像。但是在尝试设置 BitmapImage 的来源时出现错误。这是我的代码:

BitmapImage 是否支持“ico”文件?如何将“ico”转换为支持的 BitmapImage 文件。

该解决方案必须在 Windows Phone 7 上运行。

Tks

0 投票
1 回答
10570 浏览

wpf - 将 Uri 转换为 BitmapImage - 从 Web 下载图像

从 Uri 到 BitmapImage 的转换器有问题。Uri 是网络上图像的 url。我在列表框中的项目上使用此转换器。

我从网页下载图像并从此流 BitampImage 创建

问题是如果列表框包含大约 100 - 250 个项目,应用程序冻结,我尝试在另一个线程中调用 WebRequestMethod 但它不起作用。

这是代码的根部分:

//默认返回 new BitmapImage(new Uri(PokecUrl.Avatar,UriKind.RelativeOrAbsolute)); } }

我的目标是从网上下载图像,从他那里创建 BitamImage 对象并作为图像源控件返回,但我需要避免应用程序冻结。还有一个问题是如果我关闭 webResponse 它会破坏所有代码。

编辑:

我试试这个:

但某处必须是错误,代码已损坏。

有什么建议吗?

0 投票
1 回答
614 浏览

wpf - 为什么 BitmapImage RequestCachePolicy 会被忽略?

我发现将RequestCachePolicy属性设置为 on对当's设置为此实例BitmapImage时位图的下载方式没有影响。ImageSourceBitmapImage

例如,如果我将 设置RequestCachePolicyCacheOnly,我希望不会发生任何互联网流量 - 指定的图像应该只从缓存中检索。但相反,我看到正在向服务器发出下载图像的请求:

如果我将静态DefaultCachePolicy属性设置为 on HttpWebRequest,那么我的应用程序行为会以我期望的方式发生变化。即,当它设置为 时CacheOnly,不会发生网络流量。

为什么RequestCachePolicy属性上BitmapImage没有我期望的效果?

0 投票
2 回答
1552 浏览

image - C# 4.0 创建 BitmapImage 后解锁图像

我正在使用以下方法从现有图像创建 BitmapImage:

完成此操作后,我想从硬盘驱动器中删除图像,但它已被锁定。有没有办法可以解锁它以便将其删除?

0 投票
2 回答
2036 浏览

wpf - 如何在 WPF 中处理巨大的 tif?

我有一个 14406x9606 像素的 8 位 tiff,当通过 BitmapImage 加载时会引发 System.OutOfMemoryException。作为全深度位图,其大小约为 400 兆。有没有办法将图像分割成更易于管理的块?我尝试使用 DecodePixelHeight 以较低的分辨率加载它,这很有效,但是每当缩放级别发生变化时我都需要重新加载。是否有任何已建立的工具可以在 WPF 中以不同的缩放级别处理非常大的图像?

0 投票
2 回答
2147 浏览

wpf - 如何在 WPF 中以彩色渲染单色位图?

回到 Win32 时代,如果我有一个单色位图,它只是一个位图掩码,我可以将该位图渲染到 DeviceContext 上。会发生的情况是每个像素呈现为透明的“0”,以及呈现为“1”的每个像素以当前选定的前景色呈现。这非常方便。

但是,经过几周的搜索,我在 WPF 中没有看到任何类似的东西。

现在我正要推出我自己的 MonochromeBitmapImage 类,但我想如果有人知道另一种方法来做到这一点,那就是你们所有人,SO 用户,所以我的问题是......如何在 WPF 中渲染一个单色位图,一个值是特定颜色,另一个值是透明的?

0 投票
1 回答
683 浏览

c# - Silverlight 快速移动位图不平滑更新

当我通过更新其 RenderTransform 在 Silverlight 中移动一个位图填充的路径时,图像会以大约每半秒的一次结巴/抖动更新。

Path 使用了 BitmapCache,并开启了硬件加速。使用 EnableCacheVisualization 选项验证硬件加速,并通过观察帧速率高达 60 fps。

你可以在这里看到我在说什么。这是一个显示口吃行为的有效 Silverlight 应用程序。(当您看到图像时,您可能会想象我正在尝试制作什么游戏......)

http://glerok.com/smb/index.html

您会注意到位图滚动流畅,但每隔 0.5 到 1 秒,它就会断断续续,好像跳过了一些帧。我在两台不同的 PC 上验证了这一点。

这是 silverlight 中的预期行为,还是我通过手动更新对象的 RenderTransform 做错了什么?(请不要以此为契机贬低 Silverlight...)

提前致谢!!!

这是我用来生成路径的代码:

这是更新路径位置的代码:

即使对于使用情节提要制作动画的对象,我也观察到 Silverlight 中的卡顿/抖动。我猜这是因为silverlight目前没有后台缓冲,这使得它目前甚至不适合在PC上进行简单的基于精灵的游戏?请注意,整体屏幕刷新率仍为 60 fps。

下面的代码生成一个在屏幕刷新期间闪烁的动画矩形。至少在我的笔记本电脑上,垂直对象在刷新率期间显示更好的条带。

0 投票
2 回答
43879 浏览

c# - BitmapSource 到 BitmapImage

我需要将Clipboard.GetImage()(a BitmapSource) 的内容解析为 a BitmapImage。有谁知道如何做到这一点?

0 投票
1 回答
4542 浏览

c# - 创建位图图像 WPF

我有一个 ushort[] 包含我需要在屏幕上显示的图像数据,此时我正在创建一个 Windows.System.Drawing.Bitmap,并将其转换为 BitmapImage,但这感觉像是一种缓慢而无用的方法。

有谁创建 ushort[] 的 BitmapImage 的最快方法是什么?

或者从数据中创建一个 ImageSource 对象?

谢谢,

埃蒙