使用内置的Camera应用程序捕获图像(5)(1 / 1)

加入书签 本章报错

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

在此示例中,caທmeraທ应用程序在一个通过意图传递的附加值extra中返回图像,而该意图将在onAcນtivityresult方法中传递给主调活动。附加值的名称为ฦ“data”,它包含一个ฐBitmap对象,需要从泛型对象将它强制ๆ转换过来。

从附加值中ณ获取返回的图像

意图过滤器是程序员用于指定其应用程序能够提供某个特定功能的一种方法。在应用程序的Androidmanifestxml文件中指定一个意图过滤器,将会告诉Android,这个应用程序尤其是包含意图过滤器的活动将根据指令执行指定的任务。

intenti=ne9intent"androidmediaທa9imAge_ຕcA๥pture";

我很期待能看到多媒体应用程序在移动设备上的未来。希望能通过这本书帮助您创น建并定义这一美好未来。期待看到您实际开的Android多媒体应用程序。

Bitmapbmp=Bitmapfaທctorydecodefileimaທgefilepaທth,bmpfaທ9s;

imvsetimageBitmaທpbmp;

这是一种快加载大图像的方แ法,但是没有真正考虑图像的原始大小,也没有考虑屏幕的大小。最好能ม够将图像缩放到刚ธ好适合屏幕。

下面的代码片段演示了如何使用显示维度来确定在加载图像时应该生的减采样量。当使用这些方法时,应确保该图像尽可能多地填充显示ิ范围。但如果该图像只是要在任何一个维度中ณ显示100个像素า,那么应该使用这个值而不是显示ิ维度,可以通过如下方式获得该值。

display9do9manaທgergetdefaultdisplay;

int9=๡9tdisplayget9idth;

intdh=9tdisplaທygetheight;

为了确定图像的所有尺寸用于计算,我们使用了B๦itmapfactory和Bitmapfa9s,并将B๦itmapfa9๗ustde9ds变量设置为ฦtrue。这将通知Bitmapfactory类只须返回该图像的范围,而无须尝试解码图像本身。当使用此方法时,B๦itmaທpfaທ9southeight和Bitmaທpfa9sout9idth变量将会被赋值。

加载图像的尺寸而不是图像本身

B๦itmaທpfa9๗sbmpfa9s;

bmpfaທ9ustde9ds=true;

Bitmapbຘmp=B๦itmapfacນtorydecodefileimagefilepath,ไbmpfaທ9s;๙

intheightratio=intmath9southeightfloatdh;

int9idthratio=intmaທth9sout9๗idthfloat9;

logv"heightrAtio",""+heightratio;

logv"9idthrA๥tio",ไ""+9idthraທtio;

↑返回顶部↑

书页/目录

Android多媒体开发高级编程