前言
本文给大家分享一个使用android开发写字板功能dem、简单操作内存中的图像、对图像进行简单的处理、绘制直线、以达到写字板的效果
效果图如下
xml布局代码
<relativelayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingbottom="@dimen/activity_vertical_margin" android:paddingleft="@dimen/activity_horizontal_margin" android:paddingright="@dimen/activity_horizontal_margin" android:paddingtop="@dimen/activity_vertical_margin" tools:context="com.tomes.paint.mainactivity" > <imageview android:id="@ id/iv_drawingboard" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/bg"/> </relativelayout>
java代码
public void init() { bitmap bitmap = bitmapfactory.decoderesource(getresources(), r.drawable.bg); copybitmap = bitmap.createbitmap(bitmap.getwidth(), bitmap.getheight(), bitmap.getconfig()); paint = new paint(); canvas = new canvas(copybitmap); matrix matrix=new matrix(); canvas.drawbitmap(bitmap, matrix, paint); imageview = (imageview) findviewbyid(r.id.iv_drawingboard); imageview.setimagebitmap(copybitmap); imageview.setontouchlistener(new ontouchlistener() { @suppresslint("clickableviewaccessibility") @override public boolean ontouch(view v, motionevent event) { int action = event.getaction(); switch (action) { case motionevent.action_down: startx=event.getx(); starty=event.gety(); break; case motionevent.action_move: float currentx=event.getx(); float currenty=event.gety(); canvas.drawline(startx, starty, currentx, currenty, paint); imageview.setimagebitmap(copybitmap); startx=currentx; starty=currenty; break; case motionevent.action_up: break; } return true; } }); }
源码下载:
总结
以上就是这篇文章的全部内容了,希望本文的内容对各位android开发者们能带来一定的帮助,如果有疑问大家可以留言交流。
如对本文有疑问, 点击进行留言回复!!
android -- ndk (stack corruption detected)
Android Span富文本图文混排 - ImageSpan(图文垂直居中)
Element DateTimePicker日期时间选择器的使用示例
【Appium踩坑】小米手机,启动报错:exited with code 255 writing to settings requires:android.permission.WRITE_SECUR
android 拍照 预览图与 照片分辨率(可视区域)不一致
[PAT顶级]1025 Keep at Most 100 Characters (35分)
网友评论