程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> java-如何改變 android 代碼的 buffered image 和 graphics?

java-如何改變 android 代碼的 buffered image 和 graphics?

編輯:編程綜合問答
如何改變 android 代碼的 buffered image 和 graphics?

我用下面的 Java 代碼創建了 BufferedImage 和 Graphics,如何把下面的 Java 代碼改成Android 的?

public static BufferedImage buff(BufferedImage bi){
    if (isGray(bi)){
        return bi;
    }
    BufferedImage gray = new BufferedImage(bi.getWidth(), bi.getHeight(), 10);
    Graphics gr = gray.getGraphics();
    gr.drawImage(bi, 0, 0, null);
    gr.dispose();
    return gray;
}

最佳回答:


不知道你為什麼傳進去的是BufferedImage,返回值也是BufferedImage。
Android 中圖片類用Bitmap,網上搜索Bitmap用法,或查看Api
public static Bitmap readBitmap(Context context, int resId) {
BitmapFactory.Options opt = new BitmapFactory.Options();
opt.inPreferredConfig = Bitmap.Config.RGB_565;
opt.inPurgeable = true;
opt.inInputShareable = true;
// 獲取資源圖片
InputStream is = context.getResources().openRawResource(resId);
return BitmapFactory.decodeStream(is, null, opt);
}

public static Drawable getImageFromAssetsFile(Context context,
        String fileName) {
    Drawable image = null;
    BitmapFactory.Options opt = new BitmapFactory.Options();
    opt.inPreferredConfig = Bitmap.Config.RGB_565;
    opt.inPurgeable = true;
    opt.inInputShareable = true;
    AssetManager am = context.getResources().getAssets();
    try {
        InputStream is = am.open(fileName);
        Bitmap bmp = BitmapFactory.decodeStream(is, null, opt);
        image = new BitmapDrawable(bmp);
        is.close();
        bmp = null;
    } catch (IOException e) {
        e.printStackTrace();
    }
    return image;
}

也可以和Drawable互相轉換

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved