android图像处理

最近做的图片处理比较多,总结一下

1.Bitmap和Drawable转换

//drawable 转  bitmap
public static Bitmap drawableToBitmap(Drawable drawable) {    
    int width = drawable.getIntrinsicWidth();    
    int height = drawable.getIntrinsicHeight();    
    Bitmap bitmap = Bitmap.createBitmap(width, height, drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565);    
    Canvas canvas = new Canvas(bitmap);    
    drawable.setBounds(0, 0, width, height);    
    drawable.draw(canvas);    
return bitmap;        
    }    

//bitmap 转 drawable
public static Drawable bitmapToDrawble(Bitmap bitmap,Context mcontext){  
    Drawable drawable = new BitmapDrawable(mcontext.getResources(), bitmap);  
    return drawable;  
} 

2.获取图片创建的时间

//文件修改的时间
File file = new File("");
file.lastModified();
//获取照片拍摄的时间
// MediaStore.Images.Media下面有DATE_TAKEN,DATE_ADD,DATE_MODIFIED的参数,分别是照片拍摄的时间,添加到ContentProvider的时间,最后修改的时间,经过测试显示,DATE_TAKEN这个字段下面的时间是最靠谱的,不说他是不是准确,但是系统相册也是使用的这个时间作为照片信息,亲测。另外,有趣的是,只有DATE_TAKEN这个字段下是毫秒级的,另外两个都是秒级的。
public static long getImgCreateTime(Context context, String path) {
        long createTime = -1;
        Uri mImageUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
        ContentResolver mContentResolver = context.getContentResolver();
        Cursor mCursor = mContentResolver.query(mImageUri, new String[]{MediaStore.Images.Media.DATE_TAKEN},
                MediaStore.Images.Media.DATA + "=?",
                new String[]{path}, MediaStore.Images.Media.DATE_TAKEN);
        if (mCursor == null) {
            return -1;
        }
        while (mCursor.moveToNext()) {
            //获取图片的路径
            String str = mCursor.getString(mCursor
                    .getColumnIndex(MediaStore.Images.Media.DATE_TAKEN));
            createTime = Long.parseLong(str);
        }
        return createTime ;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值