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. python-logging写日志编码问题

    python-logging写日志编码问题 标签(空格分隔): python 修改logging.FileHandler() 指定编码格式为:utf8 重新运行

  2. Adobe CC update (Windows/Mac OS) 独立升级包下载

    Windows 版 xiaogezi.cn Photoshop CC 下载 Download 大小 Size 日期 Date 文档 Notes Adobe Photoshop 14.2.1 Updat ...

  3. UI Framework-1: Aura and Shell dependencies

    Aura and Shell dependencies The diagram below shows the dependencies of Chrome, Ash (Aura shell), vi ...

  4. WebRTC Native APIs

    WebRTC Native APIs The WebRTC Native APIs implementation is based on W3C’s WebRTC 1.0: Real-time Com ...

  5. python note #1

    To record my process of studying python and to practice my English meanwhile, I'd like to start writ ...

  6. 打包maven项目

    使用插件maven-jar-plugin打包自己的项目,为了打包后点击jar文件可以直接运行,需要指定入口类和classpath.使用maven-dependency-plugin插件打包项目的依赖& ...

  7. main()函数的形参

    main函数中的第一个参数argc代表的是向main函数传递的参数个数,第二个参数argv数组代表执行的程序名称和执行程序时输入的参数 #include <stdio.h> int mai ...

  8. PatentTips - Supporting heterogeneous virtualization

    BACKGROUND A virtual machine (VM) architecture logically partitions a physical machine, such that th ...

  9. HTML学习----------DAY1 第三节

    本章通过实例向您演示最常用的 HTML 标签. 提示:不要担心本章中您还没有学过的例子,您将在下面的章节中学到它们. 提示:学习 HTML 最好的方式就是边学边做实验.我们为您准备了很好的 HTML ...

  10. 每天一个linux命令(九月)

    2014-09-02 top 实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器 命令參数: -b 批处理 -c 显示完整的治命令 -I 忽略失效过程 -s 保密模式 -S 累积模 ...