从资源加载了位图图像而没有缩放,我试图使用绘制位图方法和合适的缩放矩阵将其直接绘制到画布上。不幸的是,位图在绘制时似乎没有表现出正确的尺寸 - 由(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);
}
};
答案 0 :(得分:0)
好的,再次查看我的代码之后,我刚刚注意到我正在寻找的小学生错误...我已经将矩阵应用到画布并通过绘制位图方法......我猜一次就足以完成工作了:)我非常喜欢矩阵,我觉得需要两次使用它。感谢大家的时间;我是用湿腌鱼鞭打自己的。