解决 Android 分享到小程序 封面显示不全

news/2024/7/5 4:57:58

参考:解决Android 微信分享小程序图片显示不全_Keung丶的博客-CSDN博客_小程序分享图片显示不全

上面分享的封面还是不满足需求,我们需求是填充满高度或者宽度,在原基础上做修改:

修改后:

/**
 * Bitmap   分享到小程序-显示完成的封面图居中
 * @param bitmap
 * @return
 */
public static Bitmap drawWXMiniBitmap(Bitmap bitmap) {
    int width;
    int height;
    double ratioMax=1.25;//5/4=1.25
    // 先按5:4生成一张白色背景图片
    boolean isWidthLong = bitmap.getWidth() > bitmap.getHeight();
    if (isWidthLong) {//宽屏
        width = bitmap.getWidth();
        height = (int) (width /ratioMax);// 微信显示小程序的图片是5:4
    } else {//竖屏
        height = bitmap.getHeight();
        width = (int) (height *ratioMax);
    }
    Bitmap mBitmap = Bitmap.createScaledBitmap(bitmap, width, height, true);
    // 用这个Bitmap生成一个Canvas,然后canvas就会把内容绘制到上面这个bitmap中
    Canvas mCanvas = new Canvas(mBitmap);
    mCanvas.drawColor(Color.WHITE);
    // 绘制画笔
    Paint mPicturePaint = new Paint();
    // 绘制背景图片
    mCanvas.drawBitmap(mBitmap, 0.0f, 0.0f, mPicturePaint);

    mCanvas.drawBitmap(bitmap, (width-bitmap.getWidth())/2f, (height-bitmap.getHeight())/2f, mPicturePaint);
    // 保存绘图为本地图片
    mCanvas.save();
    mCanvas.restore();
    return mBitmap;
}

期间遇到一个很奇怪的问题,白色画布的比例就是5:4的时候,分享出去,也还是有一点显示不全,宽屏的就宽显示不全,竖屏的就竖显示不全,明明比例一样?

不知道有没有其他人遇到这样的问题,比例一样的,却还是显示不全

另外说分享的图片限制32k,128k的,我看官网文档说的是32k,这样压缩出来会不会太模糊了,我没做压缩处理,好像也可以分享?


http://lihuaxi.xjx100.cn/news/326920.html

相关文章

Matplotlib入门[04]——处理图像

Matplotlib入门[04]——处理图像 参考: https://ailearning.apachecn.org/Matplotlib官网 图片来源:百度(如有侵权,立删) 使用Jupyter进行练习 import matplotlib.pyplot as plt import matplotlib.image as mpimg imp…

一起Talk Android吧(第四百三十二回:Java8中的时间类)

文章目录获取时间修改时间时间比较示例程序各位看官们大家好,上一回中咱们说的例子是"Java8中的日期类",这一回中咱们说的例子是"J ava8中的时间类"。闲话休提,言归正转,让我们一起Talk Android吧!在Java8中使…

Redis6入门到实战------思维导图+章节目录

Redis学习大纲 思维导图 思维导图 Redis6入门到实战------1、NoSQL数据库简介 地址: Redis6入门到实战------2、Redis6概述和安装 地址: Redis6入门到实战------3、常用五大数据类型 地址: Redis6入门到实战------4、Redis6配置文件详解…

Bug系列路径规划算法原理介绍(四)——I-BUG 算法

本系列文章主要对Bug类路径规划算法的原理进行介绍,在本系列的第一篇文章中按照时间顺序梳理了自1986年至2018年Bug类路径规划算法的发展,整理了13种BUG系列中的典型算法,从本系列的第二篇文章开始依次详细介绍了其中具有代表性的BUG1、BUG2、…

C++特色家政服务管理系统

C特色家政服务管理系统 6.30 特色家政服务管理系统 [问题详述] 家政公司针对新建住宅区推出“安心入住”清扫特色家政服务,为房主清扫新装修的住房,让房主能安心地搬人一个干净的新居。住房清扫按房屋的面积计费,收费标准是:清扫一次收费起点 300 元,对应的房屋面积不超过 80…

[附源码]Python计算机毕业设计Django线上评分分享平台

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

servletContext 对象的解释

大家好,今天来分享一下servletContext 作用 关于 servletContext 对象, 他代表是整个web 项目,他可以和servlet 或者程序的容器进行通信 同时也可以管理web项目 当一个web项目当中有很多servlet, 那这些servlet之间需要通信 就…

【Opencv实战】高手勿入,Python使用Opencv+Canny实现边缘检测以及轮廓检测(详细步骤+源码分享)

前言 有温度 有深度 有广度 就等你来关注哦~ 所有文章完整的素材源码都在👇👇 粉丝白嫖源码福利,请移步至CSDN社区或文末公众hao即可免费。 在这次的案例实战中,我们将使用Python 3和OpenCV。我们将使用OpenCV,因为它是…