以前说过了 重叠部分图片合成,今天说一下canvas.drawBitmap拼接长图
先上效果gif
需求:多图拼接长图,长图大小 宽度为屏幕,高度自己不变形成比例
核心源码1.:final int mScreenWidth = getResources().getDisplayMetrics().widthPixels;
LogUtil.log("mScreenWidth---" + mScreenWidth);
new AsyncTask, Void, Bitmap>() {
@Override
protected void onPreExecute() {
super.onPreExecute();
showMyDialog();
}
@Override
protected Bitmap doInBackground(List... lists) {
List list = lists[0];
Bitmap last = null;
for (int i = 0; i < list.size(); i++) {
if (last == null) {
last = PhotoUtils.comp(BitmapFactory.decodeFile(list.get(0)));
} else {
last = PhotoUtils.newBitmap(mScreenWidth, last, PhotoUtils.comp(BitmapFactory.decodeFile(list.get(i))));
}
}
return last;
}
@Override
protected void onPostExecute(Bitmap bitmap) {
dismissMyDialog();
ivLong.setImageBitmap(bitmap);
}
}.execute(pathList);
1.压缩到不崩溃的加载质量//图片按比例大小压缩方法(根据Bitmap图片压缩)
public static Bitmap comp(Bitmap image) {
ByteArrayOutputStream