java - 如何使用 Java 代码为 iOS 创建钛移动模块?

标签 java ios mobile module titanium

谁能告诉我如何使用 java 代码为 iOS 创建 titanium 移动模块? 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;
    }

}

最佳答案

这个模块已经存在?您是否正在尝试完成一些不同的事情

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

关于java - 如何使用 Java 代码为 iOS 创建钛移动模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13141147/

相关文章:

c# - 有什么理由比 UTF-8 更喜欢 UTF-16?

java - GWT 隐藏网格面板的单元格

java - 链表 - 迭代添加方法 - 无 getter 和 setter

ios - 为 iPhone 和 iPad(普通版和 Retina 版)制作通用游戏

javascript - 在 IOS 设备上填充快速类型栏选项

Jquery 响应移动导航到常规导航

java - 如何使用 wicket 和 javascript 打印 pdf 文件

ios - 如何从背景中的任何内容创建 UIImage

iphone - AVPlayerLayer 中视频帧的实时处理

ios - 分发企业(内部)iOS 应用程序