Android camera预览参数以及实际图像大小设置

2024-06-21 16:08

本文主要是介绍Android camera预览参数以及实际图像大小设置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


参考一下两篇博文:

http://www.cnblogs.com/skyseraph/archive/2012/03/26/2418665.html


http://blog.csdn.net/yanzi1225627/article/details/7738736


###########################################################333

PreviewSize是预览的大小,也就是拍照前看到的图片大小

PictureSize是指最终拍摄到的图片的大小,也就是图片的质量


新建一个工程PictureDemo,默认空活动

完成后,在MainActivity上添加代码:

package com.administrator.picturedemo;import android.app.Activity;
import android.hardware.Camera;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;import java.util.List;public class MainActivity extends Activity {private final String TAG = "test";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Camera camera = Camera.open();List<Camera.Size> pictureSizes = camera.getParameters().getSupportedPictureSizes();List<Camera.Size> previewSizes = camera.getParameters().getSupportedPreviewSizes();for (int i=0; i<pictureSizes.size(); i++) {Camera.Size pSize = pictureSizes.get(i);Log.i(TAG+"-------initCamera", "---------------------PictureSize.width = "+pSize.width+"-----------------PictureSize.height = "+pSize.height);}for (int i=0; i<previewSizes.size(); i++) {Camera.Size pSize = previewSizes.get(i);Log.i(TAG+"--------initCamera", "--------------------previewSize.width = "+pSize.width+"-----------------previewSize.height = "+pSize.height);}}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.menu_main, menu);return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// Handle action bar item clicks here. The action bar will// automatically handle clicks on the Home/Up button, so long// as you specify a parent activity in AndroidManifest.xml.int id = item.getItemId();//noinspection SimplifiableIfStatementif (id == R.id.action_settings) {return true;}return super.onOptionsItemSelected(item);}
}

在AndroidManifest.xml中添加权限:

<uses-permission android:name="android.permission.CAMERA" />

运行,在LogCat上自定义过滤器test,查看该过滤器得到



上图中的这些参数就是可以设置的previewSize和pictureSize大小

##################################3


获得了最终的图像,但是大小却不是我们希望的,所以想要去修改大小

实例程序,获得bitmap图像myBitmap,改为600x800大小的图像

        String readPath = "/sdcard/desktop.jpg";String writePah = "/sdcard/picSize.jpg";Bitmap myBitmap = BitmapFactory.decodeFile(readPath);File img = new File(writePah);try {img.createNewFile();FileOutputStream fos = new FileOutputStream(img);Bitmap endBit = Bitmap.createScaledBitmap(myBitmap, 600, 800, true); //创建新的图像大小endBit.compress(Bitmap.CompressFormat.PNG, 100, fos);fos.close();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}

如果不想修改结果大小,则将

            Bitmap endBit = Bitmap.createScaledBitmap(myBitmap, 600, 800, true); //创建新的图像大小endBit.compress(Bitmap.CompressFormat.PNG, 100, fos);

改为

            myBitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);

即可


添加权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

这篇关于Android camera预览参数以及实际图像大小设置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1081690

相关文章

Android中Dialog的使用详解

《Android中Dialog的使用详解》Dialog(对话框)是Android中常用的UI组件,用于临时显示重要信息或获取用户输入,本文给大家介绍Android中Dialog的使用,感兴趣的朋友一起... 目录android中Dialog的使用详解1. 基本Dialog类型1.1 AlertDialog(

Java实现文件图片的预览和下载功能

《Java实现文件图片的预览和下载功能》这篇文章主要为大家详细介绍了如何使用Java实现文件图片的预览和下载功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... Java实现文件(图片)的预览和下载 @ApiOperation("访问文件") @GetMapping("

PyCharm如何设置新建文件默认为LF换行符

《PyCharm如何设置新建文件默认为LF换行符》:本文主要介绍PyCharm如何设置新建文件默认为LF换行符问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录PyCharm设置新建文件默认为LF换行符设置换行符修改换行符总结PyCharm设置新建文件默认为LF

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

Linux上设置Ollama服务配置(常用环境变量)

《Linux上设置Ollama服务配置(常用环境变量)》本文主要介绍了Linux上设置Ollama服务配置(常用环境变量),Ollama提供了多种环境变量供配置,如调试模式、模型目录等,下面就来介绍一... 目录在 linux 上设置环境变量配置 OllamPOgxSRJfa手动安装安装特定版本查看日志在

Android自定义Scrollbar的两种实现方式

《Android自定义Scrollbar的两种实现方式》本文介绍两种实现自定义滚动条的方法,分别通过ItemDecoration方案和独立View方案实现滚动条定制化,文章通过代码示例讲解的非常详细,... 目录方案一:ItemDecoration实现(推荐用于RecyclerView)实现原理完整代码实现

一文带你了解SpringBoot中启动参数的各种用法

《一文带你了解SpringBoot中启动参数的各种用法》在使用SpringBoot开发应用时,我们通常需要根据不同的环境或特定需求调整启动参数,那么,SpringBoot提供了哪些方式来配置这些启动参... 目录一、启动参数的常见传递方式二、通过命令行参数传递启动参数三、使用 application.pro

基于@RequestParam注解之Spring MVC参数绑定的利器

《基于@RequestParam注解之SpringMVC参数绑定的利器》:本文主要介绍基于@RequestParam注解之SpringMVC参数绑定的利器,具有很好的参考价值,希望对大家有所帮助... 目录@RequestParam注解:Spring MVC参数绑定的利器什么是@RequestParam?@

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

Ubuntu中Nginx虚拟主机设置的项目实践

《Ubuntu中Nginx虚拟主机设置的项目实践》通过配置虚拟主机,可以在同一台服务器上运行多个独立的网站,本文主要介绍了Ubuntu中Nginx虚拟主机设置的项目实践,具有一定的参考价值,感兴趣的可... 目录简介安装 Nginx创建虚拟主机1. 创建网站目录2. 创建默认索引文件3. 配置 Nginx4