怎么把相机原图格式的信息导入到网上下载的图片?

14417人阅读
Android开发(64)
这篇文章主要介绍的是调用相机程序获得图片,调用Android操作系统自带的图片处理程序处理图片然后返回到我们的程序。
先看看布局文件:
&?xml version=&1.0& encoding=&utf-8&?&
&LinearLayout xmlns:android=&/apk/res/android&
android:layout_width=&fill_parent&
android:layout_height=&fill_parent&
android:orientation=&vertical& &
android:id=&@+id/button1&
android:layout_width=&wrap_content&
android:layout_height=&wrap_content&
android:text=&Button& /&
&ImageView
android:id=&@+id/imageView1&
android:layout_width=&wrap_content&
android:layout_height=&wrap_content& /&
&/LinearLayout&
向布局中加入了一个Button和一个ImageView。
在Button的OnClick方法中启动相机程序,让用户选择使用哪个相机,代码如下:
public void onClick(View v) {
//doTakePhoto();
fos=new File(Environment.getExternalStorageDirectory().getAbsolutePath()+File.separator+&zhycheng.jpg&);
} catch (Exception e) {
e.printStackTrace();
Uri u=Uri.fromFile(fos);
Intent i=new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
i.putExtra(MediaStore.Images.Media.ORIENTATION, 0);
i.putExtra(MediaStore.EXTRA_OUTPUT, u);
this.startActivityForResult(i, 9);
效果如下:
向Intent中放入一些信息,指定保存原图,额外的保存在我指定的地址。使用this.startActivityForresult();传入intent对象和请求的值。
覆盖父类的onActivityResult方法,当其他Activity结束之后返回到本Activity。protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(resultCode==RESULT_OK)
if(requestCode==9)
bb=new File(Environment.getExternalStorageDirectory().getAbsolutePath()+File.separator+&zhycheng.jpg&);
Intent i=new Intent(&com.android.camera.action.CROP&);
i.setType(&image/*&);
//i.putExtra(&data&, bb);
i.setDataAndType(Uri.fromFile(bb), &image/jpeg&);
i.putExtra(&crop&, &true&);
i.putExtra(&aspectX&, 1);
i.putExtra(&aspectY&, 1);
i.putExtra(&outputX&, 500);
i.putExtra(&outputY&, 500);
i.putExtra(&return-data&, true);
this.startActivityForResult(i, 7);
if(requestCode==7)
Bitmap bb=data.getParcelableExtra(&data&);
i.setImageBitmap(bb);
通过返回的请求值,我就知道是从哪个Activity返回来的,如果是从相机程序返回,那就获得拍照之后的数据,跳到图片处理程序。如果是从图片处理程序回来的,就获得返回的数据,显示处理之后的图片。
最后不要忘了在程序退出的时候删除在SDcard上没用的图片。
protected void onDestroy() {
super.onDestroy();
File f=new File(Environment.getExternalStorageDirectory().getAbsolutePath()+File.separator+&zhycheng.jpg&);
if(f.exists())
f.delete();
好了,就这样。
下面贴出运行效果图:
下面是本Activity的全部代码:
package com.zhycheng.
import java.io.F
import java.io.FileNotFoundE
import java.io.FileOutputS
import android.app.A
import android.content.I
import android.graphics.B
import android.graphics.BitmapF
import android.net.U
import android.os.B
import android.os.E
import android.provider.MediaS
import android.view.V
import android.view.View.OnClickL
import android.widget.B
import android.widget.ImageV
public class MainActivity extends Activity implements OnClickListener {
String localTempImgFileN
String localTempImgDir=&TestCamera&;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
b=(Button) findViewById(R.id.button1);
b.setOnClickListener(this);
i=(ImageView) findViewById(R.id.imageView1);
public void onClick(View v) {
//doTakePhoto();
fos=new File(Environment.getExternalStorageDirectory().getAbsolutePath()+File.separator+&zhycheng.jpg&);
} catch (Exception e) {
e.printStackTrace();
Uri u=Uri.fromFile(fos);
Intent i=new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
i.putExtra(MediaStore.Images.Media.ORIENTATION, 0);
i.putExtra(MediaStore.EXTRA_OUTPUT, u);
this.startActivityForResult(i, 9);
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(resultCode==RESULT_OK)
if(requestCode==9)
bb=new File(Environment.getExternalStorageDirectory().getAbsolutePath()+File.separator+&zhycheng.jpg&);
Intent i=new Intent(&com.android.camera.action.CROP&);
i.setType(&image/*&);
//i.putExtra(&data&, bb);
i.setDataAndType(Uri.fromFile(bb), &image/jpeg&);
i.putExtra(&crop&, &true&);
i.putExtra(&aspectX&, 1);
i.putExtra(&aspectY&, 1);
i.putExtra(&outputX&, 500);
i.putExtra(&outputY&, 500);
i.putExtra(&return-data&, true);
this.startActivityForResult(i, 7);
if(requestCode==7)
Bitmap bb=data.getParcelableExtra(&data&);
i.setImageBitmap(bb);
protected void onDestroy() {
super.onDestroy();
File f=new File(Environment.getExternalStorageDirectory().getAbsolutePath()+File.separator+&zhycheng.jpg&);
if(f.exists())
f.delete();
工程代码下载:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:932987次
积分:10900
积分:10900
排名:第1048名
原创:153篇
转载:16篇
评论:401条
欢迎加QQ群交流:
文章:26篇
阅读:305202
文章:25篇
阅读:128751
阅读:1404
(1)(1)(5)(2)(4)(3)(2)(21)(19)(15)(23)(23)(16)(6)(8)(9)(11)听过隔壁正在举办派对Gsta,风光无限好我得去观摩观摩。
曾经,有多少人期待苹果推出触控屏幕的 MacBook Pro,虽然我们都觉得在一块立着的屏幕...
“情怀”总是那么好卖,不管它在国内还是国外.本周游戏圈的新鲜事和新鲜槽点,我们来轻...
Make iPhone expensive again!大美兴,川普王。
苹果零售店现在为2016款MacBook Pro的(在保)用户准备了一套特别的工具,这套工具是...
如果什么事都能像分析师所想的一样,那世界就和平了。
也许苹果是有这样的想法,但到底会不会付出行动又是另外一回事了。
活动内容主要围绕礼品卡进行,购买参与活动产品的用户将会获得不同面值的礼品卡。
《消灭都市2》在原版基础上进行大幅改进和内容追加,使得可玩性又提升了不少。
游戏在整个世界观的构建以及风格上有着浓浓的暗黑风格,玩起来也有极强的代入感。
游戏采用了色彩艳丽的卡通风格的画面设计,游戏中所有的场景以及赛道设计都取自于现实...
在这款游戏当中,玩家将跟着小托马斯的轨迹行驶在魅力的海岛之上。
本游戏加入了十分巧妙的关卡设计,以及丰富多样的机关陷阱,独特的解谜气氛让游戏显得...
上周全球知名软件大厂 Adobe 为旗下《Acrobat Reader》这款“最佳 PDF 阅读”应用带来...
玩一次这样的游戏并不需要消耗太多时间,在百般无聊的时候依靠这些作品可以轻轻松松的...
iPhone 7/7 Plus 的摄像头有所提升,但是仍然无法跟专业相机相比,在这样的情况下,镜...
MacBook Pro上的Thunderbolt 3绝对不能让它被浪费了。
Smart 多端口充电器不仅能同时给多款智能手机充电,还适用于 Apple Watch 和 Fitbit B...
你是否也想通过 BeatsX 聆听声音了呢?
有了 HiRise Duet,用户不需要再寻找其他的线缆也可以为 iPhone 和 Apple Watch 充电...
Oak 套件就是专为 iPhone 设计的 AR 套件,不仅能够让用户享受 AR 乐趣,同时 Oak 还...
这款超豪华 Lightning 底座按照材质可以分为 24K 纯金、18K 玫瑰金和 950 铂金这 3 个...
零售商 B&H 表示,苹果将会在 12 月 16 日推出配备 W1 无线芯片的新款 BeatsX 耳机。
大家有什么好办法把相机里的图片直接导入pro里?
注册时间 最后登录
在线时间2511 小时 UID
主题帖子人气
白苹果, 积分 638, 距离下一级还需 862 积分
如题。现在从相机里拷照片比较麻烦。
注册时间 最后登录
在线时间55 小时 UID
主题帖子人气
提示: 作者被禁止或删除 内容自动屏蔽
注册时间 最后登录
在线时间5236 小时 UID
帖子 精华1
主题帖子人气
第一,买无线传输SD卡。第二,买苹果相机套件,可插SD卡。
注册时间 最后登录
在线时间7153 小时 UID
帖子 精华1
主题帖子人气
当然是用苹果官方出的Lightning to SD Card Camera Reader了,十分方便,谁用谁知道
注册时间 最后登录
在线时间103 小时 UID
主题帖子人气
我在iPad里装了USB利器(正版免费)用以存放各类文件,照片也可以利用PP助手等第三方软件作为文件添加到USB利器,然后在iPad里打开USB利器里的照片文件夹就可以浏览编辑照片了。
注册时间 最后登录
在线时间300 小时 UID
主题帖子人气
1:eye-fi 卡, 几百块一张, 最方便的方法。&&2: 苹果sd卡配件, 也还不错。 3: icloud photo, 我的手机平板和电脑上的照片全部是云同步的。
注册时间 最后登录
在线时间1141 小时 UID
主题帖子人气
我以前用单反的照片都拿苹果的相机套件往ipad传,能插SD卡!不知道现在pro支不支持!
注册时间 最后登录
在线时间2511 小时 UID
主题帖子人气
诶,我的相机用的是CF卡。以前买过一代SD卡套件,基本没用过。
威锋旗下产品
Hi~我是威威!
沪公网安备 29号 | 沪ICP备号-1
新三板上市公司威锋科技(836555)
增值电信业务经营许可证:
Powered by Discuz!修改照片详细信息中含有Exif信息的一些方法 - 大胡子青松 - 博客园
随笔 - 205, 文章 - 1, 评论 - 25, 引用 - 0
&&&&&&此方法是在网站备案的时候,需要背景带画布的照片,ps的话会看到一些相关的信息,于是找了以下两种解决方法,方便大家,为此承担的法律责任,本人概不负责,仅供研究讨论:&&&&&&方法一:win7自带的图片详细信息修改功能&&&&& &ps修改后的图片,怎样在详细信息怎么去掉修改痕迹呢?&&&&& &win7系统--照片文件上点鼠标右键查看属性中的&详细信息&&在这个标签的底部有一个&删除属性和个人信息&的项目。后边要怎么做你懂的。&&&& 方法二:使用软件Exif修改
&&一、认识数码相片的Exif信息
&&& Exif是Exchangeable Image File(可交换图像文件)的缩写。Exif信息由数码相机在拍摄时实时采集,存放在JPG格式的相片文件的头部。具体地说,Exif信息是内嵌在JPG图像文件中的一组拍摄参数,包括相机的品牌和型号、色彩编码,以及摄影时的光圈、快门、ISO、日期时间等数据,甚至还包括拍摄时录制的声音和全球定位系统(GPS)等信息。具有Exif信息的JPG图片比普通的JPG图片容量稍大(2KB左右)。
&&& 注意:用图像处理软件编辑过的数码相片有可能会丢失其Exif信息。
二、Exif信息的查看
&&& 好了,在知道什么是Exif信息后,下面我们就来看看如何查看数码相片里的Exif信息。笔者在长期的数码摄影&生涯&中共总结出四种查看方法。
&&& 先介绍最简单的方法。用记事本直接打开一张JPG格式的数码相片,你看到了什么?密密麻麻的乱字符(如图1)。请再仔细观察,看图中笔者用阴影标注的部分,即&Exif&、&FUJIFILM FinePix6900ZOOM&和&ACD Systems Digital Imaging&,这些就是记事本可直接读取的Exif信息。由此我们不难看出,拍摄这张相片的数码相机品牌是FUJIFILM,具体型号是Fine Pix6900ZOOM,并且此相片经过了ACDSee看图软件的编辑(下面还有拍摄时间和编辑时间等信息)。如果你对这种数码相机不熟,可从记事本中复制&FUJIFILM FinePix6900ZOOM&,粘贴到网络搜索引擎中搜索,有关它的各种资料就尽为你所掌握了。
记事本可粗略地查看数码相片中的Exif信息
2.Windows XP
&&& 有没有搞错!Windows XP只是操作系统,它与数码相片的Exif信息有什么关系?别急,听笔者道来。Windows XP对数码相片有着很好的支持性,我们不仅可以通过它自带的&Windows 图片和传真查看器&观看数码相片,还可以在它的文件夹窗口中直接查看数码相片的部分Exif信息。具体操作是:先打开装有数码相片的文件夹,在&查看&菜单中选择&详细信息&;然后用鼠标右键点击&详细信息&的项目条,从弹出的项目显示菜单中点选与数码相片相关的项目,如&摄影机型号&等。就这样,你直接从Windows XP的文件夹窗口就可以查看数码相片的部分Exif信息了(如图2)。
在Windows XP的文件夹窗口中也可查看数码相片的部分Exif信息
3.专业查看软件
&&& 用以上两种方法查看Exif信息虽然很快,但都不完整,下面笔者就介绍比较专业的Exif信息查看软件。很多数码相机的生产厂商都随相机附赠了可读取Exif信息的软件,如富士相机的Exif Viewer,Nikon相机的NikonView等,不过使用它们的人不多。
&&& 笔者最常用的Exif信息查看软件是ACDSee(3.1版本以上),因为它几乎是每台电脑的必装软件,在用它观看数码相片的同时也查看其Exif信息,非常方便!具体操作是:先用ACDSee打开一张数码相片,在它上面点击鼠标右键,打开&Properties&窗口;下拉到&EXIF Metadata&项,在此就可以看到非常详细的Exif信息了(如图3)。
用ACDSee可查看数码相片非常详细的Exif信息
&&& 如果你不习惯用ACDSee来查看数码相片的Exif信息,那么笔者再向你推荐几款软件:PhotoCAP、cPicture、ExifRead、ExifInfo、ExifShow和PIE(Picture Information Extractor),大多数下载网站都有。
&&& 以上三种方法都是针对本机中的数码相片,那如何在浏览网上数码相片的同时查看其Exif信息呢?用IE插件。笔者喜欢用的Exif信息IE插件是MiYa Exif Viewer for IE,这可是完全免费的好东西哟!
&&& 把它安装好后,当你在网上看到数码相片时,就用鼠标右键去点击它。此时你会发现右键菜单中多了&Exif Information&一项,打开其窗口后,就可以看到该相片详细的Exif信息了(如图4)。
&MiYa Exif Viewer for IE可以直接查看网上数码相片的Exif信息
软件名称:MiYa Exif Viewer for IE软件版本:1.3授权方式:免费软件软件大小:742KB下载地址:
&&& 除了MiYa Exif Viewer for IE,Exif Show也非常有名(下载地址:),它也是通过鼠标右键菜单来查看IE中数码照片的Exif信息。
三、Exif信息的修改
&&& 数码相片中的Exif信息是可以修改的,不过其拍摄参数的修改在摄友圈子里争议很大,不少人认为这是一种作弊行为。一些摄友的摄影水平很低,但为了参加摄影大赛,就请人在电脑中对数码相片进行加工。为了隐藏其数码相片的加工痕迹,他们就肆意篡改Exif信息中的各项拍摄参数,而这就导致部分摄影大赛变相地沦落为&图片处理大赛&。不过,修改Exif信息也有好的一面,比如拍摄者可以在自己的数码相片中加入&版权信息&和&用户注释&等。
&&& 修改数码相片中的Exif信息,可用Exif Editor。它的操作非常简单,导入数码相片后,直接修改各项参数就行了。它还可以把Exif信息单独提取并保存为与相片文件同名的*.Exif文件(也支持导入)。不足的是,它的界面是繁体中文BIG5码的。笔者一直懒得去转换内码,因为其各个修改项的数据很好辨认,不会搞错(如图5)。当然,你也可以使用新出的Turbo Photo 3.3简体中文版(下载地址:),现在用它来修改Exif信息的摄友也越来越多。
Exif Editor可修改数码相片中的Exif信息
&&& 看过本文后,如果你能对照着Exif信息来欣赏各种数码相片,不仅可以在新人面前充当评论&高手&,而且还可以学到很多的东西,对提高自己的摄影水平很有帮助。既满足了虚荣心,又学到了摄影知识,何乐而不为呢?
Exif Editor 3.0 Build 3002 绿色免费简体中文版下载地址:}

我要回帖

更多关于 判断相机原图 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信