Android水印相机
本篇文章实现的水印相机,类似于qq空间中的水印相机功能,因之前看过一个demo上实现了一个简陋的水印相机功能,觉得挺有意思,就在此基础上进行了修改,优化和完善,并增加了部分功能,使之更接近于qq水印相机功能。
支持功能:
1.前后置摄像头切换;
2.拍照对焦及点击屏幕对焦(前提是手机支持对焦功能);
3.相机画面会根据相机支持的分辨率调整,不会出现画面拉伸变形的情况;
4.支持修改水印中的心情短语等;
上图:
其中的水印其实就是Viewpaper中添加了n个自定义view,通过帧布局覆盖在了SurfaceView上,保存图片其实就相当于截屏了,主要代码如下:
view.setDrawingCacheEnabled(true); view.buildDrawingCache(); Bitmap bitmap = view.getDrawingCache(); int width=view.getWidth(); int height=view.getHeight(); Bitmap b = Bitmap.createBitmap(bitmap, 0, 0, width, height); view.destroyDrawingCache();View即拍完照后的显示拍照结果的Activity中的图片位置的父控件:
<RelativeLayout android:id="@+id/rl_water" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_above="@id/ll_buttom" android:layout_below="@id/ll_title" > <ImageView android:id="@+id/water_photo" android:layout_width="match_parent" android:layout_height="match_parent" android:contentDescription="@string/app_name" android:scaleType="centerCrop" /> <android.support.v4.view.ViewPager android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_marginBottom="10dp" /> </RelativeLayout>
如本文中的 RelativeLayout;
本文中实现了自定义心情文字,其他的比如所在城市(可通过定位实现),姓名等等都可以用类似的方法实现,这个大家有兴趣的话可以自己实现了,如果项目有类似需求,就可以直接用进项目了,当然各种机型的适配问题还需自己去考虑!
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。