Android 将Canvas.drawBitmap与矩阵一起使用会产生错误的大小

Android 将Canvas.drawBitmap与矩阵一起使用会产生错误的大小,android,bitmap,Android,Bitmap,在从资源加载位图图像而不进行缩放之后,我尝试使用draw bitmap方法和合适的缩放矩阵将其直接绘制到画布上。不幸的是,位图在绘制时似乎没有显示正确的尺寸-后缩放为(0.5,0.5)的标识矩阵不会渲染位图尺寸一半的图像。这里有我忽略的东西吗 这是我的密码: import android.content.Context; import android.view.View; import android.graphics.Canvas; import android.graphics.Paint;

在从资源加载位图图像而不进行缩放之后,我尝试使用draw bitmap方法和合适的缩放矩阵将其直接绘制到画布上。不幸的是,位图在绘制时似乎没有显示正确的尺寸-后缩放为(0.5,0.5)的标识矩阵不会渲染位图尺寸一半的图像。这里有我忽略的东西吗

这是我的密码:

import android.content.Context;
import android.view.View;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Color;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.BitmapFactory.Options;
import android.graphics.RectF;
import android.graphics.Matrix;

public class LogoView extends View
{
 private final Matrix mf_logoMatrix;
 private final Paint mf_paint;
 private final Bitmap mf_logoBitmap;


 public LogoView(final Context p_context)
 { 
  super(p_context);
  mf_logoMatrix = new Matrix();
  mf_paint = new Paint();
  BitmapFactory.Options options = new BitmapFactory.Options();
  options.inScaled = false;
  mf_logoBitmap = BitmapFactory.decodeResource(p_context.getResources(),
                                               R.drawable.logo_1500,
                                               options);
 }


 @Override public void onDraw(Canvas p_canvas)
 {
  mf_paint.setColor(Color.BLACK);
  p_canvas.drawPaint(mf_paint);
  mf_logoMatrix.reset();
  mf_logoMatrix.preScale(0.5f, 0.5f);
  p_canvas.setMatrix(mf_logoMatrix);
  p_canvas.drawBitmap(mf_logoBitmap, mf_logoMatrix, null);
 }


};

好的,在再次查看我的代码之后,我刚刚注意到我正在寻找的学生错误…我已经将矩阵应用到画布上,并通过绘制位图的方法…我想一次就足以完成任务:)我太喜欢矩阵了,我觉得有必要使用它两次。谢谢大家抽出时间;我要去用一个湿毛巾打自己