位置: 编程技术 - 正文

android 画画板(安卓画图板)

编辑:rootadmin
import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import android.net.Uri;import android.os.Bundle;import android.os.Environment;import android.app.Activity;import android.content.Intent;import android.graphics.Bitmap;import android.graphics.Bitmap.CompressFormat;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.SweepGradient;import android.view.Menu;import android.view.MotionEvent;import android.view.View;import android.view.View.OnTouchListener;import android.widget.ImageView;import android.widget.Toast;public class MainActivity extends Activity {private ImageView iv;private Bitmap baseBitmap;private Canvas canvas;private Paint paint;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);iv = (ImageView) findViewById(R.id.iv);paint = new Paint();paint.setStrokeWidth(5);paint.setColor(Color.GREEN);// 创建一个可以被修改的bitmapbaseBitmap = Bitmap.createBitmap(, ,Bitmap.Config.ARGB_);System.out.println("图宽度:"&#;iv.getWidth());System.out.println("图宽高:"&#;iv.getHeight());canvas = new Canvas(baseBitmap);canvas.drawColor(Color.WHITE);// 知道用户手指在屏幕上移动的轨迹iv.setOnTouchListener(new OnTouchListener() {//定义手指开始位置的坐标int startX;int startY;@Overridepublic boolean onTouch(View v, MotionEvent event) {switch (event.getAction()) {case MotionEvent.ACTION_DOWN: // 手指第一次接触屏幕System.out.println("手指按下");startX = (int) event.getX();startY = (int) event.getY();break;case MotionEvent.ACTION_MOVE: // 手指在屏幕上滑动System.out.println("手指移动");int newX = (int) event.getX();int newY = (int) event.getY();canvas.drawLine(startX,startY, newX, newY, paint);//重新更新画笔的开始位置.startX = (int) event.getX();startY = (int) event.getY();iv.setImageBitmap(baseBitmap);break;case MotionEvent. 手指离开屏幕break;}return true;}});}public void save(View view) {try {File file = new File(Environment.getExternalStorageDirectory(),System.currentTimeMillis()&#;".jpg");FileOutputStream stream = new FileOutputStream(file);baseBitmap.compress(CompressFormat.JPEG, , stream);stream.close();Toast.makeText(this, "保存图片成功", 1).show();//模拟一个消息 通知系统sd卡被重新挂载了.Intent intent = new Intent();intent.setAction(Intent.ACTION_MEDIA_MOUNTED);intent.setData(Uri.fromFile(Environment.getExternalStorageDirectory()));sendBroadcast(intent);} catch (Exception e) {Toast.makeText(this, "保存图片失败", 1).show();e.printStackTrace();}}

推荐整理分享android 画画板(安卓画图板),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:安卓画板app,安卓画图板,安卓画图板,android 画画app,安卓画画板,安卓画板app,安卓画板app,安卓画板app,内容如对您有帮助,希望把文章链接给更多的朋友!

}

android 画画板(安卓画图板)

整理自 ppt和源码

Android Studio 1.1.0 配置androidannotations框架 环境:AndroidStudio1.1.0、JDK8、Win7-x大致分为五步吧进入build.gradle(Project:**)里添加classpath‘com.neenbedankt.gradle.plugins:android-apt:1.4’,位置如下图:进入build.g

把android 中图片局部区域改为透明 importandroid.app.Activity;importandroid.graphics.Bitmap;importandroid.graphics.BitmapFactory;importandroid.graphics.Canvas;importandroid.graphics.Color;importandroid.graphics.Matrix;importandroid.gra

Android:UI线程与子线程 在一个Android程序开始运行的时候,会单独启动一个Process。默认的情况下,所有这个程序中的Activity或者Service(Service和Activity只是Android提供的Components中

标签: 安卓画图板

本文链接地址:https://www.jiuchutong.com/biancheng/376536.html 转载请保留说明!

上一篇:FrameLayout(框架布局)(framelayout布局)

下一篇:Android Studio 1.1.0 配置androidannotations框架

  • 车辆购置税会计科目怎么做账
  • 组织员工活动方案
  • 存货盘盈如何处理
  • 租厂房需要交租赁税吗
  • 收回已核销的坏账什么意思
  • 有形动产租赁简易征收适用哪些业务
  • 人力资源代缴社保合法吗
  • 增值税税负率计算包含附加税吗
  • 增值税发票备注栏怎么填写
  • 主营业务税金及附加包括印花税吗
  • 食品发票需要清关吗
  • 购进药材如何抵扣进项税额
  • 企业所得税汇算清缴申报表
  • 工会经费由企业和职工共同负担吗
  • 企业外购材料的入账价值包括
  • 营销活动的意义是什么
  • 税控盘的抵扣怎么填
  • 软件产品加安装是混合销售吗?
  • 股东以无形资产投资,撤资时怎么算
  • 工伤保险的作用有
  • 房租增值税专用发票税率
  • 笔记本电脑bios设置
  • 王者荣耀中苏烈的最强出装
  • 电脑如何修改硬盘模式
  • PHP:xml_get_current_line_number()的用法_XML解析器函数
  • element ui datepicker 源码
  • 微信支付宝转账最新规定
  • 基建项目和工程项目区别
  • php变量的基本概念
  • 往来款怎么查
  • 缴纳个税时怎么做分录
  • 利润分配的会计分录怎么写
  • 网络技术公司技能培训
  • 其他权益工具投资属于什么科目
  • php ucwords() 函数将字符串中每个单词的首字符转换为大写(实现代码)
  • 发票十万元版和百万元版
  • 简单实现php留言功能
  • js中的定时器
  • 若依框架前端改造
  • vue3 script setup withdefault
  • php 输出
  • 应付职工薪酬多栏式
  • python统计字符串长度
  • kppw源码
  • vue加载时如何避免出现代码
  • 其他权益工具投资是什么类科目
  • sql server功能介绍
  • db2比较大小
  • persona工具
  • 高新企业奖励金怎么开票
  • 商品损耗进项税额怎么算
  • 非广告公司可以开广告费发票吗?
  • 财务费用包括哪几项
  • 怎么样创建
  • fedora os
  • win10鼠标指针在文本区很小
  • xp怎么安装iis
  • smsss.exe - smsss是什么进程
  • 命令行sudo无效
  • 解决VMware下64位linux系统不支持全虚拟化的办法
  • win8.1 安装ie10
  • win10系统出现问题怎么办
  • node.js cookie-parser 中间件介绍
  • 常用dos命令详解
  • code::blocks怎么用
  • 3366小游戏小
  • 本科生面试的自我介绍
  • vue路由跳转的钩子函数什么时候会用到
  • 批处理打开网络连接
  • jquery mobile开发环境
  • 安卓怎么记录时间
  • android实现选择题模式
  • 安徽省马鞍山地区代码
  • 自然人扣缴端初始密码
  • 从批准文号怎么区分国产还是进口
  • 深圳12366接听客服工作怎么样
  • 北京的个人所得税怎么算
  • 沈阳税务局营业时间查询
  • 一般纳税人财务报表月报还是季报
  • 税务稽查机构
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设