位置: 编程技术 - 正文

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框架

  • 费用的进项税额可以抵扣吗
  • 报税扣款锁定如何解除
  • 小规模纳税人能开专票吗2023
  • 建筑企业如何预交增值税
  • 商业保理怎么账务处理
  • 金税四期正式启动
  • 转账支票的签发
  • 文化建设费征收依据
  • 累计专项扣除和专项附加扣除
  • 退休工资的个人账户怎么算
  • 非独立核算分公司怎么报税
  • 投资收益率如何确定
  • 广告设计制作的技术框架
  • 购进货物作为优秀员工的奖励是否可以进项抵扣?
  • 哪些情况下工资不低于最低工资标准的80
  • abs应付债券
  • 购买商品用于赠送
  • 预收的电费增值税如何缴纳?
  • 行政单位缴纳罚款如何记账
  • 国家征收苗木专业合作社成员土地,应该怎样出示证件
  • 个人购买余额宝安全吗?
  • 支付装修押金的会计科目
  • 完成产值怎么算
  • 销售净利率怎么分析盈利能力
  • windows11怎么打开设置
  • 去年的费用今年报销如何记账
  • 公司基本户注销流程
  • 滴滴代驾报酬
  • 刚成立的公司有什么风险
  • 什么是馥芮白
  • php连接mysql数据库详细步骤(图文)
  • 计提本月应交未交增值税
  • php数据导出到excel
  • 离职补偿金的会计实务处理
  • 数字孪生demo
  • 购买办公用品怎样写备注
  • 在Win2003(64位)中配置IIS6+PHP5.2.17+MySQL5.5的运行环境
  • php怎么样
  • background-size 之 背景图的尺寸设置
  • 私企固定资产管理办法
  • ICLR2023《Crossformer: Transformer Utilizing Cross-Dimension Dependency for Multivariate Time Series》
  • 外贸公司美金账户维护费用
  • 投资性房地产在资产负债表中的列示
  • 帝国cms适合建什么站
  • 暂估少了冲销时怎么办
  • phpcms怎么用
  • 房产税按照租金
  • dedecms采集怎么用
  • 总结帝国cms内容是什么
  • 国网统一开发平台uap
  • 职工食堂的费用怎么入账
  • 普票 销项
  • 增值税专用发票怎么开
  • 个体工商户税收标准2023年
  • 清理扬声器
  • SQL Server 2012 开窗函数
  • 应付职工薪酬的工资是实发工资还是应发工资
  • 月末在产品生产成本会计分录
  • 在建工程发生的运费计入什么科目
  • 电子承兑非拒付会怎么样
  • win8应用显示错误
  • sunasServ.exe - sunasServ是什么进程 有何作用
  • win8怎么共享电脑
  • win10rs2是哪个版本
  • linux修改分组
  • linux特殊权限命令
  • Nymse.exe - Nymse是什么进程 有何作用
  • windows8.1应用商店打不开
  • bootstrap导航有哪些
  • python中随机数的用法
  • Node.js中的construct
  • linux监控cpu使用率脚本
  • angular ...
  • javascript中的函数包括内置函数和自定义函数
  • 八大排序算法的时间空间复杂度
  • unity gpu优化
  • jquery怎么打开
  • 深圳国税局官网登录
  • 超豪华小汽车需要在什么环节纳税
  • 我国个人所得税起征点
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设