前言

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

效果图如下

XML布局代码

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" >

android:id="@ id/iv_drawingBoard"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:src="@drawable/bg"/>

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

php写字板代码,Android实现画板、写字板功能(附源码下载)相关推荐

  1. Android开发之使用TabLayout快速实现选项卡切换功能(附源码下载)

    看下效果图: 先看下布局: TabLayout的简单使用: 当选项卡过少时候设置填充全屏app:tabGravity="fill"设置下面切换选项卡的小滑片颜色app:tabInd ...

  2. Android 实现播放网络视频 内容附源码下载链接

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  3. 暑期Android游戏开发——小兔子跳铃铛(附源码)

    暑期Android游戏开发--小兔子跳铃铛(附源码) 一. 背景说明 我在南京的一所高校学习软件工程.学院里每年会举行一次"创新杯"软件比赛,鼓励同学自主学习和创新.我和几个好兄弟 ...

  4. android flv 编码器,Android 音视频深入 十七 FFmpeg 获取 RTMP 流保存为 flv (附源码下载)...

    Android 音视频深入 十七 FFmpeg 获取 RTMP 流保存为 flv (附源码下载) 项目地址 https://github.com/979451341/RtmpSave 这个项目主要代码 ...

  5. cvtcolor python opencv_13行代码实现:Python实时视频采集(附源码)

    程序逻辑 Python实时视频采集程序主要流程共分为10个步骤,具体如下图所示: 流程描述: 库文件导入:导入程序依赖的python安装包: 摄像头管理对象创建和初始化:是对opencv VideoC ...

  6. python小游戏-16行代码实现3D撞球小游戏!-源码下载

    python小游戏-16行代码实现3D撞球小游戏!-源码下载 所属网站分类: 资源下载 > python小游戏 作者:搞笑 链接: http://www.pythonheidong.com/bl ...

  7. android 原生开发 3d地图 下载_arcgis api 3.x for js 入门开发系列二不同地图服务展示(附源码下载)...

    前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 3.x for js:esri 官网 api,里面详细的介绍 arcgis api 3.x 各个类 ...

  8. python撩人的代码,老师教已毕业的学生,用Python代码每天不定时撩女友,附源码文件...

    原本就是学生会主席,在学校如此优秀的他,毕业参加工作,依然展现出好强的一面. 每天认真的工作,即使在工作之余也要用来给自己充电,所以难免会忽略女友,不够关心,免不了发脾气,甚至是争吵. 有一天,曾经大 ...

  9. Android使用GridView实现俄罗斯方块(附源码)(三)

    GitHub地址: https://github.com/weijifen/AndroidTetris 移动方向 移动方向包括左移,右移和下移. 移动方块实际是对position向量做改变,改变之后使 ...

最新文章

  1. nginx和squid配合搭建的web服务器前端系统
  2. 企业需求的Java程序员是什么样子的
  3. java socket建立长连接_Java Web项目中使用Socket通信多线程、长连接的方法
  4. java基础----数据类型转化
  5. 2017.9.19 禁忌 失败总结
  6. vdbench的作用_vdbench和fio测试磁盘性能的对比总结
  7. react native在static中使用this方法
  8. Oracle数据库个人整理常用的表空间、用户、授权操作
  9. 过滤器和拦截器的区别
  10. ISO27001信息安全管理体系认证范围及用处
  11. STM8S系列Option Byte问题:AFx在STVP中显示Reserved无法配置
  12. scratch优秀案例-双人足球对战赛
  13. python模块xlutils如何下载_Python-如何安装xlutils?
  14. 田忌赛马 - 动态规划
  15. 九度 OJ 之 题目1538:GrassLand密码
  16. win7加速优化技巧
  17. python的文本编辑器atom_python的各种编辑器-PyScripter、pycharm 、atom、vscode、Sublime Text等等...
  18. Win 11 预览版虚拟机安装
  19. win10 oracle怎样卸载,怎么完全卸载Oracle?(Win10) 以Oracle 11g为例
  20. 机器学习算法/模型——支持向量机

热门文章

  1. 求 人工智能及其应用 蔡自兴 徐光佑 版的
  2. 在ArcGIS中创建Python工具(一)
  3. 中忻嘉业科技:怎样分析抖音用户群体画像
  4. ion android 内核,Android Ion用户空间和内核空间
  5. centOS7安装 mysql-community-release-el7-5.noarch.rpm 包
  6. 北斗RDSS的TXA通讯申请和TXR通讯信息报文Java样例
  7. redis:(error) MOVED报错的原因和解决
  8. tcp四次挥手 最后一次ack如果没有收到
  9. oracle英文歌,什么英文歌好听(最近最流行的英文歌排行榜)
  10. mac Dw cc2017 下载