1. package xiaosi.cut;
  2. import java.io.File;
  3. import android.app.Activity;
  4. import android.content.Intent;
  5. import android.graphics.drawable.Drawable;
  6. import android.net.Uri;
  7. import android.os.Bundle;
  8. import android.view.View;
  9. import android.view.View.OnClickListener;
  10. import android.view.ViewGroup.LayoutParams;
  11. import android.widget.Button;
  12. public class CutActivity extends Activity {
  13. private static int SELECT_PICTURE;//返回标志位 filed
  14. private File tempFile;
  15. private Button button;
  16. /** Called when the activity is first created. */
  17. @Override
  18. public void onCreate(Bundle savedInstanceState) {
  19. super.onCreate(savedInstanceState);
  20. //setContentView(R.layout.main);
  21. this.tempFile = new File("/sdcard/song/a.jpg");
  22. button = new Button(this);
  23. button.setText("获取图片");
  24. button.setOnClickListener(new OnClickListener() {
  25. public void onClick(View v) {
  26. Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
  27. intent.setType("image/*");
  28. intent.putExtra("crop", "true");// crop=true 有这句才能出来最后的裁剪页面.
  29. intent.putExtra("aspectX", 1);// 这两项为裁剪框的比例.
  30. intent.putExtra("aspectY", 2);// x:y=1:2
  31. intent.putExtra("output", Uri.fromFile(tempFile));
  32. intent.putExtra("outputFormat", "JPEG");//返回格式
  33. startActivityForResult(Intent.createChooser(intent, "选择图片"), SELECT_PICTURE);
  34. }
  35. });
  36. setContentView(button);
  37. }
  38. /**
  39. * 裁剪完图片后系统调用的方法:onActivityResult
  40. */
  41. @Override
  42. protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  43. if (resultCode == RESULT_OK)
  44. if (requestCode == SELECT_PICTURE)
  45. button.setBackgroundDrawable(Drawable.createFromPath(tempFile.getAbsolutePath()));
  46. }
  47. }

Android学习笔记进阶十二之裁截图片的更多相关文章

  1. Android 学习笔记进阶十二之裁截图片

    package xiaosi.cut; import java.io.File; import android.app.Activity; import android.content.Intent; ...

  2. 【转】Pro Android学习笔记(十二):了解Intent(下)

    解析Intent,寻找匹配Activity 如果给出component名字(包名.类名)是explicit intent,否则是implicit intent.对于explicit intent,关键 ...

  3. Android学习笔记(十二)——实战:制作一个聊天界面

    //此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 运用简单的布局知识,我们可以来尝试制作一个聊天界面. 一.制作 Nine-Patch 图片 : Nine-Pa ...

  4. Android学习笔记(十二)BroadcastReceiver的有序广播和优先级

    前两篇博文中简单整理了普通广播,其实还有有序广播,有序广播在开发中也是比不可少的,可以给广播接收者设定优先级来控制接受顺序,并却可以中断广播传递等等. 一.两种Broadcast: · 普通广播(No ...

  5. Android学习笔记(十二)——使用意图传递数据的几种方式

    使用意图传递数据的几种方式 点此获取完整代码 我们除了要从活动返回数据,也经常要传递数据给活动.对此我们能够使用Intent对象将这些数据传递给目标活动. 1.创建一个名为PassingData的项目 ...

  6. Android学习笔记(十二)

    Fragment是一种可以嵌入在活动当中的UI片段,它能让程序更加合理和充分地利用大屏幕的空间. 碎片的简单用法:新建一个FragmentTest项目,然后新建一个左侧碎片布局left_fragmen ...

  7. Android学习笔记(十二) 线程

    Android中的线程和Java中的线程使用方法类似,参考(四)Java基础知识回顾 MainThread与WorkerThread UI相关的线程都运行在主线程(MainThread/UIThrea ...

  8. Android学习笔记进阶十之Matrix错切变换

    刚开始我也不懂啥叫错切变换,一看效果图你就恍然大悟. 对图像的错切变换做个总结: x = x0 + b*y0; y = d*x0 + y0; 与之对应的方法是: Matrix matrix = new ...

  9. React Native 学习笔记--进阶(二)--动画

    React Native 进阶(二)–动画 动画 流畅.有意义的动画对于移动应用用户体验来说是非常必要的.我们可以联合使用两个互补的系统:用于全局的布局动画LayoutAnimation,和用于创建更 ...

随机推荐

  1. 题解 P2330 【[SCOI2005]繁忙的都市】

    又是一道Kruskal题目. AC代码见下. 主要思路就是将所有的边储存起来,然后进行贪心地选择,期间需要判断两个端点是否有关联,这一过程通过并查集实现.Kruskal部分套模板就可以了. #incl ...

  2. 【Codeforces Round #420 (Div. 2) B】Okabe and Banana Trees

    [题目链接]:http://codeforces.com/contest/821/problem/B [题意] 当(x,y)这个坐标中,x和y都为整数的时候; 这个坐标上会有x+y根香蕉; 然后给你一 ...

  3. 全面解读Java中的枚举类型enum的使用

    这篇文章主要介绍了Java中的枚举类型enum的使用,开始之前先讲解了枚举的用处,然后还举了枚举在操作数据库时的实例,需要的朋友可以参考下 关于枚举 大多数地方写的枚举都是给一个枚举然后例子就开始sw ...

  4. 织梦DedeCMS判断简略标题为空时则显示完整标题

    使用织梦DedeCMS系统程序开发网站中,我们会遇到很多因网页版面设计限定的宽度,使文章标题需要进行字数限制,通常做法是在a标签中加入一个title属性,让鼠标放上去的时候显示完整标题.但是标题被剪裁 ...

  5. 03013_JDBC工具类

    1.“获得数据库连接”操作,将在以后的增删改查所有功能中都存在,可以封装工具类JDBCUtils.提供获取连接对象的方法,从而达到代码的重复利用. 2.该工具类提供方法:public static C ...

  6. XCode6报数组越界错误的问题

    今天碰到一个非常奇葩的问题, 调试了半天: 错误:"index 0 beyond bounds for empty array",  意思就是说数据源数组为nil, 所以你调用直接 ...

  7. 【Android】利用自己定义View的重绘实现拖动移动,获取组件的尺寸

    以下利用一个app来说明怎样利用自己定义View的重绘实现拖动移动.获取组件的尺寸. 例如以下图,触摸拖动,或者轻轻点击屏幕都能移动图片.假设碰到文字,则会弹出提示. 这里是利用自己定义View的重绘 ...

  8. python-openpyxl安装

    今天在安装openpyxl的时候,一直提示错误,后来才发现仅仅安装它还不够,还需要其他两个库的支持1.安装jdcal2.安装et_xmlfile这两个库安装的方法,都是直接在命令行下面,进入库文件se ...

  9. python-打开网页

    最近一直想通过python来实现网页的操作.因为想把自己vimrc的配置直接通过脚本来实现.比较理想的情况下,就是通过一个脚本,把自己需要的一些资源直接从网上下载下来,然后再对下载的资源进行安装等操作 ...

  10. 第一个C#控制台程序

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...