图库经过skia渲染后dump出照片查看是否是skia的问题

图片显示错乱时用下面的方法将skia 解码的图片dump出来,以理清是否skia的原因造成。
dump jpeg解码出来的SkBitmap方法

/external/skia/src/images/SkImageDecoder_libjpeg.cpp

1. 增加头文件
#include "SkString.h"
#include <unistd.h>

2. 增加新方法
static void saveToFile(const char name[], const SkBitmap& bm) {
//SkImageEncoder::EncodeFile(name, bm, SkImageEncoder::kJPEG_Type, 50);
SkImageEncoder::EncodeFile(name, bm, SkImageEncoder::kPNG_Type, 100);
}

3. 在onDecode()返回之前,dump SkBitmap:
bool SkJPEGImageDecoder::onDecode(SkStream* stream, SkBitmap* bm, Mode mode) {

....
XLOGD("jpeg_decoder finish successfully, L:%d!!!\n",__LINE__);

// add by mtk start
SkMSec now = SkTime::GetMSecs();
SkDebugf("dump SkBitmap, start>>>%u", now);
if (access("/sdcard/images", F_OK) == 0)
{
SkString filename;
filename.printf("/sdcard/images/%u.png", now);
SkDebugf("SkBitmap save to file %s", filename.c_str() );
saveToFile(filename.c_str(), *bm);
}
// add by mtk end

return true;
}

mmm external/skia
将libskia.so push到手机后,reboot
===========================================
除代码修改外,还要进行以下操作:

手机连上USB,执行如下命令

adb shell
cd sdcard
mkdir images
chmod 777 images

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值