Android手绘涂鸦PaintView

Android Studio 实现的画板App 基于Android Studio 实现的画板App ** 1.实现目标** 随着科技的不断发展和社会的不断进步,手机越来越流行,成为了人们日常生活和学习的必要工具,人们越来越离不开手机,还在几年前手机仅仅是一个打电话和发短信的工具,但在地球村的今天,手机无论除了可以满足基木的通讯作用以外,还成为了人们办公和娱乐的必不可少的工具。当然手机画板也成为了手机的一个基木的app软件,以前人们想画画必须在纸上或者自己携带的画板上,对于现在人们快节奏的生活不是非常方便。而手机画板的出现打破了这个固有的僵局,它可以满足人 阅读详情

  推荐一款很好用的涂鸦自定义控件PaintView

https://github.com/duoduoyoumaicai/PaintView

PaintView

  • 一个很好用的绘图板
  • 可以绘制曲线、橡皮擦功能(可以擦除曲线)、直线、矩形、圆、添加图片
  • 可以对直线、矩形、圆、图片进行移动缩放旋转

如何集成

Project的build.gradle文件中加上

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

Module的build.gradle文件中加上

implementation 'com.github.duoduoyoumaicai:PaintView:1.3'
  • 1.2之前的版本为预发布版本,部分功能无法使用,请直接引用1.2以上版本
  • 1.3增加撤销重做功能

使用方式

  • 在xml布局文件中引入PaintView
<zhanglei.com.paintview.PaintView
        android:id="@+id/paintView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
  • 设置为画笔模式,可以自由涂鸦
paintView.setDrawType(DrawTypeEnum.PEN);
  • 设置为橡皮模式,可以擦除自由涂鸦的曲线
paintView.setDrawType(DrawTypeEnum.ERASER);
  • 设置为矩形模式,可以绘制矩形
paintView.setDrawType(DrawTypeEnum.RECT);
  • 设置为圆模式,可以绘制椭圆
paintView.setDrawType(DrawTypeEnum.CIRCLE);
  • 设置为直线模式,可以绘制直线
paintView.setDrawType(DrawTypeEnum.LINE);
  • 设置为画笔颜色
 paintView.setPaintColor(paintColor);//paintColor类型为Color
  • 设置为画笔/橡皮粗细
 paintView.setPaintWidth(2);
 paintView.setRushPaintWidth(30);
  • 添加图片
 paintView.addPhotoByBitmap(bitmap);
  • 撤销
 paintView.undo();
  • 重做
 paintView.redo();
  • 设置为选择模式,这个模式可以选择几何图形和图片,对他们进行移动缩放旋转
 paintView.setDrawType(DrawTypeEnum.SELECT_STATUS);
  • 清空画板
 paintView.clear();
  • 获取画板截图
 paintView.getPaintViewScreen();
  • 不再使用PaintView的时候别忘了资源回收,可以在Activity的onDestroy方法调用
 paintView.destroy();
Android编程实现的手写板和涂鸦功能,android编程 本文实例讲述了android编程实现的手写板和涂鸦功能。分享给大家供大家参考,具体如下: 下面仿一个android手写板和涂鸦的功能,直接上代码: write_pad.xml [Java] 查看源文件 复制代码 <linearlayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:... 阅读详情

相关推荐

android中实现在ImageView上随意画线涂鸦的方法

我实现的思路: 1.继承ImageView类 2.重写onTouchEvent方法,在ACTION_MOVE(即移动时),记录下所经过的点坐标,在ACTION_UP时(即手指离开时,这时一条线已经画完),将所画的线(点的集合)保存在一个集合中 3.重写onDraw方法,利用canvas和所记录下的线和点画出线来 可能我讲的十分笼统,下面来看看实际的代码吧 //代表ImageView上的一点 public class ViewPoint {   float x;   float y; } //表示一条线 public class Line {   ArrayList<ViewPoint> po

Android Studio 一个简单的涂鸦APP,实现缩放、移动、涂鸦、保存

Android Studio 一个简单地涂鸦APP,实现缩放、移动、涂鸦、保存

Shopping_Sloth的博客 2772

如何实现MCGS与S7-200SMART PLC以太网多台通信控制?

第九步:(设备工具箱—设备管理—鼠标依次点击通用TCP/IP父设备—西门子_ Smart200到设备窗口里面去)数据类型:第0位(指PLC地址变量小数点后面的位数,例如我地址是M0.0,那么在数据类型应填写通道的第00位)第十步:(鼠标双击打开通用TCPIP父设备0--[通用TCP/IP父设备]进入通信配置)通道地址:0(指小数点前面起始字节的地址,例如我地址是M0.0,那么应在通道地填写0)。第七步:(选择通用TCP/IP父设备,点击新增,右侧选定设备就会自动添加进去。

u010670857的博客 6716

android涂鸦实现

类似米聊、微信上的涂鸦和手写文字功能 实现原理是自定义View,通过手势识别获取轨迹,然后通过画笔画图 这里添加了手势记录功能,并不难理解 代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

xiangzhihong8的专栏 1731

C51红外接收与发射控制及原理编码与解码

基于38khz的NEC协议红外发射简易电路图NEC协议产生红外光数据编码 0 1结合程序红外接收接收电路解码过程解码代码 红外发射 通过通过红外二极管发射红外光,三极管的状态来控制。 红外模块一般都是三个引脚,vcc,gnd,dat,通过控制dat口的来控制发射红外光。 简易电路图 将数据口连接到单片机的引脚为上,控制io口的电平状态,来控制三极管的导通状态,从而发射红外光。 NEC协议 NEC协议特点:8位地址和8位命令为提高可靠性,地址和命令都传输2次,脉冲间隔调制38kHz载波频率。 包含引导码,

yangfeng20的博客 1万+

手把手教你用RMII接口配置以太网PHY芯片(附YT8512实战代码)

本文详细介绍了如何使用RMII接口配置以太网PHY芯片,以国产YT8512为例,提供从硬件设计到软件驱动的全流程实战指南。内容包括RMII接口技术解析、YT8512硬件设计要点、驱动开发实战代码及常见问题排查,帮助开发者快速实现以太网通信功能。

mac99的博客 995

android 涂鸦

public class PaintView extends View { private Canvas mCanvas; private Path mPath; private Paint mPaint; private float mX, mY; private Bitmap imgBitmap; private...

weixin_30570101的博客 71

PyTorch实战:5步搞定QAT量化感知训练(附避坑指南)

本文详细介绍了在PyTorch中实施量化感知训练(QAT)的五步实战流程。通过环境准备、模型融合、伪量化节点与STE原理剖析、校准微调训练、模型转换与导出等步骤,帮助开发者有效压缩模型以适配移动端与边缘设备部署,并提供了关键的超参数设置与常见问题避坑指南。

weixin_29083373的博客 418

AndroidStudio实现在图片上涂鸦并记录涂鸦轨迹

AndroidStudio实现在图片上涂鸦并记录涂鸦轨迹

weixin_51143190的博客 2400

ContextCapture导入点云进行重建

ContextCapture导入点云进行重建

天桥飞熊的博客 1万+

DP链路训练从HPD触发到通道对齐:原理与调试实战

高速数字接口的稳定工作依赖物理层信号的精确协商,链路训练正是DisplayPort接口中确保源端与接收端在速率、摆幅和时序上达成一致的关键机制。HPD作为链路状态变化的触发信号,与通道对齐一同构成了训练流程的首尾环节。理解从时钟恢复到均衡再到多通道对齐的完整过程,有助于快速定位显示异常问题。在工程实践中,借助DPCD寄存器交互和AUX通道日志,可以系统性地排查训练失败原因。围绕链路训练全流程进行剖析,重点探讨HPD触发机制、训练图案选择、寄存器配置以及链路降级策略,为显示方案开发与调试提供工程参考。

weixin_30110543的博客 234

自定义view实现涂鸦(画板)功能(二)

项目一直在做,现在空闲下来才有空整理剩下的。      进入正文:      需求修改之后,需要添加画椭圆、画矩形以及画箭头的方法,之后需要将在白色背景上作图改为在图片上进行编辑      总体来说:完成方式类似,只需要在外部设置按钮用标记去标识,在画板中变化画图方式即可 该注释的地方我都加在代码里,所以就不作太多的额外说明了 先定义一下画图方式: //设置画图样式

微草还在成长中 5050

51、基于深度卷积神经网络的自闭症分类研究

本研究提出了一种基于深度卷积神经网络的自闭症分类方法,通过融合VGGNet-19和ResNet-52模型的特征,并在决策层采用SVM分类器,实现了对自闭症谱系障碍(ASD)和典型发育(TD)个体的准确区分。研究使用ABIDE数据集,结合数据增强和特征拼接技术,取得了88.12%的分类准确率和0.88的ROC曲线下面积。结果表明,该方法在自闭症自动诊断中具有良好的性能,同时研究也探讨了其局限性,并展望了未来改进方向,如多模态数据融合、迁移学习和模型可解释性的提升。

grpc6streamer的博客 128

Android中在屏幕上涂鸦的例子

在这个例子中自定义了一个View,可以接受touch动作,然后在屏幕上即时的显示出touch的轨迹,类似于线条的屏幕上涂鸦。这个例子主要是演示如何将onTouchEvent与draw配合起来使用。在这个基础上,可以做很多有用的程序。 import android.content.Context; import android.graphics.Canvas; import android.gra

comkingfly 1110

如何解决Elsevier和IEEE期刊之间参考文献的转换问题

Elsevier期刊和IEEE旗下的期刊两者模版互相转换的时候,会发现Elsevier模版的参考文献是存放在.bib文件下的,然后在.tex文件中直接引用即可。3. 在IEEE的.tex文件中的\end{document}命令行之前,添加下面的这句话(ps:\bibliography{**}中的**名称即为.bib文件的名称)如何将Elsevier的参考文献快速的转成IEEE期刊可用的格式,是本博客需要解决的问题。2. 将下载好的.bib文件,上传到IEEE的latex文件中。

薰珞婷紫小亭子的博客 1675

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

通过触摸屏事件实现在图片上涂鸦——Android

目的:记录在屏幕上滑动的轨迹,实现在图片上涂鸦的功能 开发工具:Android Studio3.3.2 实现过程: 第一步:新建drawBoard.java用于自定义view 将图片放到drawable文件夹下,用BitmapFactory.decodeResource加载图片,然后建立原始图像的位图 定义函数clear():将处理后的图像Bitmap new2_Bitmap设...

YanMeiHe的博客 1063

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

安卓通过bitmap和自定义view实现涂鸦画板

1.获取画板视图的大小,用来初始化一个位图使用view的post函数,当view加载完成时会调用,传入的位图大小就是view的大小tuYaVieew.post(new Runnable() { @Override public void run() { tuYaVieew.setBitmap(Bitmap.createBitmap(tuYaVieew.getMeas...

Emeory 912

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【安卓】自定义View实现画板涂鸦等功能

绘制主要用到Paint和Path,大体思路都是监听OnTouchEvent事件,绘制路径或者其他图案,开发这个项目用时一周。

小李不背锅的博客 2030

DrawingView android上的一个自定义涂鸦控件

DrawingViewDrawingView的原型来自DrawingView-Android,是android的一个可涂鸦控件。可以设置画笔的粗细,颜色,撤销上一笔涂鸦,提供保存图片的接口。

十橙 3126

Android实现的写字板(绘画板)

Android实现的写字板(绘画板)前言: 通过Android实现绘画板的功能,能够在应用中进行绘画(写字)操作,完成绘画(写字)后,可以将我们自己绘制的图画(字体)进行保存,同时也能清空画板上的内容,重新开始新的绘制。

tracy的博客 6945

关于Android的Doodle涂鸦插件深度解析

doodle 涂鸦 android canvas

岁末的风的博客 1798

Android自动手绘,Android实现手绘功能

本文实例为大家分享了android实现手绘功能的具体代码,供大家参考,具体内容如下布局文件如下xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height...

weixin_34314939的博客 439

学习android 画板源代码,Android实现画画板案例

郑州app开发画画板案例。布局代码是三个button和一个imagesview下面是图片。布局代码就不展示了。下面是java代码。package cn.xhhkj.image;import androidx.appcompat.app.AppCompatActivity;import android.content.Intent;import android.graphics.Bitmap;imp...

weixin_29564301的博客 478

android图像涂鸦,Android Studio设计一个能在图片上面涂鸦的程序

一、内容设计两种形式的对话框程序,一种是发出提示信息的普通对话框,另一种是用户登录对话框。二、实现1.主界面 activity_main.xmlxmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_par...

weixin_36135382的博客 393

android实现在照片上绘制涂鸦的方法,android涂鸦程序(在图像上绘制)

界面首先由一个choosePicture的按钮,用来从MediaStore取得图片,取得之后,可以在图片上进行绘画,再点击savebutton就可以保存图片到MediaStore。界面xml文件:android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ...

weixin_30263409的博客 739
上一篇: 如何让自已在GitHub的开源库给第三方App依赖调用
下一篇: ImageView的scaleType的属性理解
SuperCoderLei
博客等级 码龄10年 7粉丝 16原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值