照相机应用相关内容:
1.颜色效果:
Camera.Parameters parameters = camera.getParameters();
List<String> colorEffects = parameters.getSupportedColorEffects();
Iterator<String> cei = colorEffects.iterator();
while (cei.hasNext()) {
String currentEffect = cei.next();
Log.v("SNAPSHOT","Checking " + currentEffect);
if (currentEffect.equals(Camera.Parameters.EFFECT_SOLARIZE)) {
Log.v("SNAPSHOT","Using SOLARIZE");
parameters.setColorEffect(Camera.Parameters.EFFECT_SOLARIZE);
break;
}
}
Log.v("SNAPSHOT","Using Effect: " + parameters.getColorEffect());
camera.setParameters(parameters);
这部份代码引用自 《Pro android media》。
camera.getParameters();方法获取本机照相机的支持参数,
parameters.getSupportedColorEffects();这里是获取照相机所支持的颜色效果。
整段大意是,首先获取了支持参数、颜色效果,然后把遍历出颜色效果看是否存在所需的颜色效果,如果存在就设置成该效果。
一些效果参数:
引用
EFFECT_NONE
EFFECT_MONO
EFFECT_NEGATIVE
EFFECT_SOLARIZE
EFFECT_SEPIA
EFFECT_POSTERIZE
EFFECT_WHITEBOARD
EFFECT_BLACKBOARD
EFFECT_AQUA
2.显示大小:
……
public static final int LARGEST_WIDTH = 200;
public static final int LARGEST_HEIGHT= 200;
……
public void surfaceCreated(SurfaceHolder holder) {
camera = Camera.open();
try {
camera.setPreviewDisplay(holder);
Camera.Parameters parameters = camera.getParameters();
int bestWidth = 0;
int bestHeight = 0;
List<Camera.Size> previewSizes = parameters.getSupportedPreviewSizes();
if (previewSizes.size() > 1){
Iterator<Camera.Size> cei = previewSizes.iterator();
while (cei.hasNext()){
Camera.Size aSize = cei.next();
Log.v("SNAPSHOT","Checking " + aSize.width + " x " + aSize.height);
if (aSize.width > bestWidth && aSize.width <= LARGEST_WIDTH
&& aSize.height > bestHeight && aSize.height <= LARGEST_HEIGHT) {
// So far it is the biggest without going over the screen dimensions
bestWidth = aSize.width;
bestHeight = aSize.height;
}
}
if (bestHeight != 0 && bestWidth != 0) {
Log.v("SNAPSHOT", "Using " + bestWidth + " x " + bestHeight);
parameters.setPreviewSize(bestWidth, bestHeight);
cameraView.setLayoutParams(new LinearLayout.LayoutParams( bestWidth,
bestHeight));
}
}
camera.setParameters(parameters);
//After we set the parameters, all that remains is to close out the surfaceCreated method.
} catch (IOException exception) {
camera.release();
}
}
parameters.getSupportedPreviewSizes();获取照相机支持的预览大小。
cameraView.setLayoutParams(new LinearLayout.LayoutParams( bestWidth,bestHeight));
通知SurfaceView对象,camaraView 来显示那样的大小。如没有这样做,SurfaceView将不会改变显示大小,来自照相机的预览图片将会或扭曲的或非常低质量。
整段代码的大意是:在所技持的预览大小内,自定义预览大小。
分享到:
相关推荐
2020年零星维修项目投标文件.pdf2020年零星维修项目投标文件.pdf2020年零星维修项目投标文件.pdf2020年零星维修项目投标文件.pdf2020年零星维修项目投标文件.pdf
零星维修项目投标文件.pdf
医院零星维修管理制度
零星工程安全交底记录表
零星工程验收单.pdf
零星雨控制软件,LED控制卡控制软件的安装程序
零星工程施工合同范本一.pdf
第三方零星维修清单
公司企业零星采购管理办法.pdf
土建、装饰、维修改造等零星的工程施工组织设计技术标.pdf
煤矿零星事故大多是发生在零星岗位和零散作业过程中,控制零星事故的发生对于煤矿实现"零死亡"目标具有极其重要的作用。加强对零星岗位的培训、教育和有效管理,开展零星岗位安全整顿,提高其思想业务素质,逐步规范其...
零星维修工程施工方案.pdf
汉字零星整理及应用,研究汉字的设计,字体的设计,韵律等
零星费用支付申请单.doc
煤矿零星工程管理制度汇编.doc
XX大学房屋零星装修、改造工程申请表.pdf
小区零星维修项目施工组织计划.doc
零星工程框架协议(修改).pdf
E扩展程序,有利于e仅筋计算,....以及钢筋计算
浅议电网企业零星物资电商化采购策略.pdf