我的j2me应用程序必须拍照,稍微编辑并保存到某处(或发送到服务器)。
相机以jpg格式返回图像的字节,但在我从中创建一个Image对象后(使用Image.createImage()
),我无法将其打包回jpg。
j2me有jpeg编码器吗?
我找到了一个用j2se编写的,但是它使用了j2se特定的类。
答案 0 :(得分: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格式。
答案 1 :(得分:3)
顺便说一句,由于JSR 234不支持许多设备,我将Sun的JIMI图像库和端口JPEG编码部分带到j2me。它工作正常,不会占用太多内存。
答案 2 :(得分:0)
纯粹依赖于实现,某些设备允许您使用jpg文件创建Image对象,而其他设备则不允许。然而,Sun的规范说设备必须支持png,但其他设备由OEM制造商自行决定