如何统计网站访问量,首页策划方案,关键字挖掘,wordpress中.htaccess本文实例为大家分享了Android拍照及图片显示的具体代码#xff0c;供大家参考#xff0c;具体内容如下1、功能声明当应用需要使用相机、NFC等外设时#xff0c;需要在AndroidManifest.xml中进行声明。这样#xff0c;当设备缺少这些外设时#xff0c;应用商店的安装程序可…本文实例为大家分享了Android拍照及图片显示的具体代码供大家参考具体内容如下1、功能声明当应用需要使用相机、NFC等外设时需要在AndroidManifest.xml中进行声明。这样当设备缺少这些外设时应用商店的安装程序可以拒绝安装设备。声明示例代码如下android:requiredfalse/2、创建指向文件的File对象拍摄的照片可以存放到设备的外部存储区。Android为不同的应用分配的独有的存储区域同时按照存储数据的类型对存储区域做了进一步地划分。设置照片存储区域的代码示例如下所示public File getPhotoFile(Crime crime) {//获取应用对应的存储照片的外部存储路径File externalFilesDir mContext.getExternalFilesDir(Environment.DIRECTORY_PICTURES);if (externalFilesDir null) {return null;}//创建指向文件的File对象return new File(externalFilesDir, crime.getPhotoFilename());}.............//每个crime对应的文件名public String getPhotoFilename() {return IMG_ getId().toString() .jpg;}3、触发拍照可以使用MediaStore.ACTION_CAPTURE_IMAGE类型的Intent触发拍照示例代码如下mPhotoButton (ImageButton) v.findViewById(R.id.crime_camera);//隐式Intent触发相机拍照final Intent captureImageIntent new Intent(MediaStore.ACTION_IMAGE_CAPTURE);//mPhotoFile保存着上文创建的指向指定地址的File//此处判断是否有能够处理隐式Intent的组件boolean canTakePhoto mPhotoFile ! null captureImageIntent.resolveActivity(packageManager) ! null;mPhotoButton.setEnabled(canTakePhoto);if (canTakePhoto) {//得到File文件对应的Uri地址Uri uri Uri.fromFile(mPhotoFile);//将Uri地址存入到Intent中相机拍照得到的图像将会存入到该Uri地址对应的File里captureImageIntent.putExtra(MediaStore.EXTRA_OUTPUT, uri);}mPhotoButton.setOnClickListener(new View.OnClickListener() {Overridepublic void onClick(View v) {startActivityForResult(captureImageIntent, REQUEST_PHOTO);}});4、处理拍照结果拍照完成后将可以加载得到图片了。Overridepublic void onActivityResult(int requestCode, int resultCode, Intent data) {.........} else if (requestCode REQUEST_PHOTO) {updatePhotoView();}.........}private void updatePhotoView() {if (mPhotoFile null || !mPhotoFile.exists()) {mPhotoView.setImageDrawable(null);} else {//加载图片对应的缩略图Bitmap bitmap PictureUtils.getScaledBitmap(mPhotoFile.getPath(), getActivity());mPhotoView.setImageBitmap(bitmap);}}Bitmap只存储实际像素数据因此即使原始照片已经压缩过但存入Bitmap对象时文件并不会被压缩。因此加载图片时需要先按照给定区域的大小合理的缩放文件。 然后用Bitmap加载缩放后的文件示例代码如下//在具体视图未加载前无法得到视图的实际大小//因此根据屏幕尺寸使用估算值进行缩放public static Bitmap getScaledBitmap(String path, Activity activity) {Point size new Point();activity.getWindowManager().getDefaultDisplay().getSize(size);return getScaledBitmap(path, size.x, size.y);}public static Bitmap getScaledBitmap(String path, int destWidth, int destHeight) {BitmapFactory.Options options new BitmapFactory.Options();options.inJustDecodeBounds true;//按照正常尺寸解析文件BitmapFactory.decodeFile(path, options);//得到原始文件的宽和高float srcWidth options.outWidth;float srcHeight options.outHeight;//inSampleSize表示水平/竖直抽样比//例如inSampleSize为2时水平和数值均在原始基础上每2个点抽取1个点//于是新图的大小变为原来的1/4int inSampleSize 1;if (srcHeight destHeight || srcWidth destWidth) {if (srcWidth srcHeight) {inSampleSize Math.round(srcHeight / destHeight);} else {inSampleSize Math.round(srcWidth / destWidth);}}options new BitmapFactory.Options();options.inSampleSize inSampleSize;//按新的抽样比重新解析文件return BitmapFactory.decodeFile(path, options);}以上就是本文的全部内容希望对大家的学习有所帮助也希望大家多多支持脚本之家。