问题标签 [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.
android - OnDraw 画布中的位图超出 VM 预算
嗨,我正在开发一款游戏,其中有两种主要方法。Ondraw 用于画布上的所有绘图并更新所有计算。现在的问题是我需要在 Ondraw 中更改和创建新的位图,这是游戏的要求,猜猜会发生什么?强制关闭并出现错误 Bitmap Size Exceeds VM Budget。任何人都可以帮助我解决canvas 和 onDraw 的上下文中的问题,它被一次又一次地调用。
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)
android - 位图空异常
使用上面的代码片段,有时 bmp == null 并且我得到 NullPointerException @ Bitmap.createBitmap ...我从相机活动中获取 uri .. 图像肯定会被保存。
如果这是问题,我会得到 OutOfMemoryException 吗?有没有人认为这有什么问题或改进它的方法?
android - 无法使用 BitmapFactory.decodeStream() 从 Url 加载图像
我正在尝试从 URL 下载图像以显示为 ImageView。下载是使用 AsyncTask 在后台完成的。但是,对 BitmapFactory 的 decodeStream 的调用总是返回一个空对象。我验证了为连接提供的Url是正确的,但是BitmapFactory似乎无法从HTTP连接返回的InputStream中读取图像。下面是代码:
奇怪的是,完全相同的代码在 Nexus S 上运行良好,但在运行 Android 2.1-update1 的三星上却无法运行。
java - 从 url 加载图像,使用循环
我正在使用此代码从服务器下载图像:
它适用于 1 个图像,但如果我在循环中使用它,在第二次、第三次等迭代中,它会返回一些奇怪的东西(位图mWidth
和mHeight
字段是-1
)。问题可能出在哪里?
(path
第二次,第三次等迭代都很好,我检查了这个)
编辑
循环示例:
ss你看,这个循环没有什么异常
android - Android:BitmapFactory.decodeFile / OpenCV 确实返回无效位图
我正在用相机活动拍照,然后尝试从保存的位置读取它。不幸的是,位图由以下人员返回:
高度和宽度 = -1。我正在使用 OpenCV,当我阅读图像时
我得到了一个合适的矩阵。尽管我无法将其转换为位图。做的时候
我再次得到相同的结果:宽度和高度 = -1 的位图。我需要注意图像格式吗?我可以在相机意图上设置它吗?不应该
自动实现格式是什么?
我在带有 Android 2.3.1 和 OpenCV 2.3.1 的三星 Galaxy S 上运行它
谢谢你的帮助。
android - Android:BitmapFactory.decodeStream(...) 和资产文件夹导致 PNG 透明度失败
我正在使用以下方法从我的 Android 应用程序的 assets 文件夹中提取 PNG 文件:
然后,我将 GridView 项目中的 ImageView 的源设置为该位图。
这是有问题的布局 XML:
该 XML 中引用的样式是:
下面是设置 ImageView 来源的代码:
PNG 图像有一些透明区域,但由于某种原因,当图像显示在我的 GridView 中时,透明区域会变成黑色。
抢先问一些问题: 不,Activity、ImageView、GridView 和 GridView 项的背景不是黑色的。事实上,无论背景颜色设置为什么,图像的透明部分总是以黑色显示。
不过考虑一下……如果我将 PNG 图像放在可绘制文件夹中并按如下方式设置 ImageView,则透明度是完美的:
我很确定我以某种方式错误地使用了 decodeStream(...) 方法,但我不知道我做错了什么。我什至修改了我原来的方法来设置一些选项,如下所示:
但这给了我同样糟糕的结果。
任何想法,任何人?
谢谢你。
android - Android:我想录制可能的超低质量视频源并以离散数据包的形式发送。可能吗?你会如何处理它?
基本上我希望能够在小于 3g 的情况下发送几秒钟延迟的“实时”提要。如果它的质量非常低,那也没关系。如有必要,我什至可以使用 4 位灰度(尽管最好使用 128-256 色)。如有必要,我愿意以 > 1fps 的速度低至 160x120。在这种最糟糕的设置下完全未压缩意味着过饱和的低带宽连接。
我应该考虑简单地将快照作为图像吗?是否有人熟悉 Bitmapfactory 在可能的最低质量 JPEG 方面的功能?
我应该研究 PNG 还是 GIF?我的理解是,固体领域最适合这些。我不确定我能否在很大程度上依赖于除了大部分天空之外的固体场,因为我希望能够控制一架发回“视频”的无人机。具有几秒钟延迟的人造视频很好,甚至更可取,因为我预计会经常丢失和重新获得服务器连接。
我在“3g”上获得了 128k 的信号,信号不错,但我不能完全依赖它。我可以做任何必要的解码服务器端 - 这不应该是一个问题。
所以我问你,Stack,你想通过互联网从智能手机上看,不能依赖良好的连接。你如何处理它?
android - Android 如何使用 BitmapFactory 选项缩放图像
我想使用 BitmapFactory.decodeFile(path, options) 解码 SD 卡中的图像。
我还希望将大于 2048x2048 像素的图像缩小到最多 2048x2048(保持比例)。
我可以在获取位图后手动执行此操作,但这需要在已分配的字节之外分配大量字节。
我应该如何设置我的 BitmapFactory.Options 对象来获得这种效果?
谢谢
android - 下载外部 PNG 图像时丢失透明背景
我通过像这样下载它来在图像视图中显示外部图像:
然后将此位图设置为ImageView
:
除了其中一张图片是 PNG 并且我在使用BitmapFactory
.
谁能告诉我如何保持透明背景?