问题标签 [bitmapfactory]

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 投票
0 回答
107 浏览

android - OnDraw 画布中的位图超出 VM 预算

嗨,我正在开发一款游戏,其中有两种主要方法。Ondraw 用于画布上的所有绘图并更新所有计算。现在的问题是我需要在 Ondraw 中更改和创建新的位图,这是游戏的要求,猜猜会发生什么?强制关闭并出现错误 Bitmap Size Exceeds VM Budget。任何人都可以帮助我解决canvas 和 onDraw 的上下文中的问题,它被一次又一次地调用。

0 投票
1 回答
1222 浏览

java - Android:使用 setImageURI 时内存泄漏导致 OOM

我只编程了几天的java,所以要温柔......:P

我的应用程序使用 SQLite 数据库来保存需要用户提供文本、照片和位置的不同“项目”。问题是在浏览某些项目时,在加载

myImage.setImageURI(Uri.parse(msavePicture));

第五次的第四次。使用 DDMS 时,您可以看到分配的内存在每次新加载时增加约 0.2Mbyte。我已经搜索了问题并尝试使用

myImage.setImageDrawable(null);

但问题仍然存在。我也尝试将代码更改为

所以我可以使用 .recycle(); 但是图片没有加载,它返回null。msavePicture 是一个如下所示的字符串:

文件:///mnt/sdcard/MyCameraApp/IMG_2011-12-09-01-49.jpg

我已经包括

在清单中,我知道图片存在,因为使用 setImageURI 时它可以工作。

所以问题是:我做错了什么导致内存泄漏,如何真正破坏ImageView,或者为什么Bitmapfactory无法解码我的字符串,是文件位置错误吗?

为了以防万一,我已经包含了很多活动。任何有关此的解决方案或链接将不胜感激!

提前致谢!

(PS:如果有人知道如何将 SQLite 数据库保存到服务器以便您可以使用它更新其他手机的指南,将不胜感激!=):DS)

0 投票
0 回答
351 浏览

android - 位图空异常

使用上面的代码片段,有时 bmp == null 并且我得到 NullPointerException @ Bitmap.createBitmap ...我从相机活动中获取 uri .. 图像肯定会被保存。

如果这是问题,我会得到 OutOfMemoryException 吗?有没有人认为这有什么问题或改进它的方法?

0 投票
2 回答
3174 浏览

android - 无法使用 BitmapFactory.decodeStream() 从 Url 加载图像

我正在尝试从 URL 下载图像以显示为 ImageView。下载是使用 AsyncTask 在后台完成的。但是,对 BitmapFactory 的 decodeStream 的调用总是返回一个空对象。我验证了为连接提供的Url是正确的,但是BitmapFactory似乎无法从HTTP连接返回的InputStream中读取图像。下面是代码:

奇怪的是,完全相同的代码在 Nexus S 上运行良好,但在运行 Android 2.1-update1 的三星上却无法运行。

0 投票
1 回答
151 浏览

java - 从 url 加载图像,使用循环

我正在使用此代码从服务器下载图像:

它适用于 1 个图像,但如果我在循环中使用它,在第二次、第三次等迭代中,它会返回一些奇怪的东西(位图mWidthmHeight字段是-1)。问题可能出在哪里?

path第二次,第三次等迭代都很好,我检查了这个)

编辑

循环示例:

ss你看,这个循环没有什么异常

0 投票
1 回答
1711 浏览

android - Android:BitmapFactory.decodeFile / OpenCV 确实返回无效位图

我正在用相机活动拍照,然后尝试从保存的位置读取它。不幸的是,位图由以下人员返回:

高度和宽度 = -1。我正在使用 OpenCV,当我阅读图像时

我得到了一个合适的矩阵。尽管我无法将其转换为位图。做的时候

我再次得到相同的结果:宽度和高度 = -1 的位图。我需要注意图像格式吗?我可以在相机意图上设置它吗?不应该

自动实现格式是什么?

我在带有 Android 2.3.1 和 OpenCV 2.3.1 的三星 Galaxy S 上运行它

谢谢你的帮助。

0 投票
2 回答
4075 浏览

android - Android:BitmapFactory.decodeStream(...) 和资产文件夹导致 PNG 透明度失败

我正在使用以下方法从我的 Android 应用程序的 assets 文件夹中提取 PNG 文件:

然后,我将 GridView 项目中的 ImageView 的源设置为该位图。

这是有问题的布局 XML:

该 XML 中引用的样式是:

下面是设置 ImageView 来源的代码:

PNG 图像有一些透明区域,但由于某种原因,当图像显示在我的 GridView 中时,透明区域会变成黑色。

抢先问一些问题: 不,Activity、ImageView、GridView 和 GridView 项的背景不是黑色的。事实上,无论背景颜色设置为什么,图像的透明部分总是以黑色显示。

不过考虑一下……如果我将 PNG 图像放在可绘制文件夹中并按如下方式设置 ImageView,则透明度是完美的:

我很确定我以某种方式错误地使用了 decodeStream(...) 方法,但我不知道我做错了什么。我什至修改了我原来的方法来设置一些选项,如下所示:

但这给了我同样糟糕的结果。

任何想法,任何人?

谢谢你。

0 投票
1 回答
1028 浏览

android - Android:我想录制可能的超低质量视频源并以离散数据包的形式发送。可能吗?你会如何处理它?

基本上我希望能够在小于 3g 的情况下发送几秒钟延迟的“实时”提要。如果它的质量非常低,那也没关系。如有必要,我什至可以使用 4 位灰度(尽管最好使用 128-256 色)。如有必要,我愿意以 > 1fps 的速度低至 160x120。在这种最糟糕的设置下完全未压缩意味着过饱和的低带宽连接。

我应该考虑简单地将快照作为图像吗?是否有人熟悉 Bitmapfactory 在可能的最低质量 JPEG 方面的功能?

我应该研究 PNG 还是 GIF?我的理解是,固体领域最适合这些。我不确定我能否在很大程度上依赖于除了大部分天空之外的固体场,因为我希望能够控制一架发回“视频”的无人机。具有几秒钟延迟的人造视频很好,甚至更可取,因为我预计会经常丢失和重新获得服务器连接。

我在“3g”上获得了 128k 的信号,信号不错,但我不能完全依赖它。我可以做任何必要的解码服务器端 - 这不应该是一个问题。

所以我问你,Stack,你想通过互联网从智能手机上看,不能依赖良好的连接。你如何处理它?

0 投票
3 回答
40590 浏览

android - Android 如何使用 BitmapFactory 选项缩放图像

我想使用 BitmapFactory.decodeFile(path, options) 解码 SD 卡中的图像。
我还希望将大于 2048x2048 像素的图像缩小到最多 2048x2048(保持比例)。
我可以在获取位图后手动执行此操作,但这需要在已分配的字节之外分配大量字节。
我应该如何设置我的 BitmapFactory.Options 对象来获得这种效果?
谢谢

0 投票
1 回答
2985 浏览

android - 下载外部 PNG 图像时丢失透明背景

我通过像这样下载它来在图像视图中显示外部图像:

然后将此位图设置为ImageView

除了其中一张图片是 PNG 并且我在使用BitmapFactory.

谁能告诉我如何保持透明背景?