繁体   English   中英

我如何将某些图像库下载到android?

[英]How can i download some image libraries to android?

我想做的是在android中读取一些图像并将图像中的每个像素转换为RGB值,这是我发现的代码:

public class MainActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button test=(Button)findViewById(R.id.button1);
        test.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                BufferedImage bi=ImageIO.read(new File("C:\\images\\Sunset.jpg"));
                int[] pixel;

                for (int y = 0; y < bi.getHeight(); y++) {
                    for (int x = 0; x < bi.getWidth(); x++) {
                        pixel = bi.getRaster().getPixel(x, y, new int[3]);
                        System.out.println(pixel[0] + " - " + pixel[1] + " - " + pixel[2] + " - " + (bi.getWidth() * y + x));
                    }
                }
            }
        });

    }
}

但是我在导入这样的一些软件包时遇到了问题:

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;

而且我不知道如何下载它们,或者是解决此问题的最佳方法。

BufferedImage或ImageIO在android上不可用。

代替使用Bitmap的BufferedImage,来看看getPixels函数。

代替ImageIO使用BitmapFactory ,您需要的功能是encodeFile


BitmapFactory.Options opts = new BitmapFactory.Options();
opts.inPreferredConfig = Bitmap.Config.ARGB_8888;
Bitmap bitmap = BitmapFactory.decodeFile(filePath, opts);

int pixels[] = new int[bitmap.getWidth()*bitmap.getHeight()];

bitmap.getPixels(pixels,0,0,0,0,bitmap.getWidth(),bitmap.getHeight());

第一个从文件创建位图。

BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
Bitmap bitmap = BitmapFactory.decodeFile(photoPath, options);

接下来,您可以从位图获取getPixel()

for (int y = 0; y < bitmap.getHeight(); y++) {
    for (int x = 0; x < bitmap.getWidth(); x++) {
        android.util.Log.v("TAG", bitmap.getPixel(x,y));
    }
}

暂无
暂无

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

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