图像存储和元数据(1)(1 / 1)

加入书签 本章报错

Android多媒体开发高级编程强烈推荐:

bmpfa9samplesize=heightratio;

imv=imagevie9findvie9๗Byidridreturnedimaທgevie9๗;๙

importandroidvie9display;

{

B๦itmapbmp=B๦itmapfactorydecນodefileimagefilepath,ไbmpfaທ9s;

当运行这个ฐ示ิ例时,您可能会注意到结果图像很小在我的手机上,它的宽为121像素า,高为1้6๔2像素า。其他设备会具有不同的默认大小。这不是一个bug——相反,它是经过精心设计的。当通过一个ฐ意图触时,camera应用程序不会将全尺寸的图像返回给主调活动。通常,这样做需要大量的内存,而移动设备一般会在内存方面受限。相反,cນamera应用程序将在返回的意图中返回一幅很小的缩略图,如图1-2所示。

从附加值中获取返回的图像

importandroidosBundle;๙

intenti=ne9intent"androidmediaaທ9imAge_cApture"ิ;

您将注意到我们也๣传入一个新า的9๗tentvaທlues对象是我们希望在记录创建时与它相关联的元数据。前面的示例则是传入一个空的9tvalues对象。

1预填充关联元数据如果想要预填充元数据,那么可以使用put方法为它添加一些数据。9tvalues的数据形式是名-值对。其中,名称是标准的,定义为androidprovidermediastoreimagesmedia类中的常量一些常量实际上位于androidprovidermediastoremedia9s接口中,由media类实现该接口。

在9tvalues映射中保存图像的名称和描述

9tvalues=ne99tvalues3;๙

9tvaluesputmediadisplAy_nAme,"ิthisisatesttitle";

9tvaluesputmediades9,"ิthisisatestdes9";

9tvaluesputmediaທmime_type,"ิimagepeg";

添加一条新的记录,没有指定位图,但设置了一些值

insert返回新记录的uri

uriimagefileuri=get9sertmediaexternAl_ຕ9t_uri,

9tvalues;

同样,这个调用返回的是一个uri,可以通过意图将它传递给cນamera应用程序,以指定该图像应该保存的位置。

如果通过log命令输出这个uri,那么它看起来应该如下所示:

↑返回顶部↑

书页/目录

Android多媒体开发高级编程