ビットマップのリストがあります。私が望むのは、これらのビットマップを取得し、キャンバスの助けを借りて、私が持っているビットマップのリストから画像を縮小した (つまり、画像を非常に小さくする) 新しいビットマップを作成することです。
私はなんとかこれを行うことができましたが、縮小のために画像はかなりひどいものに見えます. 設定、新しいキャンバスの作成など、多くのことを試しました。
単純な最初のソリューションは次のようになります (コードは以下) が、前述したように、画像はひどく見えます。
public static Bitmap folderBitmap(Bitmap bitmap[]) {
Bitmap b = Bitmap.createBitmap(100, 100, Bitmap.Config.RGB_565);
Canvas c = new Canvas(b);
c.drawARGB(255, 255, 255, 255);
Paint paint = new Paint();
paint.setAntiAlias(false);
paint.setFilterBitmap(false);
paint.setDither(true);
c.drawBitmap(getBit(bitmap), 4, 4, paint);
c.drawBitmap(getBit(bitmap), 35, 4, paint);
c.drawBitmap(getBit(bitmap), 67, 4, paint);
c.drawBitmap(getBit(bitmap), 4, 35, null);
c.drawBitmap(getBit(bitmap), 35, 35, null);
c.drawBitmap(getBit(bitmap), 67, 35, null);
c.drawBitmap(getBit(bitmap), 4, 67, null);
c.drawBitmap(getBit(bitmap), 35, 67, null);
c.drawBitmap(getBit(bitmap), 67, 67, null);
return b;
}
private static Bitmap getBit(Bitmap[] b) {
Bitmap newBitmap = Bitmap.createScaledBitmap(b[getR()], 28, 28, false);
return newBitmap;
}
private static int getR() {
Random r = new Random();
int rint = r.nextInt(8);
return rint;
}
ひどいというのは、ピクセル化されて不鮮明に見えるということです。