2

我的 j2me 应用程序必须拍摄一张照片,稍微编辑一下并将其保存在某处(或发送到服务器)。相机向我返回 jpg 格式的图像字节,但是在我从中创建 Image 对象(使用Image.createImage())后,我无法将其打包回 jpg。

有 j2me 的 jpeg 编码器吗?
我找到了一个用 j2se 编写的,但它使用了 j2se 特定的类。

4

3 回答 3

3

这是可以做到的!即使没有任何专有 API 或库。如果您的手机支持 JSR 234 并且能够通过它处理 JPEG 文件,则可以实现这一点。你来做这件事:

//Create MediaProcessor for raw Image
MediaProcessor mediaProc = GlobalManager.createMediaProcessor("image/raw");
//Get control over the format
ImageFormatControl formatControl = (ImageFormatControl)
        mediaProc.getControl("javax.microedition.amms.control.ImageFormatControl");
//Set necessary format
formatControl.setFormat("image/jpeg");

然后设置输入Image、输出流并启动媒体处理器。瞧!您已将图像保存为 JPEG。

于 2009-08-16T09:29:06.863 回答
3

顺便说一句,由于许多设备不支持 JSR 234,我将 Sun 的 JIMI 图像库和端口 JPEG 编码部分移植到 j2me。它工作正常,不会使用太多内存。

于 2009-10-12T14:06:13.203 回答
0

它完全依赖于实现,某些设备允许您使用 jpg 文件创建 Image 对象,而其他设备则不允许。但是 Sun 的规范说设备必须支持 png,但其他设备由 OEM 制造商自行决定

于 2009-08-15T04:29:22.073 回答