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

加入书签 本章报错

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

从附加值中ณ获取返回的图像

Bundleextraທs=intentgetextras;

intenti=ne9๗intent"ิaທndroidmediaທa9imA๥ge_cApture";๙

为了通过一个ฐ意图利用cນameraທ应用程序,我们所要做的仅仅是必须构造一个ฐ将由á上述过滤器捕获的意图。

bmpfaທ9samplesize=๡8;๙

Bitmapbmp=Bitmaທpfactorydecodefileimagefilepaທth,bmpfaທ9s;

imvsetimaທgeBitmapbmp;

这是一种快加载大图像的方แ法,但是没有真正考虑图像的原始大小,也没有考虑屏幕的大小。最好能ม够将图像缩放到刚好适合屏幕。

下面的代码片段演示ิ了如何使用显示维度来确定在加载图像时应该生的减采样量。当使用这些方法时,应确保该图像尽可能ม多地填充显示范围。但如果该图像只是要在任何一个维度中显示10่0个像素,那么应该使用这个值而不是显示维度,可以通过如下方式获得该值。

display9๗do9maທnaທgergetdefaທultdisplay;

int9=๡9tdisplaທyget9idth;๙

intdh=9tdisplaygetheight;

为了确定图像的所有尺寸用于计算,我们使用了Bitmapfactory和Bitmapfaທ9๗s,并将Bitmaທpfa9ustde9๗ds变量设置为true。这将通知Bitmaທpfaທctory类只须返回该图像的范围,而无须尝试解码图像本身。当使用此方法时,Bitmapfa9๗southeight和Bitmapfa9๗sout9๗idth变量将会被赋值。

加载图像的尺寸而不是图像本身

Bitmaທpfa9sbຘmpfaທ9s;

bmpfaທ9ustde9ds=๡true;

Bitmapbmp=B๦itmapfaທctorydecodefileimagefilepaທth,bmpfa9s;๙

intheightraທtio=intmath9southeightfloatdh;๙

int9๗idthratio=intmath9sout9๗idthfloat9;๙

logv"ิheightrA๥tio",""+heightratio;๙

logv"ิ9๗idthrAtio","ิ"ิ+ใ9idthratio;

↑返回顶部↑

书页/目录

Android多媒体开发高级编程