图片文件的常见操作

【示意代码,语法可能有误】


一、将图片生成数据流/图片文件

1.从图片资源文件生成数据流:

InputStream input = getResources.openRawResource(R.drawable.ico);

2.将图片写为图片文件:
mBitmap.compress(Bitmap.CompressFormat.JPEG, 100, output);//output为FileOutputStream对象

二、生成图片

1.从数据流、字节、文件路径生成图片:

//可通过FileInputStream对象得到input,或通过Uri的方式即cr.openInputStream(uri)

Bitmap mBitmap = BitmapFactory.decodeStream(input);

=>BitmapFactory.decodeByteArray//从字节转为图片

=>BitmapFactory.decodeFile("/sdcard/b.jpg");//从文件路径转为图片

2.直接从图片url生成图片

URL url = new URL(“http://himg2.huanqiu.com/statics/images/index/logo.png”);  
Drawable drawable = Drawable.createFromStream( url.openStream(), "");

3.从文件路径生成图片

Drawable drawable = Drawable.createFromPath("/sdcard/a.jpg");

三、图片/视频的缩略图的创建

1.ThumbnailUtils.extractThumbnail(source, width, height); //参数分别为源文件、压缩后宽度、压缩后高度

2.ThumbnailUtils.extractThumbnail(source, width, height, options);//参数分别为源文件、压缩后宽度、压缩后高度、options(定义为OPTIONS_RECYCLE_INPUT则回收 source)

3.ThumbnailUtils.createVideoThumbnail(filePath, kind); //创建视频缩略图

四、图片的压缩处理:

1.压缩图片质量:  
bitmap.compress(Bitmap.CompressFormat.JPEG, quality, fos);   
其中的quality为0~100, 可以压缩图片质量

2.等比例缩放:
bitmap = Bitmap.createScaledBitmap(bitmap, width, height, false);

3.截取图片某部分:
bitmap = Bitmap.createBitmap(bitmap, x, y, width, height);

五、图片处理相关的一些重要类及属性:

1.BitmapFactory.Options options = new BitmapFactory.Options();

(1)options.inJustDecodeBounds // true,false:是否将图片加入内存

(2)options.inSampleSize //压缩比例

使用:BitmapFactory.decodeFile(srcPath, options );


  


你可能感兴趣的:(图片文件的常见操作)