`
h416756139
  • 浏览: 359211 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

反锯齿办法

阅读更多

在Android中,目前,我知道有两种出现锯齿的情况。

 

① 当我们用Canvas绘制位图的时候,如果对位图进行了选择,则位图会出现锯齿。

 

② 在用View的RotateAnimation做动画时候,如果View当中包含有大量的图形,也会出现锯齿。我们分别以这两种情况加以考虑。

 

◆ 用Canvas绘制位的的情况。在用Canvas绘制位图时,一般地,我们使用drawBitmap函数家族,在这些函数中,都有一个Paint参数,要做到防止锯齿,我们就要使用到这个参数。如下:首先在你的构造函数中,需要创建一个Paint。 Paint mPaint = new Paint(); 然后,您需要设置两个参数: 1)mPaint.setAntiAlias(); 2)mPaint.setBitmapFilter(true)。第一个函数是用来防止边缘的锯齿,第二个函数是用来对位图进行滤波处理。最后,在画图的时候,调用drawBitmap函数,只需要将整个Paint传入即可。

 

◆ 有时候,当你做RotateAnimation时,你会发现,讨厌的锯齿又出现了。这个时候,由于你不能控制位图的绘制,只能用其他方法来实现防止锯齿。另外,如果你画的位图很多。不想每个位图的绘制都传入一个Paint。还有的时候,你不可能控制每个窗口的绘制的时候,您就需要用下面的方法来处理——对整个Canvas进行处理。 1)在您的构造函数中,创建一个Paint滤波器。 PaintFlagsDrawFilter mSetfil = new PaintFlagsDrawFilter(0, Paint.FILTER_BITMAP_FLAG);第一个参数是你要清除的标志位,第二个参数是你要设置的标志位。此处设置为对位图进行滤波。 2)当你在画图的时候,如果是View则在onDraw当中,如果是ViewGroup则在dispatchDraw中调用如下函数。 canvas.setDrawFilter( mSetfil );

 

★ 最后,另外,在Drawable类及其子类中,也有函数setFilterBitmap可以用来对Bitmap进行滤波处理,这样,当你选择Drawable时,会有抗锯齿的效果。

 

 

分享到:
评论

相关推荐

    反锯齿_反锯齿波_

    利用c51Proteus仿真输出反锯齿波的c语言程序

    反锯齿直线示例

    反锯齿直线

    arcgis平滑线反锯齿工具

    ECCartoExtension10.0.zip插件。附带使用说明,大家放心使用

    Unity5.0 的反锯齿Temporal.zip

    Temporal Reprojection 是用于Unity 5.0 的反锯齿,在Playdead内部使用的抗锯齿解决方案的源代码发布。要求Unity 5.0 命令复制Assets/* 到你的项目中在 'Project Settings/Quality'下禁用MSAA添加 ...

    论文研究-光线追踪等价划分反锯齿算法.pdf

    为了解决图形处理过程中出现的锯齿问题,提出了一种高效的光线追踪等价划分反锯齿算法。算法通过计算相邻像素采样点间颜色偏差,对偏差超过阈值的边界采样点进行递归划分为更小的不规则区域;对偏差小于阈值的采样点...

    HTML5Canvas如何取消反锯齿绘图

    一、问题的提出我们都知道反锯齿(anti-aliasing)绘图给我们带来更好的视觉体验,有了这个技术,绘制的图形的边缘再不是以前毛毛躁躁的样子了。这就是采用反锯齿算法的功劳。其实质就是把要绘制的颜色边缘和背景...

    反锯齿中文插件10.0

    平滑线插件主要是对线图层进行平滑处理,一般情况下将把栅格图转换成矢量图,产生的数据都是有很多锯齿或者完全成为一条直线,在交通地图或者其他电子地图中会严重影响其美观效果,这个时候就需要对线进行平滑处理。

    VC 画线反走样demo 抗锯齿

    MFC 工程,GDI(非GDI+)画线反走样处理,抗锯齿,画图时可自行加上简单的平滑处理

    Windows下QT文字的反锯齿的示例代码

    出于性能考虑,Qt对于小字体的处理直接转交给操作系统,这样使得Windows下的文字没有反锯齿的效果. 这里提供了一个workaround.对于实在需要实现反锯齿而又无从下手的人一点提示. 注:此乃解决此类问题的下下策,如有其它...

    C#指针式反锯齿时钟

    这是一个用C#写的一个指针时钟,程序实现了反锯齿功能

    反锯齿画园角矩形函数

    VB GDi+ 反锯齿画园角矩形函数,调整参数可以画出很多形状光滑园角矩形

    CDC画图,消除锯齿

    用GDI+消除画直线的锯齿,C++ Chart的使用

    万用反锯齿 SMAA_1.2

    根据自己使用DX的版本,复制相应文件夹中的文件到游戏根目录。使用前请删除之前的FXAA以及各种后处理滤镜,并关闭游戏抗锯齿。

    单片机C语言程序设计21 用DAC0832生成锯齿波(基于8051+Proteus仿真)

    单片机C语言程序设计21 用DAC0832生成锯齿波(基于8051+Proteus仿真)单片机C语言程序设计21 用DAC0832生成锯齿波(基于8051+Proteus仿真)单片机C语言程序设计21 用DAC0832生成锯齿波(基于8051+Proteus仿真)...

    QT实现抗锯齿圆形头像

    参考QT Demo(Image Composition),使用QT图片混合技术实现抗锯齿头像小Demo,Windows QtCreator创建运行通过。经过尝试setMask方式始终存在锯齿,最后在这种图片混合方式下尝试成功。build-showroundpic-Desktop_Qt_5...

    OpenGL+qt抗锯齿OpenGL+qt抗锯齿

    OpenGL+qt抗锯齿OpenGL+qt抗锯齿OpenGL+qt抗锯齿OpenGL+qt抗锯齿OpenGL+qt抗锯齿OpenGL+qt抗锯齿OpenGL+qt抗锯齿OpenGL+qt抗锯齿OpenGL+qt抗锯齿OpenGL+qt抗锯齿OpenGL+qt抗锯齿OpenGL+qt抗锯齿OpenGL+qt抗锯齿...

    GDI抗锯齿画图源码

    GDI 绘制过程中有锯齿现象,这部分代码可以有效实现抗锯齿功能(线条、矩形,圆角矩形、多边形,圆形、椭圆.....)

    51单片机教程实例111-PCF8591 输出锯齿波

    51单片机教程实例111-PCF8591 输出锯齿波

    单片机C语言程序设计 用DAC0832生成锯齿波(有源码)

    单片机C语言程序设计 用DAC0832生成锯齿波(有源码)单片机C语言程序设计 用DAC0832生成锯齿波(有源码)单片机C语言程序设计 用DAC0832生成锯齿波(有源码)单片机C语言程序设计 用DAC0832生成锯齿波(有源码)单片机...

    GDI 实现抗锯齿

    GDI 实现抗锯齿 GDI 实现抗锯齿 GDI 实现抗锯齿

Global site tag (gtag.js) - Google Analytics