参考一下两篇博文:

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


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


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

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

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


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

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

[java]  view plain  copy
  1. package com.administrator.picturedemo;  
  2.   
  3. import android.app.Activity;  
  4. import android.hardware.Camera;  
  5. import android.os.Bundle;  
  6. import android.util.Log;  
  7. import android.view.Menu;  
  8. import android.view.MenuItem;  
  9.   
  10. import java.util.List;  
  11.   
  12.   
  13. public class MainActivity extends Activity {  
  14.   
  15.     private final String TAG = "test";  
  16.   
  17.     @Override  
  18.     protected void onCreate(Bundle savedInstanceState) {  
  19.         super.onCreate(savedInstanceState);  
  20.         setContentView(R.layout.activity_main);  
  21.   
  22.         Camera camera = Camera.open();  
  23.   
  24.         List pictureSizes = camera.getParameters().getSupportedPictureSizes();  
  25.         List previewSizes = camera.getParameters().getSupportedPreviewSizes();  
  26.   
  27.         for (int i=0; i
  28.             Camera.Size pSize = pictureSizes.get(i);  
  29.             Log.i(TAG+"-------initCamera""---------------------PictureSize.width = "+pSize.width+"-----------------PictureSize.height = "+pSize.height);  
  30.         }  
  31.   
  32.         for (int i=0; i
  33.             Camera.Size pSize = previewSizes.get(i);  
  34.             Log.i(TAG+"--------initCamera""--------------------previewSize.width = "+pSize.width+"-----------------previewSize.height = "+pSize.height);  
  35.         }  
  36.     }  
  37.   
  38.     @Override  
  39.     public boolean onCreateOptionsMenu(Menu menu) {  
  40.         // Inflate the menu; this adds items to the action bar if it is present.  
  41.         getMenuInflater().inflate(R.menu.menu_main, menu);  
  42.         return true;  
  43.     }  
  44.   
  45.     @Override  
  46.     public boolean onOptionsItemSelected(MenuItem item) {  
  47.         // Handle action bar item clicks here. The action bar will  
  48.         // automatically handle clicks on the Home/Up button, so long  
  49.         // as you specify a parent activity in AndroidManifest.xml.  
  50.         int id = item.getItemId();  
  51.   
  52.         //noinspection SimplifiableIfStatement  
  53.         if (id == R.id.action_settings) {  
  54.             return true;  
  55.         }  
  56.   
  57.         return super.onOptionsItemSelected(item);  
  58.     }  
  59. }  

在AndroidManifest.xml中添加权限:

[java]  view plain  copy
  1. "android.permission.CAMERA" />  

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



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

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


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

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

[java]  view plain  copy
  1. String readPath = "/sdcard/desktop.jpg";  
  2. String writePah = "/sdcard/picSize.jpg";  
  3.   
  4. Bitmap myBitmap = BitmapFactory.decodeFile(readPath);  
  5. File img = new File(writePah);  
  6. try {  
  7.     img.createNewFile();  
  8.     FileOutputStream fos = new FileOutputStream(img);  
  9.   
  10.     Bitmap endBit = Bitmap.createScaledBitmap(myBitmap, 600800true); //创建新的图像大小  
  11.     endBit.compress(Bitmap.CompressFormat.PNG, 100, fos);  
  12.     fos.close();  
  13. catch (FileNotFoundException e) {  
  14.     e.printStackTrace();  
  15. catch (IOException e) {  
  16.     e.printStackTrace();  
  17. }  

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

[java]  view plain  copy
  1. Bitmap endBit = Bitmap.createScaledBitmap(myBitmap, 600800true); //创建新的图像大小  
  2. endBit.compress(Bitmap.CompressFormat.PNG, 100, fos);  

改为

[java]  view plain  copy
  1. myBitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);  

即可


添加权限

[java]  view plain  copy
  1. "android.permission.WRITE_EXTERNAL_STORAGE" />  

更多相关文章

  1. Android裁剪图像实现方法示例
  2. android apk大小限制,进程大小限制。
  3. Android - Android Studio修改字体(font)大小(size)
  4. Android: android自适应屏幕方向和大小
  5. Android中的基础----在按钮上显示图像的方式
  6. Android搜索TextView显示关键字标红(忽略大小写)
  7. 初学Android,图形图像之使用Path类(二十六)
  8. Android 修改Camera默认preview size预览大小为4:3
  9. android Shader类简介_渲染图像示例

随机推荐

  1. android wifi hotspot
  2. Android获取如何获取当前手机IP地址
  3. notify while network is available or n
  4. 丰富多彩的Android(安卓)onTouch事件
  5. AT91G45——Android2.2移植补丁
  6. android利用spinner选择加减乘除进行运算
  7. Android对应的版本号
  8. Android(安卓)自带图标库 android.R.draw
  9. Layout inflation is the term used with
  10. android的文件操作