Android开发从相机或相册获取图片裁剪

废话不多说了,直接给大家贴代码了。

package com.only.android.app; import java.io.File; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.net.Uri; import android.os.Bundle; import android.os.SystemClock; import android.provider.MediaStore; import android.view.View; import android.widget.Button; import android.widget.ImageView; import com.only.android.R; public class CopyOfImageScaleActivity extends Activity implements View.OnClickListener { /** Called when the activity is first created. */ private Button selectImageBtn; private ImageView imageView; private File sdcardTempFile; private AlertDialog dialog; private int crop = 180; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.imagescale); selectImageBtn = (Button) findViewById(R.id.selectImageBtn); imageView = (ImageView) findViewById(R.id.imageView); selectImageBtn.setOnClickListener(this); sdcardTempFile = new File("/mnt/sdcard/", "tmp_pic_" + SystemClock.currentThreadTimeMillis() + ".jpg"); } @Override public void onClick(View v) { if (v == selectImageBtn) { if (dialog == null) { dialog = new AlertDialog.Builder(this).setItems(new String[] { "相机", "相册" }, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { if (which == 0) { Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); intent.putExtra("output", Uri.fromFile(sdcardTempFile)); intent.putExtra("crop", "true"); intent.putExtra("aspectX", 1);// 裁剪框比例 intent.putExtra("aspectY", 1); intent.putExtra("outputX", crop);// 输出图片大小 intent.putExtra("outputY", crop); startActivityForResult(intent, 101); } else { Intent intent = new Intent("android.intent.action.PICK"); intent.setDataAndType(MediaStore.Images.Media.INTERNAL_CONTENT_URI, "image/*"); intent.putExtra("output", Uri.fromFile(sdcardTempFile)); intent.putExtra("crop", "true"); intent.putExtra("aspectX", 1);// 裁剪框比例 intent.putExtra("aspectY", 1); intent.putExtra("outputX", crop);// 输出图片大小 intent.putExtra("outputY", crop); startActivityForResult(intent, 100); } } }).create(); } if (!dialog.isShowing()) { dialog.show(); } } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent intent) { if (resultCode == RESULT_OK) { Bitmap bmp = BitmapFactory.decodeFile(sdcardTempFile.getAbsolutePath()); imageView.setImageBitmap(bmp); } } }

以上代码很简单,相信大家都可以看的懂吧,欲了解更多信息请持续关注本站,谢谢。

时间: 2024-09-20 10:08:52

Android开发从相机或相册获取图片裁剪的相关文章

Android开发从相机或相册获取图片裁剪_Android

废话不多说了,直接给大家贴代码了. package com.only.android.app; import java.io.File; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; import android.graphics.Bitmap; import android.gr

Android开发之从相机或相册获取图片裁剪【转】

1 import java.io.File; 2 3 import android.app.Activity; 4 import android.app.AlertDialog; 5 import android.content.DialogInterface; 6 import android.content.Intent; 7 import android.graphics.Bitmap; 8 import android.graphics.BitmapFactory; 9 import a

android开发,小米相机调用,拍照后没有裁剪直接返回原来的actvity

问题描述 android开发,小米相机调用,拍照后没有裁剪直接返回原来的actvity android开发,小米相机调用,拍照后没有裁剪直接返回原来的actvity,在其他手机上测试没有这个bug 解决方案 拍完照,然后调用一个自己写的裁剪方法, 解决方案二: 返回来的不是图片路劲,是图片编码.你需要解析这个编码为图片路劲才能正常返回. 看这篇,分析和解决办法都有,我亲自试了.http://blog.csdn.net/chensong_5260/article/details/51104070

Android实现读取相机(相册)图片并进行剪裁_Android

我们先说一下思路,在android系统中就自带了图片剪切的应用,所以,我们只需要将我们获取到的相片传给图片剪切应用,再将剪切好的相片返回到我们自己的界面显示就ok了 在开发一些APP的过程中,我们可能涉及到头像的处理,比如从手机或者相册获取头像,剪裁成自己需要的头像,设置或上传头像等.网上一些相关的资料也是多不胜数,但在实际应用中往往会存在各种问题,没有一个完美的解决方案.由于近期项目的需求,就研究了一下,目前看来还没有什么问题. 这里我们只讨论获取.剪裁与设置,上传流程根据自己的业务需求添加.

Android实现读取相机(相册)图片并进行剪裁

我们先说一下思路,在android系统中就自带了图片剪切的应用,所以,我们只需要将我们获取到的相片传给图片剪切应用,再将剪切好的相片返回到我们自己的界面显示就ok了 在开发一些APP的过程中,我们可能涉及到头像的处理,比如从手机或者相册获取头像,剪裁成自己需要的头像,设置或上传头像等.网上一些相关的资料也是多不胜数,但在实际应用中往往会存在各种问题,没有一个完美的解决方案.由于近期项目的需求,就研究了一下,目前看来还没有什么问题. 这里我们只讨论获取.剪裁与设置,上传流程根据自己的业务需求添加.

ios中摄像头/相册获取图片,压缩图片,上传服务器方法总结

这几天在搞iphone上面一个应用的开发,里面有需要摄像头/相册编程和图片上传的问题,在这里总结一下. [部分知识] iphone中图像通常存储在4个地方[相册.应用程序包.沙盒.Internet],通过这4个源,我们就可以存取应用图片. 相册 iphone的相册包含摄像头胶卷+用户计算机同步的部分照片.用户可以通过UIImagePickerController类提供的交互对话框来从相册中选择图像.但是,注意:相册中的图片机器路径无法直接从应用程序访问,只能通过终端用户去选择和使用相册图片 应用

phonegap-phoneGap+jqmobi实现从相册获取图片然后提交保存上传至服务器

问题描述 phoneGap+jqmobi实现从相册获取图片然后提交保存上传至服务器 现在网上也找到一些phoneGap从相册获取图片的资料,但是虽然引入了 <!--<script type="text/javascript" charset="utf-8" src="./js/cordova-2.2.0.js"></script>--> 但是当定义pictureSource = navigator.camera

Android开发中尽量避免使用jpg图片

由于jpg容易失真,所以在Android开发中尽量避免使用.jpg图片,而应该使用.png图片,它采用了从LZ77派生的无损数据压缩算法. 其实关于这点,Google已经暗示我们了: 发现了没有,在res下这些icon用的都是png格式.就是说Google推荐使用的是png格式的图片. 写到这,想起个小事,童鞋问:在命名一个Activity对应的布局文件的时候,怎么样算规范一些. 其实我们在新建一个Activity的时候,也可以在看到一些端倪: 如果你建立一个MainActivity那么默认的它

Android开发重写Animation实现下拉图片后弹射回去效果示例

本文实例讲述了Android开发重写Animation实现下拉图片后弹射回去效果.分享给大家供大家参考,具体如下: 1. 解析: 1)interpolatedTime指的是平移的变化率(从0到1) 2)mStartHeight 控件开始的高度 3)endHeight 控件竖直移动后的高度 4)mImageView.requestLayout(); 图片在改变高度后填充布局并固定 5)ValueUtil.evalute(interpolatedTime, mStartHeight, mEndHei