bitmap 与 InputStream、filePath 、resId 、ByteArray、URL互转

转bitmap

//BitmapFactory.Options : 可配置比例压缩
public class BitmapFactory {
	//ByteArray -> Bitmap
	public static Bitmap decodeByteArray(byte[] data, 
										int offset, 
										int length, 
										BitmapFactory.Options opts) {
	
	//resId -> Bitmap
	public static Bitmap decodeResource(Resources res, 
										int id, 
										BitmapFactory.Options opts) {
	
	//filePath -> Bitmap
	public static Bitmap decodeFile(String pathName, 
									BitmapFactory.Options opts) {
	
	//InputStream -> Bitmap
	public static Bitmap decodeStream(@Nullable InputStream is, 
									@Nullable Rect outPadding, 
									@Nullable BitmapFactory.Options opts) {
									
	// 网络图片 -> 	Bitmap								
	// 网络图片URL---> 下载获取InputStream(-->bitmap) --> File(-->bitmap) 
}

bitmap转byte

private byte[] Bitmap2Bytes(Bitmap bm) {
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    bm.compress(Bitmap.CompressFormat.PNG, 100, baos);	
    return baos.toByteArray();
}

bitmap转file

public class FileOutputStream extends OutputStream {
    public FileOutputStream(String name) {}

    public FileOutputStream(File file){}
}


public final class Bitmap implements Parcelable {
	public boolean compress(Bitmap.CompressFormat format, 
							int quality, 	//quality:可配置质量压缩
							OutputStream stream) {
}

你可能感兴趣的:(图片)