【问题标题】:How to compress image in j2mej2me如何压缩图片
【发布时间】:2013-04-22 17:46:31
【问题描述】:

我正在制作一个 j2me 应用程序。在这个应用程序中,我想上传超过 1 MB 的图像。但是由于大多数手机的堆大小分配限制为 1 MB,所以当我尝试创建超过 1 MB 大小的图像输入流时,它会引发 OutOfMemory 异常。那么我如何在 j2me 应用程序中压缩图像以将其上传到服务器上。

【问题讨论】:

  • 你的输入流被缓冲了吗?缓冲区大小是多少?
  • 感谢您的回复,InputStream inputStream = fileConnection.openInputStream();以这种方式创建输入流。此时抛出OutOfMemory Exception。请告诉我解决这个问题的方法,非常紧急。

标签: image java-me


【解决方案1】:

不要一次加载所有图片,一张一张上传图片,清除之前的图片会释放内存,调整图片大小会减小图片大小。

【讨论】:

  • @Faraz...感谢您的回复....但是请告诉我如何在不创建输入流的情况下调整图像大小,此时我创建大文件的输入流时会出现问题,发生 OutOfMemory 异常。
【解决方案2】:

您可以使用 scale() 方法根据屏幕尺寸调整图像大小。如果您希望图像适合手机屏幕尺寸,请使用 Displayable.getWidth 和 getheight 方法。将它们作为 Scale(w,h) 传递给 Scale 方法,并在 Image 变量上调用 scale。大多数情况下,它会减小可以由堆处理的图像大小。如果还高,则将图片分割成小字节然后上传

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-17
    • 1970-01-01
    • 1970-01-01
    • 2021-11-30
    • 2012-10-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多