该项目的代码已经重构,采用了新框架,强烈建议查看《Android全新图片涂鸦框架Doodle——多功能、可自定义、可扩展》

(旧代码暂时不维护了,所以推荐还是使用最新框架吧!也希望大伙支持!!!)

点击移步到最新涂鸦框架>>>Doodle

点击移步到最新涂鸦框架>>>Doodle

点击移步到最新涂鸦框架>>>Doodle​​​​​​​

————————————————————————————————————————————————

之前做过图片涂鸦的功能,前段时间很多人问我要源码,但因为当时技术水平有限,功能虽然实现了,但代码却不利于阅读,实现原理也过于“新手”,于是为了方便他人学习参考,本人在工作之余,经过漫长过程,终于把原有的代码重构,使用更加简洁明了的原理,实现图片涂鸦功能。实现效果如下:

主要功能如下:

  • 设置画笔及形状

画笔可以选择手绘、仿制、橡皮擦、文字,其中仿制功能跟PS中的类似,复制图片中的某处地方。形状可以选择手绘、箭头、直线、圆、矩形等。画笔的底色可以选择颜色,或者选择一张画布

  • 撤销及清屏

每一步的操作都可以撤销,清屏时将清除所有的操作。

  • 放缩、移动及旋转

在涂鸦的过程中,可以自由地通过手势缩放和移动图片,同时在多次缩放后,可快速居中图片;支持旋转图片。

源码在Github上的地址为:https://github.com/1993hzw/Graffiti , 欢迎大家反馈问题,我会及时在上面更新代码,谢谢支持。

这篇文章主要是介绍图片涂鸦的功能,接下来我会抽空把实现的原理梳理出来,方便大家理解。基础好的同学也可以先自行阅读代码,我已经写好了注释。

android图片涂鸦,具有设置画笔,撤销,缩放移动等功能(一)相关推荐

  1. Android图片涂鸦功能,Android之给图片添加涂鸦(文字)

    原图: 效果图: 代码如下: public class GraffitiView extends View { private Paint paint = null; /* * 源图 */ priva ...

  2. android图片涂鸦(标记)

    相信很多人对类似于画板的应用并不陌生,分析其原理也很简单,画图,擦除...今天的示例也和画板有关,先上效果图: 主界面:一个图片,一个textView,点击图片后放大,出现两个按钮,点击标记按钮就可以 ...

  3. Android 图片圆角的设置

    ImageView的scaleType的属性有好几种,分别是matrix(默认).center.centerCrop.centerInside.fitCenter.fitEnd.fitStart.fi ...

  4. android 图片在哪里设置时间,android 按时间显示图片

    实现效果: 首先写需要用到的图片数据:时间.文件名.路径等 package com.example.a550211.cd; import java.text.SimpleDateFormat; imp ...

  5. android 图片弹跳效果,设置点的弹跳效果

    弹跳效果 html, body, #container { height: 100%; width: 100%; } .amap-marker:first-child .amap-icon img { ...

  6. android系统息屏设置_安卓实现熄屏功能。

    第一点是锁屏这个功能吧,可以参考:https://github.com/chniccs/Lo... 这个小项目就是锁屏功能的实现,代码量很少. 另外一点就是看你怎么定义每次操作,这里将把一个activ ...

  7. android 橡皮擦功能吗,android,安卓开发_Android 图片涂鸦橡皮擦功能,android,安卓开发 - phpStudy...

    Android 图片涂鸦橡皮擦功能 最近在做一个画板功能,大致的不同颜色画笔.不同粗细已经实现. 参照的是该教程:android-drawing-app 现在要做的功能是,从相册或者相机导入图像,然后 ...

  8. Android涂鸦框架Doodle——仿微信图片编辑(多功能画板)

    前言 很久之前做了一个叫Graffiti的涂鸦项目,放在了github上,得到了不少朋友的反馈,也一直有去维护.限制于个人能力水平,一开始并没有过多考虑框架的问题,导致越到后面,代码越臃肿,添加新功能 ...

  9. Android开发常用权限设置

    Android开发常用权限设置 加在AndroidManifest.xml 文件中manifest标签以内,application以外 例如: 访问登记属性 android.permission.AC ...

最新文章

  1. 表现层框架Struts/Tapestry/JSF架构比较 [转]
  2. 用国内镜像源pip加速安装模块
  3. mormot支持websocket
  4. jQuery.validate.js API
  5. 销售订单定价-客户取值
  6. vb.net详解MDI窗体操作方法
  7. 快来!前端君喊你加入快驾网智囊团
  8. git对指定commitid 打tag_git 回退版本到之前提交的tag或commit内容代码
  9. 设计模式学习笔记——访问者(Visitor)模式
  10. Java NIO 非阻塞网络编程快速入门
  11. 从入门到精通:卷积神经网络初学者指南
  12. php指定编码创建,MYSQL创建数据库时指定编码
  13. 前端微信公众号开发,前端开发规范手册
  14. Openerp管理权限的方法
  15. Matlab P文件 p-code 破解解析
  16. CentOS7搭建个人站点
  17. 逻辑回归——一文带你搞懂逻辑回归原理
  18. TS 类型备忘 音视频格式
  19. Oracle 数据完整性的实例
  20. Google Guava Splitter

热门文章

  1. Vue 内嵌微信登录二维码及修改默认样式
  2. 凤凰汽车登陆纳斯达克:累计亏损1820万美元,持续经营能力存疑问
  3. 质数与合数系列——素数判断
  4. Python程序设计 大作业 简化的PS
  5. 支付宝APP支付 (JAVA生成支付信息,uniapp拉起支付宝支付)
  6. 计算机模拟量与数字量的转换,PLC开关量与模拟量编程数值转换原理
  7. 【Python可视化展示】-多维数据可视化分析
  8. 计算机网络安全工作室介绍,计算机网络技术专业 “网络工作室”做法简介
  9. python ipad pro_离开 PC,在 iPad Pro 上也能编程了?
  10. 大学计算机一级b类和c类有何区别,申论(C类)和A类,B类有什么区别吗