我正在创建一个拼图益智游戏,我正在使用面具来创建拼图游戏。通过实验,我了解到如果掩模位图的大小与要掩盖的位图的大小不同,则结果“可能”与预期的形状不同。我遇到的冲突是,当试图将掩模图像的大小调整为等于拼图拼图的大小时,因为拼图拼图是随机大小,取决于多少块和难度等等,蒙面图像会失去形状和变成正方形或矩形。
我正在使用矩阵函数调整我的掩码位图,就像这样
public static Bitmap getResizedBitmap(Bitmap bm, int newHeight, int newWidth) {
int width = bm.getWidth();
int height = bm.getHeight();
float scaleWidth = (float) newWidth / width;
float scaleHeight = (float) newHeight / height;
// create a matrix for the manipulation
Matrix matrix = new Matrix();
// resize the bitmap
matrix.postScale(scaleWidth, scaleHeight);
// recreate the bitmap
Bitmap resizedBitmap = Bitmap.createBitmap(bm, 0, 0, width, height, matrix, false);
return resizedBitmap;
}
返回的地图不再是拼图形状,而是方形或矩形。因此,即使我用该图像进行遮罩,它也会创建正方形。另一种方法是将拼图块调整为一组蒙版图像,但我想知道是否有一种方法可以调整蒙版位图的大小(保留拼图形状)?提前谢谢!
答案 0 :(得分:1)
尝试使用此功能,看看它是否有效:
public static Bitmap createScaledBitmap(Bitmap src,int dstWidth,int dstHeight,boolean filter)
文档链接: http://developer.android.com/reference/android/graphics/Bitmap.html#createScaledBitmap(android.graphics.Bitmap,int,int,boolean)