我在网上寻求帮助,虽然它看起来像是一种解决方案,但事实证明它并没有那么好用。对于初学者,我想说我刚刚进入了android编程(这是我的第一天)我真的通过反复试验来学习我希望如果你能帮助我,你会给我提示而不是粘贴在我面前的代码。
我的瓷砖 http://img217.imageshack.us/img217/4654/tileseth.png 结果 http://img199.imageshack.us/img199/7913/resultx.png
我遇到的问题是1.它显然没有将图像分成32位32位。正是我想要实现的是拍摄我的大图像并将其分成9×32个32个部分的较小图像。次要的图像质量变得扭曲,我无法解决原因。 *我不想使用9补丁,因为很快就会出现9个以上的图片只是一个蠢货,我有9个图像
我的代码(显然是从互联网上剽窃)
tilesetSliced = Bitmap.createScaledBitmap(bmp, 96, 96, true);
tileset[0] = Bitmap.createBitmap(tilesetSliced, 0, 0, 32, 32);
tileset[1] = Bitmap.createBitmap(tilesetSliced, 32, 0, 32, 32);
tileset[2] = Bitmap.createBitmap(tilesetSliced, 64, 0, 32, 32);
tileset[3] = Bitmap.createBitmap(tilesetSliced, 0, 32, 32, 32);
tileset[4] = Bitmap.createBitmap(tilesetSliced, 32, 32, 32, 32);
tileset[5] = Bitmap.createBitmap(tilesetSliced, 64, 32, 32, 32);
一旦我开始工作,我会让它变得更有效率。<任何帮助都会很棒
抽签
public void onDraw(Canvas canvas) {
//update();
for(int x=0; x<= mapWidth; x++){
for(int y = 0; y <= mapHeight; y++){
canvas.drawBitmap(tileset[map[x][y]], x *32, y*32, null);
}
}
}
确定更多的调试已经解决了一些事情1.我删除了停止质量被破坏的scaledbitmap(或者由于错误导致它)但是我发现由于某种原因它认为我的tileset的宽度是64它的96任何帮助都会很好。
答案 0 :(得分:0)
您可以通过Bitmap Factory获得更多运气来生成tilesetSliced
。其中包含一个Options
类,可让您设置可用于缩小图像的样本大小(inSampleSize
)。但是,它可能不足以满足您的需求。
由于缩小过程,您的图像可能会失真。您是否能够使用正确的尺寸创建这些图像或预先缩放它们?