聊天平台源码,通过MediaStore获取缩略图模糊

聊天平台源码,通过MediaStore获取缩略图模糊实现的方法

获取缩略图的方法

1
Bitmap thumbnail = Images.Thumbnails.getThumbnail(mContext.getContentResolver(), id, Images.Thumbnails.MICRO_KIND, null)

该方法为系统方法getThumbnail

1
/**<br> * Return thumbnail representing a specific image item. If a<br> * thumbnail doesn't exist, this method will block until it's<br> * generated. Callers are responsible for their own in-memory<br> * caching of returned values.<br> *<br> * As of {@link android.os.Build.VERSION_CODES#Q}, this output<br> * of the thumbnail has correct rotation, don't need to rotate<br> * it again.<br> *<br> * @param imageId the image item to obtain a thumbnail for.<br> * @param kind optimal thumbnail size desired.<br> * @return decoded thumbnail, or {@code null} if problem was<br> *         encountered.<br> * @deprecated Callers should migrate to using<br> *             {@link ContentResolver#loadThumbnail}, since it<br> *             offers richer control over requested thumbnail sizes<br> *             and cancellation behavior.<br> */<br>@Deprecated<br>public static Bitmap getThumbnail(ContentResolver cr, long imageId, int kind,<br>        BitmapFactory.Options options) {<br>    final Uri uri = ContentUris.withAppendedId(<br>            Images.Media.EXTERNAL_CONTENT_URI, imageId);<br>    return InternalThumbnails.getThumbnail(cr, uri, kind, options);<br>}

 

观察到参数@param kind optimal thumbnail size desired

1
packages/providers/MediaProvider/apex/framework/java/android/provider/MediaStore.java<br>public static class ThumbnailConstants {<br>    public static final int MINI_KIND = 1;<br>    public static final int FULL_SCREEN_KIND = 2;<br>    public static final int MICRO_KIND = 3;<br>    public static final Size MINI_SIZE = new Size(512384);<br>    public static final Size FULL_SCREEN_SIZE = new Size(1024786);<br>    public static final Size MICRO_SIZE = new Size(9696);<br>    public static @NonNull Size getKindSize(int kind) {<br>        if (kind == ThumbnailConstants.MICRO_KIND) {<br>            return ThumbnailConstants.MICRO_SIZE;<br>        } else if (kind == ThumbnailConstants.FULL_SCREEN_KIND) {<br>            return ThumbnailConstants.FULL_SCREEN_SIZE;<br>        } else if (kind == ThumbnailConstants.MINI_KIND) {<br>            return ThumbnailConstants.MINI_SIZE;<br>        } else {<br>            throw new IllegalArgumentException("Unsupported kind: " + <br>        }<br>    }<br>}

 

 

因此,如要修改缩略图清晰度,可以修改第三个参数为MINI_KIND或FULL_SCREEN_KIND即可。

以上就是聊天平台源码,通过MediaStore获取缩略图模糊实现的方法, 更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(84)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示