`
leiwuluan
  • 浏览: 707181 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

android 选择本地图片并截剪图片保存到,sdcard指定目录中

 
阅读更多

这里,要把选择 和 截剪后的图片存到sdcard 上的指目录中,那么就要有操作sdcard 权限

 

    <!-- 往sdcard中写入数据的权限 -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <!-- 在sdcard中创建/删除文件的权限 -->
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

 

然后在activity 调用

	public void onclickFun(View view) {
		Intent innerIntent = new Intent(Intent.ACTION_GET_CONTENT);
		innerIntent.putExtra("crop", "true");// 才能出剪辑的小方框,不然没有剪辑功能,只能选取图片
		innerIntent.putExtra("aspectX", 1); // 出现放大和缩小
		innerIntent.setType("image/*"); // 查看类型 详细的类型在 com.google.android.mms.ContentType 
		

//===============================
//                       innerIntent.setType("image/*"); 
//			innerIntent.putExtra("crop", "true");   
//			innerIntent.putExtra("aspectX", 1);//裁剪框比例  
//			innerIntent.putExtra("aspectY", 1);  
//			innerIntent.putExtra("outputX", 120);//输出图片大小  
//			innerIntent.putExtra("outputY", 120);  
//================================
 tempFile=new File("/sdcard/ll1x/"+Calendar.getInstance().getTimeInMillis()+".jpg"); // 以时间秒为文件名
		File temp = new File("/sdcard/ll1x/");//自已项目 文件夹
		if (!temp.exists()) {
			temp.mkdir();
		}
		innerIntent.putExtra("output", Uri.fromFile(tempFile));  // 专入目标文件   
		innerIntent.putExtra("outputFormat", "JPEG"); //输入文件格式  
		
		Intent wrapperIntent = Intent.createChooser(innerIntent, "先择图片"); //开始 并设置标题
		startActivityForResult(wrapperIntent, 1); // 设返回 码为 1  onActivityResult 中的 requestCode 对应
	}

 

 

返回数据

//调用成功反回方法
	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		super.onActivityResult(requestCode, resultCode, data);
		switch (requestCode) {
        case 1:
        	imageView.setImageDrawable(Drawable.createFromPath(tempFile.getAbsolutePath()));
        	break;
		}
	}
 

 

添加上一个 例子:

 

1、layout 文件  get_images_view.xml

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@color/white"
    android:gravity="center"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/showSelectImageId"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="onclickFun"
        android:text="选择图片" />

</LinearLayout>
 

2、Activity 类

package com.main;

import java.io.File;
import java.util.Calendar;

import android.app.Activity;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;

public class GetImagesActivity extends Activity {
	private ImageView imageView;
	private File tempFile;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.get_images_view);
		imageView = (ImageView) findViewById(R.id.showSelectImageId);
	}

	public void onclickFun(View view) {
		Intent innerIntent = new Intent(Intent.ACTION_GET_CONTENT);
		innerIntent.putExtra("crop", "true");// 才能出剪辑的小方框,不然没有剪辑功能,只能选取图片
		innerIntent.putExtra("aspectX", 1); // 出现放大和缩小
		innerIntent.setType("image/*"); // 查看类型 详细的类型在 com.google.android.mms.ContentType 
		
		tempFile=new File("/sdcard/ll1x/"+Calendar.getInstance().getTimeInMillis()+".jpg"); // 以时间秒为文件名
		File temp = new File("/sdcard/ll1x/");//自已项目 文件夹
		if (!temp.exists()) {
			temp.mkdir();
		}
		innerIntent.putExtra("output", Uri.fromFile(tempFile));  // 专入目标文件   
		innerIntent.putExtra("outputFormat", "JPEG"); //输入文件格式  
		
		Intent wrapperIntent = Intent.createChooser(innerIntent, "先择图片"); //开始 并设置标题
		startActivityForResult(wrapperIntent, 1); // 设返回 码为 1  onActivityResult 中的 requestCode 对应
	}
	
	//调用成功反回方法
	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		super.onActivityResult(requestCode, resultCode, data);
		switch (requestCode) {
        case 1:
        	imageView.setImageDrawable(Drawable.createFromPath(tempFile.getAbsolutePath()));
        	break;
		}
	}
}
 

 

3、 AndroidManifest.xml 加上权限

 

<!-- 往sdcard中写入数据的权限 -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <!-- 在sdcard中创建/删除文件的权限 -->
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

 

 

ok

 

 

 

 

3
0
分享到:
评论

相关推荐

    android从服务器端下载图片并保存在本地sdcard里并在界面滚动显示出来

    在Android开发中,从服务器端下载图片并保存到本地SD卡是常见的需求,尤其是在构建一个包含大量图片的应用,如新闻阅读、社交应用或者电商应用。这个过程涉及到网络请求、文件操作以及UI显示等多个方面。以下将详细...

    android 下载图片到本地Sdcard

    至此,你已经学会了如何在Android应用中下载图片并保存到SDcard的特定位置。这个过程包括了网络请求、数据流处理、文件操作和权限管理等关键环节。请确保在实际项目中根据具体需求进行调整,如错误处理、进度显示、...

    Android将网上图片存储到sdcard中并显示出来的源码

    在Android开发中,将网络上的图片下载到SDCard并显示是一项常见的需求。这个源码示例提供了一种方法来实现这一功能。以下是基于标题和描述的相关知识点详解: 1. **Android权限管理**: 在Android中,访问SDCard...

    Android实现图片下载并保存SD卡

    本项目专注于实现从网络请求图片并将其保存到设备的外部存储(通常称为SD卡),同时在应用界面中展示这些图片。下面我们将深入探讨这个过程中的关键知识点。 1. **Android权限管理**: 在Android 6.0(API级别23)...

    android从指定文件夹中显示图片

    在Android平台上,从指定文件夹显示图片涉及到一系列的步骤和技术,包括文件系统操作、图片加载库的使用以及UI设计。以下是对这个主题的详细讲解: 首先,我们需要理解Android的文件系统结构。Android设备通常有两...

    Android实现保存图片到本地并在相册中显示

    Android实现保存图片到本地并在相册中显示 Android实现保存图片到本地并在相册中显示是Android开发中的一种常见需求,涉及到文件存储、媒体扫描和相册刷新等知识点。本文将详细介绍Android实现保存图片到本地并在...

    android网络获取图片并在ViewPager中显示

    总结,实现“android网络获取图片并在ViewPager中显示”涉及了网络请求、图片保存、图片加载库、ViewPager及PagerAdapter的使用。理解并掌握这些知识点,可以构建出流畅、高效的图片浏览功能。同时,注意Android权限...

    android图像绘制(五)画布保存为指定格式/大小的图片

    在Android开发中,图像处理是一项常见的任务,其中包括对图片进行编辑,如放缩、涂鸦等操作,最终将编辑后的图片保存为特定格式和大小。本篇将详细介绍如何利用Android的Canvas类来实现这一功能。 首先,我们需要...

    主动通知Android系统图库进行更新

    下载完成后,需要将图片保存到本地存储中。 保存图片 --------- 在保存图片时,需要指定图片的保存路径和文件名。在 Android 中,可以使用 File 对象来指定保存路径和文件名。例如: ```java File fileSD_file = ...

    Android 获取drawable目录图片 并存入指定文件的步骤详解

    第一步:获取存储的路径 我们用/sdcard/Android/data/包名/的路径 方便我们测试查看 String path=MyApplication.getContextObject().getExternalFilesDir().toString(); File file=new File&#40;path&#41;; 第二...

    android保存Bitmap图片到指定文件夹示例

    总结来说,Android中保存Bitmap图片到指定文件夹的过程包括创建File对象,检查文件是否存在,创建并使用FileOutputStream进行数据写入,压缩Bitmap,刷新和关闭流,以及处理可能的异常。同时,不要忘记在...

    android之网络文件下载保存到SD_card上.pdf

    在Android应用开发中,经常需要从网络下载文件并保存至SD卡上。本文将详细介绍这一过程中的关键技术点及其实现方法。 #### 二、准备工作 在进行网络文件下载之前,需要做好如下准备: 1. **权限声明**: - 在`...

    android模拟器SD使用

    比如我们要将一张名为`tangwei.jpg`的图片文件从D盘的Android目录下拷贝到模拟器SD卡根目录中,可以使用以下命令: ```bash adb push D:\Android\tangwei.jpg sdcard/ ``` 可以看到,命令执行后会显示文件传输的...

    新版Android开发教程.rar

    ----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset Handset Handset Handset Alliance ...

    支持画图并保存图片到本地功能

    支持画图并保存图片到本地功能,1、首先创建一个Bitmap图片,并指定大小;2、在该图片上创建一个新的画布Canvas,然后在画布上绘制,并保存即可;3、需要保存的目录File,注意如果写的目录如“/sdcard/song/”如果不...

    网络图片缓存实现

    在网络图片缓存中,当用户首次请求一张图片时,系统会从网络下载该图片并存储到本地(如SD卡),下次再次请求同一图片时,应用可以直接从本地缓存读取,而无需重新发起网络请求。 实现网络图片缓存主要涉及以下几个...

    GestureBuilder

    【GestureBuilder】是一款专为Android平台设计的手势创建工具,它允许用户自定义手势操作,并将其保存至SDCard(外部存储卡)的特定目录中,以便在应用中使用。通过这款工具,开发者或用户可以轻松地扩展应用程序的...

    android adb command

    例如,`adb push localfile /sdcard/remotefile`将把本地文件推送到设备的指定位置。 5. **安装和卸载应用**:`adb install`用于安装APK文件,`adb uninstall`则用于卸载应用,如`adb install -r app.apk`将强制...

Global site tag (gtag.js) - Google Analytics