设为首页 加入收藏

TOP

Android利用canvas画画板(二)
2015-07-16 12:54:59 来源: 作者: 【 】 浏览:5
Tags:Android 利用 canvas 画板
c boolean onTouch(View v, MotionEvent event) {
? ? ? ? ? ? ? ? // 拿到动作
? ? ? ? ? ? ? ? int type = event.getAction();
? ? ? ? ? ? ? ? switch (type) {
? ? ? ? ? ? ? ? case MotionEvent.ACTION_DOWN:
? ? ? ? ? ? ? ? ? ? startx = (int) event.getX();
? ? ? ? ? ? ? ? ? ? starty = (int) event.getY();
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case MotionEvent.ACTION_MOVE:
? ? ? ? ? ? ? ? ? ? int endx = (int) event.getX();
? ? ? ? ? ? ? ? ? ? int endy = (int) event.getY();
? ? ? ? ? ? ? ? ? ? //画画
? ? ? ? ? ? ? ? ? ? canvas.drawLine(startx, starty, endx, endy, paint);
? ? ? ? ? ? ? ? ? ? startx = (int) event.getX();
? ? ? ? ? ? ? ? ? ? starty = (int) event.getY();
? ? ? ? ? ? ? ? ? ? iv.setImageBitmap(copy);
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case MotionEvent.ACTION_UP:
? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? return true;
? ? ? ? ? ? }
? ? ? ? });
? ? ? ?
? ? }
? ? private void setLister() {
? ? ? ? //下拉框
? ? ? ? sp.setOnItemSelectedListener(new OnItemSelectedListener() {
? ? ? ? ? ? @Override
? ? ? ? ? ? public void onItemSelected(AdapterView parent, View view,
? ? ? ? ? ? ? ? ? ? int position, long id) {
? ? ? ? ? ? ? ? Toast.makeText(getApplicationContext(), "你点击的是:" +? color[position], 0).show();? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? switch (position) {
? ? ? ? ? ? ? ? case 1:
? ? ? ? ? ? ? ? ? ? paint.setColor(Color.GREEN);
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case 2:
? ? ? ? ? ? ? ? ? ? paint.setColor(Color.BLUE);
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case 3:
? ? ? ? ? ? ? ? ? ? paint.setColor(Color.BLACK);
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case 4:
? ? ? ? ? ? ? ? ? ? paint.setColor(Color.YELLOW);
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case 0:
? ? ? ? ? ? ? ? ? ? paint.setColor(Color.RED);
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? @Override
? ? ? ? ? ? public void onNothingSelected(AdapterView parent) {
? ? ? ? ? ? }
? ? ? ? });
? ? ? ? //保存
? ? ? ? btn.setOnClickListener(new OnClickListener() {
? ? ? ? ? ? @Override
? ? ? ? ? ? public void onClick(View v) {
? ? ? ? ? ? ? ? try {
? ? ? ? ? ? ? ? ? ? //指定图片的存储路径
? ? ? ? ? ? ? ? ? ? file = new File(Environment.getExternalStorageDirectory().getAbsoluteFile()+"/draw.png");
? ? ? ? ? ? ? ? ? ? FileOutputStream fos = new FileOutputStream(file);
? ? ? ? ? ? ? ? ? ? copy.compress(CompressFormat.PNG, 100, fos);
? ? ? ? ? ? ? ? ? ? Toast.makeText(getApplicationContext(), "保存成功", 0).show() ;
? ? ? ? ? ? ? ? } catch (Exception e) {
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? //欺骗系统,告诉系统插入一个sd卡
? ? ? ? ? ? ? ? Intent intent = new Intent();
? ? ? ? ? ? ? ? intent.setAction(intent.ACTION_MEDIA_MOUNTED);
? ? ? ? ? ? ? ? intent.setData(Uri.fromFile(file));
? ? ? ? ? ? ? ? sendBroadcast(intent);
? ? ? ? ? ? }
? ? ? ? });
? ? }
? ? private void initData() {
? ? ? ? ? ? sb = (SeekBar) findViewById(R.id.sb);
? ? ? ? ? ? btn = (Button) findViewById(R.id.btn);
? ? ? ? ? ? sp = (Spinner) findViewById(R.id.sp);
? ? ? ? ? ? iv = (ImageView) findViewById(R.id.iv);
? ? }



}


AndroidManifest.xml配置文件如下:



? ? package="com.xunfang.drawing"
? ? android:versionCode="1"
? ? android:versionName="1.0" >


? ? ? ? ? ? android:minSdkVersion="16"
? ? ? ? android:targetSdkVersion="21" />


? ? ? ? ? ? android:allowBackup="true"
? ? ? ? android:icon="@drawable/ic_launcher"
? ? ? ? android:label="@string/app_name"
? ? ? ? android:theme="@style/AppTheme" >
? ? ? ? ? ? ? ? ? ? android:name=".MainActivity"
? ? ? ? ? ? android:label="@string/app_name" >
? ? ? ? ? ?
? ? ? ? ? ? ? ?


? ? ? ? ? ? ? ?
? ? ? ? ? ?
? ? ? ?
? ?



然后用虚拟机测试如下所示:


Android利用canvas画画板


可以在模拟器看一下,生成的文件


Android利用canvas画画板


表示验证成功了


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Java异常处理机制 下一篇Android Service 服务的应用之电..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: