博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android给拼接好的Bitmap加上个性化边框
阅读量:6644 次
发布时间:2019-06-25

本文共 1657 字,大约阅读时间需要 5 分钟。

在上一节中将到将若干张图片拼接成为一张图片。但是这种简单的操作往往不能满足实际的需求,有时我们会需要给图片添加上个性化的边框,来更好的展示图片。

下面就讲一下在图片拼接后如何给bitmap添加边框。

操作步骤和上一篇差不多,不过区别是上章操作的是bitmap,而这一章通过操作canvas来间接操作bitmap。

效果图如下:

操作步骤如下:

  1.获取Canvas裁剪界限:

Rect rect = canvas.getClipBounds();

  2.创建画笔,设置画笔颜色和画笔样式,并设置边框宽度

Paint paint = new Paint(); //设置边框颜色paint.setColor(Color.GREEN);paint.setStyle(Paint.Style.STROKE);//设置边框宽度paint.setStrokeWidth(20);

  3.绘制Canvas区域大小的边框

canvas.drawRect(rect, paint);

  4.结束。呵呵,

 

具体的代码如下:

1.设置Bitmap边框的方法

/**     * 给bitmap设置边框     * @param canvas     */    private void setBitmapBorder(Canvas canvas){        Rect rect = canvas.getClipBounds();        Paint paint = new Paint();        //设置边框颜色        paint.setColor(Color.GREEN);        paint.setStyle(Paint.Style.STROKE);        //设置边框宽度        paint.setStrokeWidth(20);        canvas.drawRect(rect, paint);    }

2.调用该方法绘制边框

  

/**     * 拼接图片     * @param bit1     * @param bit2     * @return 返回拼接后的Bitmap     */    private Bitmap newBitmap(Bitmap bit1,Bitmap bit2){        int width = bit1.getWidth();        int height = bit1.getHeight() + bit2.getHeight();        //创建一个空的Bitmap(内存区域),宽度等于第一张图片的宽度,高度等于两张图片高度总和        Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);        //将bitmap放置到绘制区域,并将要拼接的图片绘制到指定内存区域        Canvas canvas = new Canvas(bitmap);        canvas.drawBitmap(bit1, 0, 0, null);        canvas.drawBitmap(bit2, 0, bit1.getHeight(), null);        //将canvas传递进去并设置其边框        setBitmapBorder(canvas);        return bitmap;    }

注意:setBitmapBorder(Canvas canvs)方法传递的这个canvas必须是你创建内存区域的那个canvas也就是Canvas canvas = new Canvas(bitmap);.只有传入这个canvas才会绘制bitmap的边框,如果传递的是onDraw方法的canvas则绘制的是整个View的边框。

转载地址:http://lvevo.baihongyu.com/

你可能感兴趣的文章
我只负责转换![C/C++]
查看>>
linux安装ant 1.8.2
查看>>
[转]wait,notify,notifyAll,join,yield,sleep的区别和联系
查看>>
[书目20130216]深入浅出WPF
查看>>
hibernate 一级缓存and 快照
查看>>
iPhone电池到底为何不耐用,真相让人意外
查看>>
真正实现多点触控索尼Xperia Touch试用
查看>>
如何在OpenStack中轻松部署MySQL应用
查看>>
VMware vSphere:架构解析及应用案例
查看>>
可视化探索卷积神经网络提取特征
查看>>
Docker-run
查看>>
一点资讯拆VIE回国;拼多多做跨境海淘;复宏汉霖首款生物类似药获批
查看>>
怎么设计IOS登录页面的跳转关系
查看>>
ecshop 漏洞如何修复 补丁升级与安全修复详情
查看>>
【三】Centos7.4 安装Docker
查看>>
拜腾与博世将在动力系统、驾驶员辅助等方面展开重点合作
查看>>
国资入场,P2P网贷平台星火钱包千万级A+轮融资
查看>>
windows server21012 r2 密钥
查看>>
北大发布新零售之城发展指数报告,上海超北京成榜首
查看>>
python urllib爬取网页编码问题
查看>>