bitmap

一、bitmap
1.BitMap代表一张位图,扩展名可以是.bmp或者.dib。
  位图是Windows标准格式图形文件,它将图像定义为由点(像素)组成,每个点可以由多种色彩表示,包括2、4、8、16、24和32位色彩,例如,一幅1024×768分辨率的32位真彩图片,其所占存储字节数为:1024×768×32/8=3072KB
2.1.从资源文件中获取


    Bitmap rawBitmap = BitmapFactory.decodeResource(getResources(),R.drawable.img1);  


   从SD卡中得到图片


 (方法1) 
 String SDCarePath=Environment.getExternalStorageDirectory().toString(); 
 String filePath=SDCarePath+"/"+"haha.jpg"; 
 Bitmap rawBitmap1 = BitmapFactory.decodeFile(filePath, null); 
 (方法2)
 InputStream inputStream=getBitmapInputStreamFromSDCard("haha.jpg"); 
 Bitmap rawBitmap2 = BitmapFactory.decodeStream(inputStream); 
 
3.常用方法
public int getScaledWidth(Canvas canvas)——获取指定密度转换后的图像的宽度 
public int getScaledHeight(Canvas canvas)——获取指定密度转换后的图像的高度 
public boolean compress(CompressFormat format, int quality, OutputStream stream)——按指定的图片格式以及画质,将图片转换为输出流。 
format:Bitmap.CompressFormat.PNG或Bitmap.CompressFormat.JPEG 
quality:画质,0-100.0表示最低画质压缩,100以最高画质压缩。对于PNG等无损格式的图片,会忽略此项设置。 








surfaceView
surfaceHolder = surfaceView.getHolder(); 
surfaceHolder.addCallback(new SurfaceHolder.Callback() {
            @Override
            public void surfaceCreated(SurfaceHolder holder) {
                
            }


            @Override
            public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {


            }


            @Override
            public void surfaceDestroyed(SurfaceHolder holder) {


            }
        });
surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);






 camera = Camera.open(); // Turn on the camera
 camera.setPreviewDisplay(holder); 
 camera.startPreview();
 camera.stopPreview();// stop preview
 camera.release(); // Release camera resources
 camera.takePicture(null, null, pictureCallback); // picture
 
 
 // Photo call back
    Camera.PictureCallback pictureCallback = new Camera.PictureCallback() {
        //@Override
        public void onPictureTaken(byte[] data, Camera camera) {
            new SavePictureTask().execute(data);   //开启子线程,处理图片
            camera.startPreview();
        }
    };
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值