我全屏预览的话,预览图像会拉长变形(拍出来的相片不变形)
摄像头是不是有一个固定的长宽比(即拍出来的图片的长宽比)?因为我发现自己写的程序拍出来的图片的长宽比都是一样的如果我根据图片的长宽比调整预览框的长宽比,那就不会变形,但是开发出来的程序需要适应各种屏幕,各种摄像头,如果需要动态调整预览框大小,我需要知道摄像头的长宽比(这个各个型号的手机应该不是统一的吧)我发现,手机自带的拍照程序不存在这个问题,就算全屏预览也是不会变形的(拍出来的相片像素长宽比与自己写的相机程序拍出来的相片不一致)
我去下载了几个第三方的相机程序,发现他们大部分都存在预览变形的问题(其中一个看不出来,因为它的预览框大小限死了,刚好和我前面说的那个摄像头长宽比差不多(假设确实存在这么一个固定的长宽比的话))我尝试设置参数时调整p.setPreviewSize(w, h);和p.setPictureSize(w, h)的参数,发现没用现在找得到的摄像头中文教程没有一个提到这个问题的,英文api文档看不懂,或者这个仅仅是我的手机个例?MB525,系统用的第三方的CM7,2.3.5(它是这么写的,我不是很确定),借了个HTC的手机,程序运行直接崩溃(也是2.3.5系统)没招了,所以来请教一下
罗嗦了点,为了尽量说明详细,请见谅

解决方案 »

  1.   

    当然,通过Intent调用系统APP来拍照就不存在这个问题
    但现在需求还不明确,
    不知道调用系统APP能不能满足需求
    趁这两天有空,想先找找看这个问题能不能解决,以防万一
      

  2.   

    找到问题的所在了,也找到方向了
    p.setPreviewSize(w, h);和p.setPictureSize(w, h)是可用的,问题在于传进去的参数是错误的
    摄像头确实有固定的预览尺寸,不过不是唯一的,而是可以支持多组不同的尺寸,拍出来的相片大小也一样然后,现在的问题在于如何获得这几组可设置的预览尺寸,以及相片大小获得摄像头信息的API中貌似没有这玩意(或许有,但我没找到)
    无意中发现一个检测系统硬件信息的软件可以查看这些信息(不得已的情况下,考虑反编译以后看人家的代码)
    这贴就这么结了吧
      

  3.   

    找到问题的所在了,也找到方向了
    p.setPreviewSize(w, h);和p.setPictureSize(w, h)是可用的,问题在于传进去的参数是错误的
    摄像头确实有固定的预览尺寸,不过不是唯一的,而是可以支持多组不同的尺寸,拍出来的相片大小也一样然后,现在的问题在于如何获得这几组可设置的预览尺寸,以及相片大小获得摄像头信息的API中貌似没有这玩意(或许有,但我没找到)
    无意中发现一个检测系统硬件信息的软件可以查看这些信息(不得已的情况下,考虑反编译以后看人家的代码)
    这贴就这么结了吧