Android绘图位图错误
我正在使用drawBitmap来绘制精灵,它在我的手机上运行良好,但在我的平板电脑上却不行 精灵是一个32x32的网格 移动(安卓2.3.6) [浏览1.jpg] 平板电脑(安卓4.1.2) [浏览2.jpg] 代码 请帮忙 LOGCAT 02-27 14:05:12.203:D/AndroidRuntime(1226):>>>>>>>>AndroidRuntime开始com.android.internal.os.RuntimeInit尝试以下代码Android绘图位图错误,android,Android,我正在使用drawBitmap来绘制精灵,它在我的手机上运行良好,但在我的平板电脑上却不行 精灵是一个32x32的网格 移动(安卓2.3.6) [浏览1.jpg] 平板电脑(安卓4.1.2) [浏览2.jpg] 代码 请帮忙 LOGCAT 02-27 14:05:12.203:D/AndroidRuntime(1226):>>>>>>>>AndroidRuntime开始com.android.internal.os.RuntimeInit尝试以下代码 final int color = 0x
final int color = 0xff424242; // put your color
final Paint paint = new Paint();
final Rect rect = new Rect(0,0,32,32);
paint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0);
paint.setColor(color);
canvas.drawBitmap(bitmap, rect, rect, paint);
尝试将convertPixelsToDp(32,上下文)替换为32
/**
* This method converts dp unit to equivalent pixels, depending on device density.
*
* @param dp A value in dp (density independent pixels) unit. Which we need to convert into pixels
* @param context Context to get resources and device specific display metrics
* @return A float value to represent px equivalent to dp depending on device density
*/
public static float convertDpToPixel(float dp, Context context){
Resources resources = context.getResources();
DisplayMetrics metrics = resources.getDisplayMetrics();
float px = dp * (metrics.densityDpi / 160f);
return px;
}
/**
* This method converts device specific pixels to density independent pixels.
*
* @param px A value in px (pixels) unit. Which we need to convert into db
* @param context Context to get resources and device specific display metrics
* @return A float value to represent dp equivalent to px value
*/
public static float convertPixelsToDp(float px, Context context){
Resources resources = context.getResources();
DisplayMetrics metrics = resources.getDisplayMetrics();
float dp = px / (metrics.densityDpi / 160f);
return dp;
}
问题在哪里?我只在你的链接中看到彩色方块它会出错吗?请发布logcat输出。仍不工作。这会是新闻部的问题吗?
/**
* This method converts dp unit to equivalent pixels, depending on device density.
*
* @param dp A value in dp (density independent pixels) unit. Which we need to convert into pixels
* @param context Context to get resources and device specific display metrics
* @return A float value to represent px equivalent to dp depending on device density
*/
public static float convertDpToPixel(float dp, Context context){
Resources resources = context.getResources();
DisplayMetrics metrics = resources.getDisplayMetrics();
float px = dp * (metrics.densityDpi / 160f);
return px;
}
/**
* This method converts device specific pixels to density independent pixels.
*
* @param px A value in px (pixels) unit. Which we need to convert into db
* @param context Context to get resources and device specific display metrics
* @return A float value to represent dp equivalent to px value
*/
public static float convertPixelsToDp(float px, Context context){
Resources resources = context.getResources();
DisplayMetrics metrics = resources.getDisplayMetrics();
float dp = px / (metrics.densityDpi / 160f);
return dp;
}