本帖最后由 caicat 于 2010-08-20 13:58:59 编辑

解决方案 »

  1.   

    Android 之 Intent 用法汇总
      

  2.   


    我说的是skia的源码库(c++实现那个),Android底层,不是Java应用层
      

  3.   

    这东西一般不需要动它,bug不多,用起来已经够了。
      

  4.   


    其实我是要用里面的东西,做点其他的工作,不是基于Android平台的
      

  5.   

    用 skia(c++ API):
    在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,保存图片。
    这样实现不了我要的功能。
      

  6.   

    SkCanvas才是skia的操控类中,使用SkCanvas::drawBitmapRect方法就可以啦。
      

  7.   

    图片绽放需要用到插值算法,没看过这个库,不知道有没有相应的API
      

  8.   


    嗯,确实是这个方法,不过skia库貌似无法处理gif格式图片
      

  9.   

    你之前可没提gif的问题。何况,skia支持gif的decode显示。
      

  10.   

    gif只能显示一帧,就是不能动。
      

  11.   

    LZ把代码给我发一份[email protected] .现在在android有这样的问题,就是超过分辨率的时候就无法creat.不知道为什么?LZ想实现什么功能?  加一个缩放比率和矩阵就可以了.
      

  12.   


    为什么skia库缩放的时候,图片质量不怎么好。。
      

  13.   

    skia简单处理后,图片质量差,这个问题怎么办呢?
      

  14.   

    skia简单处理后,图片质量差,这个问题怎么办呢?
    <<<<<<<<<<<<<<<<<
    setBitmapFilter(true);
    大约是这样,我手头没api文档。
      

  15.   


    我试过了这个 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);图片质量过不去
      

  16.   

    skia这个2D库,网上应该有资料吧
      

  17.   

    直接在canvas中setScale不是简单些吗?
    此外skia core中的filter不可选的,只有一种,
    在chrome的ports中,有其它三个filter,效果和速度可能有所不同,不过我没有实际对比过。
      

  18.   


    呃。filter这个东西不懂啊。。
    不过“直接在canvas中setScale”我也试过,效果是一样的
    悲剧。质量还是一个问题。
      

  19.   

    bitmap就是位图,位图放缩注定会失真,有什么好纠结的。看上去还好啊
      

  20.   

    前不久也为放缩的质量探索.skpaint的参数都尝试了下,setbitmapfilter是可以有效提高放缩质量。
    还有两个方面或许可以提高质量:
    1〉你开始解析图片的时候用32的解析,就是config 设置为8888的。
    2〉把图片的采用率降低。
      

  21.   

    楼主问题解决了没有啊,我最近正好遇到这个问题,我现在是有个png的图片,已经将图片保存到Skbitmap的变量中了,png的尺寸是Rect1,我想让图片全屏显示手机屏幕上,应该调用什么函数啊?
    你说的SkCanvas::drawBitmapRect()。这个函数怎么用的啊?
    我一直显示不出来,高人指点一下啊?