相同的图片缩小到屏幕大小后,在view里显示很锐利的,但用SurfaceView显示就惨不忍睹
核心代码都相同,只是容器不同而已,大侠来解惑下。附演示代码 SurfaceView 核心代码: public void doDraw(Canvas canvas) {
Paint p = new Paint();
p.setAntiAlias(true);// <<====== Anti Alias
p.setColor(Color.WHITE);
canvas.drawColor(Color.BLACK);
Matrix mMatrix=new Matrix();
mMatrix.postScale(0.34f, 0.34f);
canvas.drawBitmap(mBitmap, mMatrix, p);
canvas.drawText("Surface View Anti alias", 100, 300, p);
} View 核心代码: @Override
protected void onDraw(Canvas canvas) {
Paint p = new Paint();
p.setAntiAlias(true);// <<====== Anti Alias
p.setColor(Color.WHITE);
canvas.drawColor(Color.BLACK);
Matrix mMatrix = new Matrix();
mMatrix.postScale(0.34f, 0.34f);
canvas.drawBitmap(mBitmap, mMatrix, p);
canvas.drawText("View Anti alias", 100, 300, p);
} 两种效果差距甚大,到底surfaceview下怎么抗锯齿呢? 附源代码
http://sharpidea.co.cc/GifViewTest.rar
核心代码都相同,只是容器不同而已,大侠来解惑下。附演示代码 SurfaceView 核心代码: public void doDraw(Canvas canvas) {
Paint p = new Paint();
p.setAntiAlias(true);// <<====== Anti Alias
p.setColor(Color.WHITE);
canvas.drawColor(Color.BLACK);
Matrix mMatrix=new Matrix();
mMatrix.postScale(0.34f, 0.34f);
canvas.drawBitmap(mBitmap, mMatrix, p);
canvas.drawText("Surface View Anti alias", 100, 300, p);
} View 核心代码: @Override
protected void onDraw(Canvas canvas) {
Paint p = new Paint();
p.setAntiAlias(true);// <<====== Anti Alias
p.setColor(Color.WHITE);
canvas.drawColor(Color.BLACK);
Matrix mMatrix = new Matrix();
mMatrix.postScale(0.34f, 0.34f);
canvas.drawBitmap(mBitmap, mMatrix, p);
canvas.drawText("View Anti alias", 100, 300, p);
} 两种效果差距甚大,到底surfaceview下怎么抗锯齿呢? 附源代码
http://sharpidea.co.cc/GifViewTest.rar
核心代码都相同,只是容器不同而已,大侠来解惑下。附演示代码SurfaceView 核心代码:
public void doDraw(Canvas canvas) {
Paint p = new Paint();
p.setColor(Color.WHITE);
canvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG));
canvas.drawColor(Color.BLACK);
Matrix mMatrix = new Matrix();
mMatrix.postScale(0.34f, 0.34f);
canvas.drawBitmap(mBitmap, mMatrix, p);
canvas.drawText("Surface View Anti alias", 100, 300, p);
}
View 核心代码: @Override
protected void onDraw(Canvas canvas) {
Paint p = new Paint();
p.setColor(Color.WHITE);
canvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG));
canvas.drawColor(Color.BLACK);
Matrix mMatrix = new Matrix();
mMatrix.postScale(0.34f, 0.34f);
canvas.drawBitmap(mBitmap, mMatrix, p);
canvas.drawText("View Anti alias", 100, 300, p);
}
两种效果差距甚大,到底surfaceview下怎么抗锯齿呢?
附源代码
http://sharpidea.co.cc/GifViewTest.rar