我試圖從一個圖像的二十個副本創建一個環,它是完整環的1/20切片。我生成的是原始圖像旋轉到正確度的位圖。原始圖像是130x130正方形在不調整大小的情況下生成旋轉的位圖
產生旋轉片的代碼看起來是這樣的:
Bitmap bmp = BitmapFactory.decodeResource(context.getResources(), R.drawable.battery_green);
FileOutputStream fos;
for(int i = 0; i < 20; i++) {
String idName = "batt_s_"+i;
Matrix m = new Matrix();
m.setRotate((i * 18)-8, bmp.getWidth()/2, bmp.getHeight()/2);
Bitmap newBmp = Bitmap.createBitmap(bmp, 0, 0, bmp.getWidth(), bmp.getHeight(), m, true);
try {
fos = context.openFileOutput(idName+"_"+color+".png", Context.MODE_WORLD_READABLE);
newBmp.compress(CompressFormat.PNG, 100, fos);
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
m.reset();
BattConfigureSmall.saveInitPref(context, true);
}
,這些生成的位圖被最終被開槽到所有ImageViews具有scaleType =」中心「在他們的XML。但是,生成的輸出結果如下:
不完全是一個完美的戒指。切片本身,如果旋轉正確,確實會形成一個完美的環,因爲在API級別11中,我在這些ImageView上使用了android:rotate XML屬性,但我也需要支持API級別7-10,所以可以有人給我一些建議嗎?謝謝。
是否有使用圖像而不是畫一個圓弧什麼特別的原因?這對我來說似乎更容易。 – qzikl
我已經得到了一點點發光效果,並且就創意控制而言,我只是更願意使用圖像文件。更不用說我已經有了Android 3.x及更高版本的所有功能。 – Nick