最近在做Flow Em时 遇到图片拉伸后出现严重锯齿的情况,后来网上查了下,经过几次尝试算是解决了问题,现在就来总结下:
网上搜到的两种解决方法:
1.给Paint加上抗锯齿标志。然后将Paint对象作为参数传给canvas的绘制方法。
paint.setAntiAlias(true);
canvas.drawBitmap(bmp ,fX,fY,paint);
2.直接给canvas加抗锯齿。
canvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG));
这两种方法 大多数情况下都能解决问题,但是部分情况下效果不太理想。除此之外还可以尝试下面两种方法:
3. 创建bitmap时就做拉伸处理:
Bitmap bmp = Bitmap.createScaledBitmap(bmpSrc, (int) (bmpSrc.getWidth() * scale), (int) (bmpSrc.getHeight() * scale), true);
注意这个 方法的最后一个参数一定要设为true,否则无法去锯齿
4 .在绘制图像时利用matrix对图像进行拉伸。
Matrix matrix = new Matrix();
matrix.setTranslate(fX,fY);
matrix.postScale(scale,scale,fX,fY);
canvas.drawBitmap(bmp,matrix,null);
分享到:
相关推荐
使用clippath实现的CircleImageView,没有Bitmap,没有锯齿
android bitmap outofMemory 用来解决android中常见的bitmap outOfMemory
主要介绍了Android 将view 转换为Bitmap出现空指针问题解决办法的相关资料,这里提供实例并提供解决办法,需要的朋友可以参考下
软件开发网在此之前给大家介绍过图片加载框架Glide的基本用法介绍,大家可以先参考一下,本篇内容更加深入的分析了Glide获取图片Path、Bitmap用法,以及实现的代码分析。 1. 获取Bitmap: 1)在图片下载缓存好之后...
处理bitmap内存溢出问题
改用原始图像数据流回调函数RegisterImageStreamCallback进行抓图 但回调函数帧为YUV420格式 需要转成Bitmap才用用于显示及本地查看 在网上找了好多都是基于R Y+1 4075 V 128 G Y 0 3455 U 128 – 0 7169 V 128 B Y+...
在画图的时候,图片如果旋转或缩放之后,总是会出现那些华丽的锯齿。其实Android自带了解决方式。 方法一:给Paint加上抗锯齿标志。然后将Paint对象作为参数传给canvas的绘制方法。 代码如下:paint.setAntiAlias...
包含翻译后的API文档:RoaringBitmap-0.7.45-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.roaringbitmap:RoaringBitmap:0.7.45; 标签:roaringbitmap、RoaringBitmap、中英对照文档、jar包、java...
机器视觉技术必备,从位图到halcon图像,bitmap图像转为halcon图像,bitmap to Hobject
C#下读取、修改位置Bitmap,以及几种不同方法修改位图数据
Halcon_Bitmap转换方法 写的文档 开发笔记
C#语言下,官方好像没有提供直接的方式把Bitmap转为Mat,但是可以使用我的这个方式转变格式
文档中描述了Drawable Bitmap 几种转换方法供初学者使用。方法都是经过实践验证的。
3个bitmap文件,用于认识bitmap文件格式的本质
包含翻译后的API文档:RoaringBitmap-0.7.45-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.roaringbitmap:RoaringBitmap:0.7.45; 标签:roaringbitmap、RoaringBitmap、中文文档、jar包、java; 使用方法:...
加深对bitmap数据结构的理解,bitmap数据位图内存指针数据的长度
bitmapFont.zip
测试图片占用的内存大小,测试空bitmap和一张真实图片的内存大小对比,测试bitmap内存释放,测试bitmap优化后占内存大小等,理清bitmap到底怎么一回事,主要的类是BitmapDemo.java,csdn博客讲解:...