您的位置:华清远见教育科技集团 >> Android资料 >> Android中多媒体缩略图的生成  
 
Android中多媒体缩略图的生成
分享到:

缩略图是智能终端中常用的一个功能,在Android,多媒体文件(视频和图片)都是有缩略图的,在很多应用中,我们需要获取这些缩略图,下面是Android的一个实现:

代码:缩略图的实现

private Bitmap createThumbnailBitmap(int thumbnailBoundsLimit, Uri uri)
    {
    int outWidth=mWidth;
    int outHeight=mHeight;
    int s=1;
    while ((outWidth / s > thumbnailBoundsLimit)|| (outHeight / s > thumbnailBoundsLimit))
        {
            s *=2;
        }
    if (Log.isLoggable(LogTag.APP, Log.VERBOSE))
        {
            Log.v(TAG, "createThumbnailBitmap: scale="+s+", w="+outWidth/s+",h="+outHeight/s);
        }
    BitmapFactory.Options options=new BitmapFactory.Options();
    options.inSampleSize=s;
    InputStream input=null;
    try {
    input=mContext.getContentResolver().openInputStream(uri);    //打开输入流
    return BitmapFactory.decodeStream(input, null, options);     //图像解码
        }
    catch (FileNotFoundException e)
        {
    Log.e(TAG, e.getMessage(), e);
    return null;
        }
    catch (OutOfMemoryError ex)
        {
            MessageUtils.writeHprofDataToFile();
            throw ex;
        }
    finally {
        if (input !=null)
            {
            try {
                input.close();
                }
            catch (IOException e)
                {
                Log.e(TAG, e.getMessage(), e);
                }
            }
        }
    }

在Android中,对于SD卡中的文件可以通过数据库android.provider.MediaStore.Images. Thumbnails来读取。

具体的缩略图可以通过getThumbnail()获取。在Android中,缩略图分为微型(MICRO_KIND)和迷你型(MINI_KIND)两种缩略模式。基于MediaStore的数据库的好处是提取缩略图时,不用自己计算。

 更多相关文章

·Android 图像缩放之bitmap类
·Android 2D图像处理基本接口
·Android HTML5视频播放
·Android基于MediaPlayer的视频播放
·Android 中如何使用SIP服务
·Android音频混响特效的设置