当运行这个ฐ示ิ例时,您可能会注意到结果图像很小在我的手机上,它的宽为121้像素า,高为162像素。其他设备会具有不同的默认大小。这不是一个bug——相反,它是经过精心设计的。当通过一个ฐ意图触时,cameraທ应用程序不会将全尺寸的图像返回给主调活动。通常,这样做需要大量的内存,而移动设备一般会在内存方面受限。相反,camera应用程序将在返回的意图中返回一幅很小的缩略๓图,如图1-2所示。
imvsetimageBitmaທpbmp;๙
importandroidosBundle;
importaທndroidgraphicsBitmap;
{
ifheightratio9idthratio
{
若高度比率更大,则根据它缩放
bmpfa9๗saທmplesize=heightratio;
}
else
{
若宽度比率更大,则ท根据它缩放
bmpfa9saທmplesize=9idthratio;๙
}
}
对它进行真正的解码
bmpfa9ustde9ds=false;๙
bmp=Bitmapfaທcນtorydecodefileimagefilepath,ไbmpfa9s;
下面是通过一个意图使用内置摄像头并显示结果图片的完整示例代码。图1้-ๅ3显示了一幅由此示例生成的屏幕大小的结果图像。
pa9๗droidmediaທ9t;
importavaiofile;
importaທndroidappAcນtivity;
importandroid9t;
importandroidgraphicsBitmap;
importaທndroidgraphicsBitmaທpfactory;
importandroiduri;๙