Drawable,Bitmapの違い
2699 ワード
Bitmap-はビットマップと呼ばれ、一般的なビットマップのファイル形式の接尾辞はbmpであり、もちろんエンコーダにもRGB 565、RGB 8888などがたくさんあります.画素単位の表示オブジェクトとしての実行効率は高いが、記憶効率が低いという欠点も明らかである.ストレージオブジェクトとして理解したほうがいいです.
Drawable-Androidフラットで一般的なグラフィックオブジェクトとして、GIF、PNG、JPGなどの一般的なフォーマットの画像をロードすることができます.BMPもサポートされています.もちろん、グラデーション、グラフィックなどの高度な可視化オブジェクトも提供されています.
Canvas-キャンバスという名前で、Bitmap、GL、またはPathパスを管理するために様々な方法を使用する処理プロセスと見なすことができます.また、Matrixマトリクスクラスに合わせて画像の回転、スケールなどの操作を行うことができます.また、Canvasクラスは剪断、選択などの操作も提供します.
Paint-ブラシ、ブラシなどの絵を描くツールと見なすことができます.彼は各グラフィックツールのフォント、色、スタイルを管理しています.
1画像はDrawableファイルにあります
2画像はAssetsファイルにあります
Android Studioにassetsディレクトリを追加し、ディレクトリの場所を
[java] view plain
copy
XXX\src\main\assets
XXXはあなたのプロジェクトのパスを代表して、assetsはsrcmainディレクトリの下に置きます.
3
1 SDカードパス
2 SDカード搭載監視:
3フォルダtempfileの作成
4 SDカードからBitmapを取得する
5 SDカードからDrawableを取得する
Drawable-Androidフラットで一般的なグラフィックオブジェクトとして、GIF、PNG、JPGなどの一般的なフォーマットの画像をロードすることができます.BMPもサポートされています.もちろん、グラデーション、グラフィックなどの高度な可視化オブジェクトも提供されています.
Canvas-キャンバスという名前で、Bitmap、GL、またはPathパスを管理するために様々な方法を使用する処理プロセスと見なすことができます.また、Matrixマトリクスクラスに合わせて画像の回転、スケールなどの操作を行うことができます.また、Canvasクラスは剪断、選択などの操作も提供します.
Paint-ブラシ、ブラシなどの絵を描くツールと見なすことができます.彼は各グラフィックツールのフォント、色、スタイルを管理しています.
1画像はDrawableファイルにあります
// Drawable
//drawable
Drawable drawable = getResources().getDrawable(R.drawable.personal_othericon);
//bitmap
Resources resources = getResources();
Bitmap bitmap = BitmapFactory.decodeResource(resources, R.drawable.personal_othericon);
2画像はAssetsファイルにあります
// Assets
AssetManager assets = getAssets();
try {
InputStream is = assets.open("personal");
//drawable
Drawable da = Drawable.createFromStream(is, null);
//bitmap
Bitmap bitmap1 = BitmapFactory.decodeStream(is);
} catch (IOException e) {
e.printStackTrace();
}
Android Studioにassetsディレクトリを追加し、ディレクトリの場所を
[java] view plain
copy
XXX\src\main\assets
XXXはあなたのプロジェクトのパスを代表して、assetsはsrcmainディレクトリの下に置きます.
3
1 SDカードパス
//SD
String s = Environment.getExternalStorageDirectory().toString();
System.out.println("content :"+s);
2 SDカード搭載監視:
//SD
String externalStorageState = Environment.getExternalStorageState();
if(externalStorageState.equals(Environment.MEDIA_MOUNTED)){
System.out.println(" SD !!!");
}
else{
System.out.println(" SD !!!");
}
3フォルダtempfileの作成
File destDir = new File(s+"/tempfile"); //
if(!destDir.exists()) {
destDir.mkdir();
}
4 SDカードからBitmapを取得する
ImageView iv;
String fileName = "/data/data/com.test/aa.png;
Bitmap bm = BitmapFactory.decodeFile(fileName);
iv.setImageBitmap(bm);
5 SDカードからDrawableを取得する
Bitmap image = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
BitmapDrawable bitmapDrawable = new BitmapDrawable(image);
imageView.setImageDrawable(bitmapDrawable);