php写字板代码,Android实现画板、写字板功能(附源码下载)
前言
本文给大家分享一个使用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实现画板、写字板功能(附源码下载)相关推荐
- Android开发之使用TabLayout快速实现选项卡切换功能(附源码下载)
看下效果图: 先看下布局: TabLayout的简单使用: 当选项卡过少时候设置填充全屏app:tabGravity="fill"设置下面切换选项卡的小滑片颜色app:tabInd ...
- Android 实现播放网络视频 内容附源码下载链接
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- 暑期Android游戏开发——小兔子跳铃铛(附源码)
暑期Android游戏开发--小兔子跳铃铛(附源码) 一. 背景说明 我在南京的一所高校学习软件工程.学院里每年会举行一次"创新杯"软件比赛,鼓励同学自主学习和创新.我和几个好兄弟 ...
- android flv 编码器,Android 音视频深入 十七 FFmpeg 获取 RTMP 流保存为 flv (附源码下载)...
Android 音视频深入 十七 FFmpeg 获取 RTMP 流保存为 flv (附源码下载) 项目地址 https://github.com/979451341/RtmpSave 这个项目主要代码 ...
- cvtcolor python opencv_13行代码实现:Python实时视频采集(附源码)
程序逻辑 Python实时视频采集程序主要流程共分为10个步骤,具体如下图所示: 流程描述: 库文件导入:导入程序依赖的python安装包: 摄像头管理对象创建和初始化:是对opencv VideoC ...
- python小游戏-16行代码实现3D撞球小游戏!-源码下载
python小游戏-16行代码实现3D撞球小游戏!-源码下载 所属网站分类: 资源下载 > python小游戏 作者:搞笑 链接: http://www.pythonheidong.com/bl ...
- android 原生开发 3d地图 下载_arcgis api 3.x for js 入门开发系列二不同地图服务展示(附源码下载)...
前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 3.x for js:esri 官网 api,里面详细的介绍 arcgis api 3.x 各个类 ...
- python撩人的代码,老师教已毕业的学生,用Python代码每天不定时撩女友,附源码文件...
原本就是学生会主席,在学校如此优秀的他,毕业参加工作,依然展现出好强的一面. 每天认真的工作,即使在工作之余也要用来给自己充电,所以难免会忽略女友,不够关心,免不了发脾气,甚至是争吵. 有一天,曾经大 ...
- Android使用GridView实现俄罗斯方块(附源码)(三)
GitHub地址: https://github.com/weijifen/AndroidTetris 移动方向 移动方向包括左移,右移和下移. 移动方块实际是对position向量做改变,改变之后使 ...
最新文章
- nginx和squid配合搭建的web服务器前端系统
- 企业需求的Java程序员是什么样子的
- java socket建立长连接_Java Web项目中使用Socket通信多线程、长连接的方法
- java基础----数据类型转化
- 2017.9.19 禁忌 失败总结
- vdbench的作用_vdbench和fio测试磁盘性能的对比总结
- react native在static中使用this方法
- Oracle数据库个人整理常用的表空间、用户、授权操作
- 过滤器和拦截器的区别
- ISO27001信息安全管理体系认证范围及用处
- STM8S系列Option Byte问题:AFx在STVP中显示Reserved无法配置
- scratch优秀案例-双人足球对战赛
- python模块xlutils如何下载_Python-如何安装xlutils?
- 田忌赛马 - 动态规划
- 九度 OJ 之 题目1538:GrassLand密码
- win7加速优化技巧
- python的文本编辑器atom_python的各种编辑器-PyScripter、pycharm 、atom、vscode、Sublime Text等等...
- Win 11 预览版虚拟机安装
- win10 oracle怎样卸载,怎么完全卸载Oracle?(Win10) 以Oracle 11g为例
- 机器学习算法/模型——支持向量机
热门文章
- 求 人工智能及其应用 蔡自兴 徐光佑 版的
- 在ArcGIS中创建Python工具(一)
- 中忻嘉业科技:怎样分析抖音用户群体画像
- ion android 内核,Android Ion用户空间和内核空间
- centOS7安装 mysql-community-release-el7-5.noarch.rpm 包
- 北斗RDSS的TXA通讯申请和TXR通讯信息报文Java样例
- redis:(error) MOVED报错的原因和解决
- tcp四次挥手 最后一次ack如果没有收到
- oracle英文歌,什么英文歌好听(最近最流行的英文歌排行榜)
- mac Dw cc2017 下载