画画板
来源:互联网 发布:c语言和vb二级哪个难 编辑:程序博客网 时间:2024/06/10 02:28
public class MainActivity extends Activity {private ImageView iv;int startX;int startY;private Canvas canvas;private Paint paint;private Bitmap bmCopy;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//加载画画板的背景图Bitmap bmSrc = BitmapFactory.decodeResource(getResources(), R.drawable.bg);bmCopy = Bitmap.createBitmap(bmSrc.getWidth(), bmSrc.getHeight(), bmSrc.getConfig());paint = new Paint();canvas = new Canvas(bmCopy);//绘制canvas.drawBitmap(bmSrc, new Matrix(), paint);iv = (ImageView) findViewById(R.id.iv);iv.setImageBitmap(bmCopy);//设置触摸侦听iv.setOnTouchListener(new OnTouchListener() {//触摸屏幕时,触摸事件产生时,此方法调用@Overridepublic boolean onTouch(View v, MotionEvent event) {int action = event.getAction();switch (action) {//用户手指摸到屏幕case MotionEvent.ACTION_DOWN:startX = (int) event.getX();startY = (int) event.getY();break;//用户手指正在滑动case MotionEvent.ACTION_MOVE:int x = (int) event.getX();int y = (int) event.getY();canvas.drawLine(startX, startY, x, y, paint);//每次绘制完毕之后,本次绘制的结束坐标变成下一次绘制的初始坐标startX = x;startY = y;iv.setImageBitmap(bmCopy);break;//用户手指离开屏幕case MotionEvent.ACTION_UP:break;}//true:告诉系统,这个触摸事件由我来处理//false:告诉系统,这个触摸事件我不处理,这时系统会把触摸事件传递给imageview的父节点return true;}});}public void red(View v){paint.setColor(Color.RED);}public void green(View v){paint.setColor(Color.GREEN);}public void brush(View v){paint.setStrokeWidth(7);}public void save(View v){File file = new File("sdcard/dazuo.png");FileOutputStream fos = null;try {fos = new FileOutputStream(file);} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}bmCopy.compress(CompressFormat.PNG, 100, fos);//发送sd卡就绪广播Intent intent = new Intent();intent.setAction(Intent.ACTION_MEDIA_MOUNTED);intent.setData(Uri.fromFile(Environment.getExternalStorageDirectory()));sendBroadcast(intent);}}
0 0
- 画画板
- 画画板
- 画画板
- android画画板
- 图片画画板
- 图片画画板
- iOS 画画板
- iOS_24_画画板(含取色板)
- android 画画板
- 画画板原理
- andorid画画板
- 图片画画板
- Android画画板剖析
- android_65_简易画画板
- Android 画画板
- 画画板案例
- Android画画板
- 画画
- Tomcat 8.0.30配置https的步骤
- MYSQL基本命令以及安装
- 【一天一道LeetCode】#93. Restore IP Addresses
- mysql 远程连接其他主机上的数据库 + 10038错误
- 银行家算法
- 画画板
- android事件分发教程(二):ViewGroup
- MySQL 清除表空间碎片
- 朴素贝叶斯简易解释
- win10 系统盘爆满解决办法
- 高并发高性能仓库库存系统的架构设计
- 排序与检索
- PHP运行过程uml时序图
- 快学Scala第3章--数组相关操作