解决方案 »
- 安卓开发里面怎么通过监听计算2点之间距离,并进行判断
- android 锁屏后 程序怎样才能继续运行
- 我写的android应用程序在模拟器上可以全屏显示但在真机上不能,为什么?那个地方设置不对?
- 关于修改系统解锁界面。。如何编译。如何烧入手机,标题长才会得到注意。。。。
- 读取SIM卡短信 Moto CDMA SIMCard
- 我想运行一个非默认的activity,怎样设置快一些?
- 关于横竖屏切换的状态保存
- 散分,QQ和360谁会赢?
- 安卓怎么取出xml中的注释部分 和怎么把注释部分写进xml文件中
- upnp 的AndroidUpnpServiceImpl无法搜索到设备
- 求助,修改Activity标题栏出错
- 关于Android绘制饼图的问题
我说的是skia的源码库(c++实现那个),Android底层,不是Java应用层
其实我是要用里面的东西,做点其他的工作,不是基于Android平台的
在decoder图片文件之后,如果我想要实现 图片的缩放,我应该如何实现呢? 操作bitmap数据结构吗?具体是怎样呢?我试了几个方法都不行,很麻烦
例如:
SkImageDecoder::decodeFile("snapshot.png", &bitmap);
然后我想对 snapshot.png 进行大小缩放,这样可以吗?
//缩放到一半的大小
bitmap.setConfig(SkBitmap::kARGB_8888_Config, bitmap.width()*0.5,bitmap.height()*0.5);
bitmap.allocPixels();
然后就 SkImageDecoder::EncodeFile,保存图片。
这样实现不了我要的功能。
嗯,确实是这个方法,不过skia库貌似无法处理gif格式图片
为什么skia库缩放的时候,图片质量不怎么好。。
<<<<<<<<<<<<<<<<<
setBitmapFilter(true);
大约是这样,我手头没api文档。
我试过了这个 setBitmapFilter(true);效果不明显啊。。几乎没什么改进,难道是我前面代码有问题?
bitmap是读取的图片。newbm.setConfig(bitmap.config(), 60.0 , 60.0 ,bytes);
newbm.allocPixels(bitmap.getColorTable());SkCanvas canvas(new SkDevice(newbm));
SkMatrix matrix;
matrix.setScale(1.5,1.5);
SkPaint paint;
paint.setFilterBitmap(1);canvas.drawBitmapMatrix(bitmap,matrix,&paint);图片质量过不去
此外skia core中的filter不可选的,只有一种,
在chrome的ports中,有其它三个filter,效果和速度可能有所不同,不过我没有实际对比过。
呃。filter这个东西不懂啊。。
不过“直接在canvas中setScale”我也试过,效果是一样的
悲剧。质量还是一个问题。
还有两个方面或许可以提高质量:
1〉你开始解析图片的时候用32的解析,就是config 设置为8888的。
2〉把图片的采用率降低。
你说的SkCanvas::drawBitmapRect()。这个函数怎么用的啊?
我一直显示不出来,高人指点一下啊?