0

有人告诉我如何使用 java 代码为 iOS 创建钛移动模块吗? https://github.com/cashlo/JPEG-compression-for-titaninum-

或者

如何为 iOS 移动应用程序(Titanium)编译以下代码?

package com.cashlo.jpglib;

import java.io.ByteArrayOutputStream;

import org.appcelerator.kroll.KrollModule;
import org.appcelerator.kroll.annotations.Kroll;

import org.appcelerator.titanium.TiBlob;
import org.appcelerator.titanium.TiContext;
import org.appcelerator.titanium.util.Log;
import org.appcelerator.titanium.util.TiConfig;

import android.graphics.Bitmap;
import android.graphics.Bitmap.CompressFormat;
import android.graphics.BitmapFactory;

@Kroll.module(name = "Jpglib", id = "com.cashlo.jpglib")
public class JpglibModule extends KrollModule {

    // Standard Debugging variables
    private static final String LCAT = "JpglibModule";
    private static final boolean DBG = TiConfig.LOGD;

    // You can define constants with @Kroll.constant, for example:
    // @Kroll.constant public static final String EXTERNAL_NAME = value;

    public JpglibModule(TiContext tiContext) {
        super(tiContext);
    }

    @Kroll.method
    public TiBlob compress(TiBlob image) {

        BitmapFactory.Options opts = new BitmapFactory.Options();
        opts.inJustDecodeBounds = true;
        byte[] imageBytes = image.getBytes();
        BitmapFactory.decodeByteArray(imageBytes, 0, imageBytes.length, opts);
        Integer imageSize = Math.max(opts.outWidth, opts.outHeight);
        if (imageSize > 600)
            opts.inSampleSize =  imageSize/600;
        opts.inJustDecodeBounds = false;
        Bitmap resized = BitmapFactory.decodeByteArray(image.getBytes(), 0,
                imageBytes.length, opts);
        ByteArrayOutputStream stream = new ByteArrayOutputStream();
        resized.compress(CompressFormat.JPEG, 70, stream);
        TiBlob blob = TiBlob.blobFromData(getTiContext(), stream.toByteArray(),
                "image/jpeg");

        return blob;
    }

}
4

1 回答 1

2

这个模块已经存在?你有什么不同的尝试吗?

https://marketplace.appcelerator.com/apps/1184?1982793044

于 2012-10-30T15:26:36.793 回答