Android渐变图形质量(缩放位图)

时间:2011-11-28 12:20:29

标签: android graphics bitmap

我想在我的应用中显示带渐变的启动画面。但是背景中渐变的质量非常糟糕。所以我创建了一个简单的辐射渐变来仔细观察。

编辑:也许我应该提到我正在使用BitmapFactory.createScaledBitmap();和BitmapFactory.decodeStream()(图形位于资源文件夹中。)

结果如下:

原创* .jpg(质量100%) enter image description here

截图Xperia X10(我用Eclipse截取屏幕截图) enter image description here

2 个答案:

答案 0 :(得分:0)

你可以在没有任何jpg文件的情况下使用shape drawable。创建矩形并为gradient标记提供必要的parmas。

答案 1 :(得分:0)

为了缩放位图并保持ARGB_8888,我创建了一个所需大小的新位图。然后我使用canvas用drawBitmap在新位图上绘制内在位图。此方法允许我在将位图绘制到新位图之前缩放位图。

inputStream = assetManager.open(path);
originalBitmap = BitmapFactory.decodeStream(inputStream, null, opts);

Bitmap resizedBitmap = Bitmap.createBitmap(desiredX, desiredY, Config.ARGB_8888);

Canvas canvas = new Canvas(resizedBitmap);
canvas.drawBitmap(originalBitmap, null, new Rect(0, 0, desiredX, desiredY), null);

inputStream.close();
return resizedBitmap;