Android基础之简单的绘图板
来源:互联网 发布:无线端来源我的淘宝 编辑:程序博客网 时间:2024/05/29 16:37
版权声明:本文为博主原创文章,未经博主允许不得转载。
public class MainActivity extends Activity implements OnTouchListener, OnClickListener {private ImageView mIv;private float startX;private float startY;private Canvas canvas;private Paint paint;private Bitmap newBitmap;private ImageView mBlue;private ImageView mGreen;private ImageView mRad;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.activity_main);mIv = (ImageView) findViewById(R.id.show_iv);mIv.setOnTouchListener(this);mRad = (ImageView) findViewById(R.id.red);mBlue = (ImageView) findViewById(R.id.blue);mGreen = (ImageView) findViewById(R.id.green);mRad.setOnClickListener(this);mGreen.setOnClickListener(this);mBlue.setOnClickListener(this);//初始化画图工具initPaint();}private void initPaint() {//获取系统的窗口管理WindowManager manager = (WindowManager) getSystemService(WINDOW_SERVICE);//获取屏幕的显示服务Display display = manager.getDefaultDisplay();int width=display.getWidth();int height=display.getHeight();paint = new Paint();//设置画笔的大小paint.setStrokeWidth(5);newBitmap = Bitmap.createBitmap(width, height, Config.RGB_565);canvas = new Canvas(newBitmap);//设置背景颜色canvas.drawColor(Color.WHITE);}@Overridepublic boolean onTouch(View v, MotionEvent event) {// 获取事件类型switch (event.getAction()) { case MotionEvent.ACTION_DOWN://下压,获取坐标startX = event.getRawX();startY = event.getRawY();break;case MotionEvent.ACTION_MOVE://移动,获取坐标,float stopX = event.getRawX();float stopY = event.getRawY();//画线canvas.drawLine(startX, startY, stopX, stopY, paint);//把当前结束的坐标赋给开始坐标startX=stopX;startY=stopY;//在设备上开始显示出来mIv.setImageBitmap(newBitmap);break;case MotionEvent.ACTION_UP:break;}return true;}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.red:paint.setColor(0xFFFF0000);break;case R.id.green:paint.setColor(0xFF00FF00);break;case R.id.blue:paint.setColor(0xFF0000FF);break;}}public void save(View view) throws FileNotFoundException{OutputStream stream=openFileOutput("绘图板.png", MODE_PRIVATE);newBitmap.compress(CompressFormat.PNG, 50, stream);}}
阅读全文
0 0
- Android基础之简单的绘图板
- wpf简单的绘图板
- android之简易绘图板
- Java源码-简单的绘图板
- Android绘图板
- Windows Phone开发(21):做一个简单的绘图板
- Windows Phone开发(21):做一个简单的绘图板 .
- html5之绘图板
- 绘图板
- 图像处理实例之绘图板
- Swift 全功能的绘图板开发
- Swift 全功能的绘图板开发
- Swift 全功能的绘图板开发
- Swift 全功能的绘图板开发
- Android基础之响应一个按钮事件的简单Demo
- android基础学习之wifi的简单应用
- android基础学习之自定义view的简单原理
- android基础学习之parcelable的简单使用
- 项目实训第五周1
- hibernate对象的三种状态
- 再谈 GCD
- jQuery
- android studio jni 移植一个VS上开发的项目 使用了opencv
- Android基础之简单的绘图板
- Android布局理解之一:FrameLayout 内的控件如何设置位置
- [caffe]深度学习之图像分类模型AlexNet解读
- java 二叉树
- C Primer Plus学习笔记----第五章运算符、表达式和语句
- Android之如何用dextra.ELF64查看安卓手机"设置"图标的源代码
- 博客首更
- 安卓布局理解2:ScrollView用法(一)
- Ida使用过程遇到的问题