欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android实现画板、写字板功能(附源码下载)

程序员文章站 2024-02-16 08:01:04
前言 本文给大家分享一个使用android开发写字板功能dem、简单操作内存中的图像、对图像进行简单的处理、绘制直线、以达到写字板的效果 效果图如下 xml布...

前言

本文给大家分享一个使用android开发写字板功能dem、简单操作内存中的图像、对图像进行简单的处理、绘制直线、以达到写字板的效果

效果图如下

Android实现画板、写字板功能(附源码下载)

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开发者们能带来一定的帮助,如果有疑问大家可以留言交流。