`

抗锯齿方法两种

 
阅读更多
From: http://doublekj.blog.163.com/blog/static/146818474201171555942247/
在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时,会有抗锯齿的效果。

加阴影
myView.layer.shadowOffset = CGSizeMake(0, 2);//0,2
myView.layer.shadowRadius = 3.0;
myView.layer.shadowColor = [UIColor whiteColor].CGColor;
myView.layer.shadowOpacity = 1.0;
myView.layer.shouldRasterize = YES;
分享到:
评论

相关推荐

    软件抗锯齿处理

    2. **抗锯齿字体**:µC/GUI支持两种类型的抗锯齿字体——低质量和高质量,分别对应2bpp(bits per pixel)和4bpp。低质量抗锯齿字体占用的内存是标准字体(无抗锯齿,1bpp)的两倍,而高质量抗锯齿字体占用的内存则...

    Android创建抗锯齿透明背景圆角图像

    总的来说,创建抗锯齿透明背景圆角图像在Android开发中是一种常见的需求,可以通过自定义View、使用系统提供的RoundedBitmapDrawable、第三方库RoundedImageView,或者利用Shader等技术来实现。开发者可以根据项目...

    FASS简介-抗锯齿原理

    Part 2中,通过两个三角形的例子,展示了没有经过抗锯齿处理的图像会出现锯齿的原因。因为在取样过程中,没有先进行低通滤波(Low Pass Filter)处理,高频成分得以保留,从而导致锯齿的产生。低通滤波器能够去除...

    faxx游戏抗锯齿

    抗锯齿方法有多种,常见的包括: 1. **MSAA(多重采样抗锯齿)**:通过对每个像素的多个样本进行渲染来检测和消除锯齿,提供高质量的抗锯齿效果,但对硬件资源要求较高。 2. **FXAA(快速近似抗锯齿)**:一种性价...

    Android编程画图之抗锯齿解决方法

    在这个例子中,我们创建了一个自定义的`View`,并在其中绘制了旋转和缩放后的位图,分别使用了`Paint`的抗锯齿和`Canvas`的抗锯齿方法,从效果上看,两种方法都能有效地减少锯齿。 在实际开发中,根据需求选择合适...

    delphi用canvas画线搞锯齿demo

    在Delphi中,有两种常见的方法来实现抗锯齿效果: 1. **使用GDI+**:GDI+是Windows API提供的一种高级绘图接口,相比传统的GDI,它支持更多的图形特性,包括高质量的抗锯齿绘制。在Delphi中,可以通过引入GdiPlus...

    Android画图之抗锯齿paint和Canvas两种方式实例

    方法一:给Paint加上抗锯齿标志。然后将Paint对象作为参数传给canvas的绘制方法。 paint.setAntiAlias(true); 方法二:给Canvas加上抗锯齿标志。 有些地方不能用paint的,就直接给canvas加抗锯齿,更方便。 ...

    Android高级应用源码-Android创建抗锯齿透明背景圆角图像.rar

    创建圆角图像通常有两种方法:一是使用`BitmapShader`,二是使用`CornerPathEffect`。`BitmapShader`允许我们将位图应用于画刷,然后通过设置`TileMode.CLAMP`防止图像重复,并使用`Shader.TileMode.REPEAT`进行...

    android+ndk+opengles1.0点线抗锯齿

    在OpenGL ES中,有两种主要的抗锯齿方法:多边形边缘抗锯齿(Multisample Anti-Aliasing, MSAA)和FXAA(Fast Approximate Anti-Aliasing)。 在Android NDK环境中,我们可以直接操作OpenGL ES接口,这样可以更灵活...

    unity shader对简单多边形的抗锯齿

    在Unity引擎中,抗锯齿(Antialiasing)是一种消除图像边缘锯齿,提升画面质量的技术。本主题将深入探讨如何使用Unity Shader来对简单多边形进行抗锯齿处理,特别是通过`fwidth`和`smoothstep`这两个关键函数的运用...

    基于GPU的实时抗锯齿算法.pdf

    例如,Shishkovtsov提出了一种以图像内边缘检测为核心的局部混合抗锯齿算法,而Kehrer则使用比较相关距离的方法,按照预定义的距离相关性规则采样像素。Malant则提出了基于物体几何描述的抗锯齿算法,但其对内存和...

    threejs+shader平面扩散波(抗锯齿).zip

    在Three.js中,我们可以使用两种主要类型的着色器:顶点着色器和片段着色器。顶点着色器处理几何体的顶点,而片段着色器则处理屏幕上的每个像素。在这个示例中,着色器可能被用来创建扩散波的效果,这可能涉及到时间...

    DirectX11 With Windows SDK--40 抗锯齿:FXAA.doc

    FXAA有两种主要版本:FXAA 3.11 Quality 和 FXAA 3.11 Console。前者注重质量,常用于PC平台,后者则更注重效率,适用于早期的游戏主机。尽管FXAA 3.11已经是较旧的版本,但其基本概念仍然适用于现代硬件。 在实现...

    安卓Andriod源码——创建抗锯齿透明背景圆角图像.zip

    圆角图像的实现通常有两种方法:一种是通过Bitmap的Shader来绘制,另一种是使用自定义View。在这个例子中,RoundedImageView-master项目展示了如何通过自定义View实现圆角效果。RoundedImageView类会读取图片,并...

    Android应用源码之Android创建抗锯齿透明背景圆角图像.rar

    接着,创建圆角图像主要有两种方法:一种是通过XML定义Shape资源,另一种是在代码中动态生成Bitmap并绘制。 1. XML方式:在res/drawable目录下创建一个shape资源文件,如`round_corner.xml`,定义一个矩形并设置其...

    Android OpenGl ES绘制圆点与优化圆点锯齿

    本文将深入探讨如何使用OpenGL ES来绘制圆点,并介绍一种方法来优化圆点边缘的锯齿问题,提升视觉效果。 首先,我们要理解OpenGL ES的基本绘图单位是像素,而点是最基本的形状。在OpenGL ES中,我们使用`...

    桌面歌词秀源代码 (实现QQ音乐,千千静听等的桌面歌词,彩色抗锯齿带阴影文字)

    3. **实现QQ音乐和千千静听功能**:这表明该源代码旨在模仿或兼容这两种流行的音乐播放器的桌面歌词展示方式,可能包括了时间同步、动画效果、用户交互等方面的设计。 4. **带阴影**:阴影效果通常用来增加视觉层次...

    C#WinForm透明窗体 去除不规则锯齿

    描述中提到的“不规则锯齿”通常指的是图像边缘在显示时出现的像素化现象,这主要由于硬件加速和抗锯齿处理不足导致。为了解决这个问题,开发者通常会使用软件渲染,同时结合一些技巧来改善图像质量。 在C#中,创建...

Global site tag (gtag.js) - Google Analytics