使用double值而不是int Android创建位图

时间:2016-01-27 12:26:55

标签: android int double android-bitmap

在我的代码中,我需要使用double值创建一个Bitmap。重要的是使用正确的值。

我正在使用:

Bitmap bmp = Bitmap.createBitmap(int, int, Bitmap.Config.ARGB_8888);

......当我需要类似的东西时:

Bitmap bmp = Bitmap.createBitmap(double, double, Bitmap.Config.ARGB_8888);

我尝试进行转换的所有内容(可能?)只返回初始值或整数

创建位图时如何使用double值?

2 个答案:

答案 0 :(得分:1)

也许我误解了这个问题,但是位图是整个像素的栅格。您不能拥有像素的分数,因此在createBitmap的参数中只能包含整数个行和列。

话虽如此,您可以使用通过Matrix drawBitmap方法应用的浮点比例因子重新缩放位图的绘制方式,例如

Canvas.drawBitmap(Bitmap bitmap, Matrix matrix, Paint paint)

Matrix matrix = new android.graphics.Matrix();
matrix.postScale(3.14f, 3.14f);
canvas.drawBitmap(bitmap, matrix, paint);

但是,当在屏幕上渲染时,它将再次仅绘制整个像素,因此您仍然无法显示小数像素。

答案 1 :(得分:0)

试试这个,将double转换为int:

double myDouble = 10.4;
int myInt = (int) (myDouble);

使用(int)将double转换为int