简体   繁体   English

可以使用Java.awt.Image android应用程序

[英]it's possible to use Java.awt.Image android application

I've written a Java methods ,but i have to use this method in android project,so someone can help me to convert it into android or help me what should i do? 我已经编写了Java方法,但是我必须在android项目中使用此方法,所以有人可以帮助我将其转换为android或帮助我该怎么办?

public Image getImage(){

    ColorModel cm = grayColorModel() ;

    if( n == 1){// in case it's a  8 bit/pixel image 
        return Toolkit.getDefaultToolkit().createImage(new MemoryImageSource(w, h,cm, pixData, 0, w));

    }//endif

}

   protected  ColorModel grayColorModel()
   {
    byte[] r = new byte[256] ;
    for (int i = 0; i <256 ; i++ )
        r[i] = (byte)(i & 0xff ) ;
return (new IndexColorModel(8,256,r,r,r));
}

For instance, to convert a grayscale image (byte array, imageSrc) to drawable: 例如,要将灰度图像(字节数组,imageSrc)转换为可绘制图像:

        byte[] imageSrc= [...];
        // That's where the RGBA array goes.
        byte[] imageRGBA = new byte[imageSrc.length * 4];
        int i;
        for (i = 0; i < imageSrc.length; i++) {
            imageRGBA[i * 4] = imageRGBA[i * 4 + 1] = imageRGBA[i * 4 + 2] = ((byte) ~imageSrc[i]);

            // Invert the source bits
            imageRGBA[i * 4 + 3] = -1;// 0xff, that's the alpha.
        }

        // Now put these nice RGBA pixels into a Bitmap object
        Bitmap bm = Bitmap.createBitmap(width, height,
                Bitmap.Config.ARGB_8888);
        bm.copyPixelsFromBuffer(ByteBuffer.wrap(imageRGBA));

Code may differ depending of input format. 代码可能会因输入格式而异。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM