思正小说网 > Android多媒体开发高级编程 > 图像存储和元数据(3)

图像存储和元数据(3)

get9๗putstreamimagefileuri,ไnull,bຘmpfaທ9s;:๘米:花:๘在:๘线:๘书๰:库:bookmihuA๥

前๩面显示的插入调用返回一个uri,可以利用它来写入图像文件的二进制ๆ数据。在当前情况下,由于正处于cນaທmeraທActivity中ณ,因此我们希望简单地将它作为ฦ触cນamera应用程序的意图中的一个附加值来传递。

{

imv=imagevie9findvie9B๦yidridreturnedimaທgevie9;๙

finalstaທti9tcA๥merA๥_result=0;

{

下面的代码片段演示了如何使用显示维度来确定在加载图像时应该生的减采样量。当使用这些方法时,应确保该图像尽可能ม多地填充显示范围。但如果该图像只是要在任何一个ฐ维度中显示ิ100่个像素,那ว么เ应该使用这个值而不是显示维度,可以通过如下方式获得该值。

当运行这个示例时,您可能ม会注意到เ结果图像很小在我的手机上,它的宽为ฦ121้像素,高为ฦ1้62๐像素。其他设备会具有不同的默认大小。这不是一个bug——相反,它是经过精心设计的。当通过一个意图触时,cameraທ应用程序不会将全尺寸的图像返回给主调活动。通常,这样做需要大量的内存,而移动设备一般会在内存方แ面受限。相反,cນaທmera应用程序将在返回的意图中ณ返回一幅很小的缩略图,如图1-ๅ2๐所示。

importaທndroidosBundle;๙

staທrtActivityi;

importandroidvie9๗vie9๗on9er;

importandroi9๗idgetButton;

importandroi9๗idgetedittext;

importandroi9๗idgetimagevie9;๙

importaທndroi9idgettextvie9๗;

importandroi9idgettoaທst;

importaທndroidprovidermediastoreimagesmedia;

importandroid9๗tvalues;

publilassmediaທstore9dsActivity{

finalstati9tcນAmerA๥_ຕresult=๡0;

uriimagefileuri;๙

在reslayoutmainxml中ณ指定的用户界面元素า

imagevie9returnedimaທgevie9;

Buttontaທkepi9;

ButtonsaທvedataButton;

textvie9๗titletextvie9;

textvie9๗des9textvie9๗;๙

edittexttitleedittext;

edittextdes9๗edittext;