问题标签 [android-image]

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

android - 在 android 应用程序中使用大量视频和图像

我想在我的 android 应用程序中使用视频。有 800 个视频(总大小 250MB),那么我将如何在 android 应用程序中使用它们?

与图像相同 3000 张图像 (50-60 MB)

如果我想使用上述总大小的图像和视频,我该怎么办?

0 投票
3 回答
1310 浏览

android - 在Android中获取Bitmap的RGBValues

我在获取 Android 中位图的 RGB 值时遇到了一些问题……这就是我正在做的事情:

但是,颜色似乎与典型的 RGB 值不匹配。例如,一个白色像素将显示为 -1,而它的 RGB 值为 16777215。(我从该网站获取该值:http: //www.shodor.org/stella2java/rgbint.html

还有大量的负值似乎不适合正常的 RGB 值。我的问题是,是否有一种方法可以转换为典型的 RGB 值,而不是 getPixels() 方法返回的 Android Color 整数。感谢您的帮助,如果您有任何问题,请告诉我。

0 投票
2 回答
583 浏览

android - android背景图片问题

我正在尝试将图像设置为背景。我编辑 xml 布局文件。但是当我将图像放在可绘制文件夹上时,它会在项目名称上出现错误。问题是什么?跟图片大小有关系吗?android可以运行的图像最大尺寸是多少?

0 投票
3 回答
2442 浏览

android - 9patch 图像只有水平缩放

如何创建仅水平缩放的 9Patch 图像?我不希望它垂直缩放。我无法创建这样的 9 PNG。

我尝试了文章http://radleymarx.com/blog/simple-guide-to-9-patch/但他们的方法不起作用。当我跳过左侧指南时,它会在 Eclipse 中出现错误。

我正在尝试水平缩放此图像以创建标题栏。

0 投票
1 回答
1339 浏览

android - 如何在android中使用base64发布大图?

目前我正在做一个需要在服务器数据库上发布数据的项目。在这里,我发布了name, id,image等数据。

我想将图像作为二进制数据传递。为此,我将图像转换为 base64 字符串,然后 POST 数据,但由于图像分辨率或 HTTP 连接大小较大,我收到 413 错误代码,表明 URL 太大。

请问谁能给我解决方案?在这里,我给你我已经实现的代码。

价值观

做网络连接

这里的 HTTP 响应代码是 413,所以它告诉 URL 太大,不能 POST 图像。

0 投票
1 回答
8196 浏览

android - Android以最有效的方式将图片上传到服务器

我需要将图像和其他数据(非常类似于带有附件的电子邮件)发送到服务器。我还需要以可靠的方式进行操作,以便在失败时重试等。

服务器是 WCF REST 服务器,我与它进行了许多其他通信(JSON),但刚刚得到了上传图像的新要求。

由于我使用 JSON 将数据发布到我的服务器 - 我在 Android 端使用 GSON 来序列化数据。

到目前为止,这是我实现它的方式(其他一切都以这种方式工作,但我只是从图像开始)

  1. 用户填写活动字段(文本数据)
  2. 用户通过相机意图拍摄一些照片。目前我只使用 1 个文件的图片
  3. 我从 SDCard 拍照,加载/调整大小 - 在 ImageView 上显示并存储在 byte[]
  4. 用户提交 - 我从 byte[] 获取所有数据以及图像并将其放入 Java 对象
  5. 调用 GSON 转换器并序列化对象
  6. 将对象保存到 SQLite
  7. AsyncTask 在 SQLite 中查找记录,打开游标并获取文本
  8. AsyncTask 创建 HttpConnection 并将文本数据发布到我的服务器。
  9. 结束

现在我的问题..显然在#3 - 我用我的字节数组“爆炸” ram。有时我什至觉得我的 Nexus S 变得迟钝。但是通过这样做 - 我避免用许多文件填充 SD 卡或应用程序文件夹。我拍照然后抓住它。下一张图片将覆盖上一张。

步骤#5 很慢。我没有在 GSON 上尝试自定义序列化程序,而是将字节数组序列化为 [1,-100,123,-12] 之类的东西,但我仍然可以使用 Base64 获得更小的大小。它会很慢。我最多可以有20张图片...

第6步没问题。但是对于一定的尺寸(我尝试了 300px 图像),我在 OpenCursor 的第 7 步中开始出现错误

所以,这整件事不是我喜欢的。理想情况下,我希望将所有数据单件上传到服务器。

我在想也许可以将带有时间戳的图像存储在 SD 卡上,并且只将它们的名称存储在 DB 中。比我在发送到服务器之前处理它们。如果成功,我会删除这些图像。这种逻辑会使 SQLite 模式更加复杂,但也许没有更好的方法?!

我想我正在寻找处理图像的最佳实践。如何以最少的内存/CPU使用率执行以下操作:

  1. 拍照片
  2. 显示缩略图
  3. 调整大小
  4. 发送到服务器

编辑1:

目前我正在研究将整个 shizang 作为多部分 MIME 消息上传的可能性。这需要在我的 Android 包中添加一些 JAR。此外,我不确定 Apache 代码加载图像和发送它们的效果如何(我想比我的代码更好) http://okandroidletsgo.wordpress.com/2011/05/30/android-to-wcf-streaming-多部分二进制图像/

而且我将不得不在 WCF 端解析所有这些,因为没有办法使用内置的 .NET 框架来完成。

http://antscode.blogspot.com/2009/11/parsing-multipart-form-data-in-wcf.html

如果您尝试过,请告诉我!

编辑2:

MIME 不好。没有意义,因为它使用 Base64 序列化二进制文件,这是同一件事..

0 投票
1 回答
789 浏览

android - 如何动态显示来自 sdcard 的单个图像

我已经完成了sdcard动态显示所有图像的程序。但是现在,我想动态显示单个图像,sdcard而不是显示所有图像。我的编码如下

然后适配器代码如下

}

0 投票
2 回答
4482 浏览

android - 缩放 ImageView 的图像,同时将中心点保持在同一位置

我已将预缩放位图设置为 ImageView 的源。然后我ImageView通过matrix.postTranslate(shiftX, shiftY).

现在我想放大/缩小图像,同时将中心保持ImageView在比例之前的位图同一点。

如果我尝试用 放大图像matrix.postScale(zoom, zoom),我想要保持的点(蓝点)会移动到其他位置(紫点)。

我尝试了几种不同的方法将位图移回,但我无法让它正常工作。我知道初始位图大小、ImageView 大小、虚线标记的距离。试图计算所需的移位并在matrix.postTranslate(-zoomshiftX, -zoomshiftY)之后使用,但它没有正确移位。

甚至发现,在 matrix.postScale() 函数和尝试 matrix.postTranslate(-zoomshiftX/zoom, -zoomshiftY/zoom) 之后,底层位图的像素数没有改变 - 但仍然没有运气。

我如何实现这样的缩放?

缩放问题

0 投票
1 回答
275 浏览

android - Android - 处理图像/相机 - 几个问题

我正在处理在 Android 上调整图像大小 - 有趣!这是我希望很小的问题:) 我正在使用相机意图拍照并将其保存在 SD 卡上。

  1. 有什么方法可以获得相机分辨率,所以我会知道图像的分辨率,并且每次转换时都不需要检查它?

  2. 分辨率是可能会改变的东西还是每个设备都是固定的?

  3. 所有图像都以“横向”格式保存吗?我的意思是他们总是“宽”而不是“高”?

  4. 如果我在屏幕上有 ImageView - 我怎么知道它需要正确填充的位图大小?我连续有 4 个 Imageviews - 所有的重量都相等,所以我想我需要想出屏幕宽度并适当调整位图的大小?

  5. 如果我需要将图像缩放到精确的宽度 - 这是否意味着我必须计算从 OldX 到 NewX 的“比率”,然后在调用 Bitmap.createScaledBitmap 之前将其应用于 OldY?

0 投票
1 回答
1677 浏览

android - BitmapFactory decodeStream 成文件。或者如何在不杀死VM的情况下处理位图?

我在解码图像时遇到 OOM 错误。这条消息对我正在处理的钱是正确的:BitmapFactory OOM 让我发疯

我想我知道什么可以解决我的问题,但不知道该怎么做。现在当我调整图像大小时 - 我得到这样的位图:

而且我需要将其保存回文件:

如您所见 - 我的目标是减少存储中的图像。

现在 - 当我操作大位图时 - 我将大文件加载到内存中,这会增加堆大小,然后在下一次尝试时 - 我得到 OOM 异常,因为本机堆中没有足够的内存。

所以,我想从 BitmapFactory 获取流并以某种方式将其传递给 FileStream 进行存储。如果我想要大图像,那将消除 VM 堆问题。

有人知道怎么做吗?