2

在没有缩放的情况下从资源加载位图图像后,我尝试使用绘制位图方法和合适的缩放矩阵将其直接绘制到画布上。不幸的是,位图在绘制时似乎没有显示正确的尺寸 - 后缩放 (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);
 }


};
4

1 回答 1

1

好的,再次查看我的代码后,我刚刚注意到我正在寻找的男生错误......我已经将矩阵应用到画布并通过绘制位图方法......我想一次就足以得到工作完成:) 我非常喜欢矩阵,我觉得有必要使用它两次。谢谢大家的时间;我要去用湿腌鱼鞭打自己。

于 2013-09-07T17:13:51.490 回答