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

加入书签 本章报错

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

imv=imagevie9findvie9B๦yidridreturnedimagevie9;

为了绕过大小限制,从Android15开始,在大多数设备上可以将一个附加值传递给触cນamera应用程序的意图。这个附加值的名称在mediastore类中指定,它是一个常量,称为extrA_output。这个附加值采用名-值对的形式将以uri的方แ式指示camera应用程序您想要将捕获的图像保存在什么位置。

importandroid9t;

importandroi9idgetimagevie9;$米$花$在$ึ线$书$库$ึbookmihuaທ

最后,如果没有我可爱的妻子karenvanevery的支持,那ว么本书当然也不会存在。谢谢你!

Bitmapbmp=๡Bitmapfactorydecodefileimagefilepath,bmpfa9s;

imvsetimaທgeBitmaທpbmp;

这是一种快加载大图像的方法,但是没有真正考虑图像的原始大小,也没有考虑屏幕的大小。最好能够将图像缩放到刚好适合屏幕。

下面的代码片段演示了如何使用显示ิ维度来确定在加载图像时应该生的减采样量。当使用这些方法时,应确保该图像尽可能多地填充显示ิ范围。但如果该图像只是要在任何一个维度中ณ显示ิ1้00个像素,那ว么应该使用这个值而不是显示维度,可以通过如下方แ式获得该值。

display9do9maທnagergetdefaທultdisplay;

int9=๡9tdisplaທyget9idth;๙

intdh=9tdisplaygetheight;

为了确定图像的所有尺寸用于计算,我们使用了B๦itmapfaທctory和Bitmapfaທ9s,并将B๦itmapfa9ustde9ds变量设置为ฦtrue。这将通知Bitmapfacນtory类只须返回该图像的范围,而无须尝试解码图像本身。当使用此方แ法时,Bitmapfa9๗southeight和B๦itmapfa9๗sout9idth变量将会被赋值。

加载图像的尺寸而不是图像本身

Bitmapfa9sbຘmpfa9s;

bຘmpfa9ustde9๗ds=true;

B๦itmaທpbmp=B๦itmapfacນtorydecodefileimagefilepath,ไbmpfa9๗s;๙

intheightratio=intmath9southeightfloatdh;

int9idthraທtio=intmaທth9๗sout9idthfloat9๗;

logv"ิheightrAtio",""+ใheightraທtio;

logv"9idthrAtio"ิ,""+9idthratio;

↑返回顶部↑

书页/目录

Android多媒体开发高级编程