base64转图片_一键解决PowerBI本地图片显示问题

本文介绍了一款用于将本地图片批量压缩并转换为Base64格式的小工具,适用于PowerBI图片显示,支持多种图片格式,有效解决网络和容量限制。通过示例展示了工具的高效性和使用步骤,包括文件操作、输入路径、结果文件生成等。
摘要由CSDN通过智能技术生成

a8dab702d8c6c096d9c238a4f3e7e6d3.png

话说上回我们说到,PowerBI显示图片可以通过读取网上URL链接或者将图片转成base64编码两种方式。前者占PBI容量少,而且不用考虑图片大小,但是批量获得网上图片的URL比较麻烦,而且受限于网络条件。后者不限于网络条件,难度在于批量转化和图片显示不全(大小不能超过25kb)。为了解决本地图片的问题,我开发了这款将图片批量压缩到不大于25kb并转base64码的小工具。

看看效果:

示例1:转化3105张图片(转换前图片大小不超过250k),不到1分钟:

418e6c0909a44ef57b7650def9ded20e.png

示例2:转化15张图片(最大尺寸为4.9M),22秒:

5e8dcf6633dcf35e8e8b02da55df856c.png

示例3:三种不同控件的展示效果如下(中文名我没在PQ里转码,所以名字显示乱码)

9b45fa40ef64ec03d616d3925358a047.png

使用说明:

第一步:文件解压进去后打开dist文件夹,然后打开Img2Base64.exe文件

10244dfc81764260c77ce374b0f14643.png

d21f2285112c7e78caf283bd566eafb9.png

第二步:几秒后,出现如下所示对话框,接着输入图片所在路径,然后按回车。下图以win系统为例说明:

1

83e1b9ce72c1639912e02327bbe47e66.png

2

9fa3f3fa73d924c6153bcc9a025ee106.png

3

b8964a4d84beeba2cfbef7afe5d150e0.png

第三步:若干秒后,对话框将自动退出。而在dist文件夹里会生成一个b64.csv文件。该文件有两列,一列是Names(图片名称),一列是Base64(即图片的Base64码)。导入PowerBI,按照上回所说的方式处理,即可呈现图片。

其他说明:

  1. 程序文件夹总大小约68M,运行文件约30M。
  2. 整个程序解压即可用,无需安装,不限放置位置(C,D,E,F盘都可以)。但文件夹内的builder和dist两个子文件夹及里面的程序,不要删除或也不要分开放置。
  3. 目标转化的文件夹里,只放图片,格式支持jpg、jpeg和png,其他图片格式可能会出问题。如果文件夹里有隐藏非图片文件如.temp等,会导致程序运行中断。
  4. 文件名、文件夹名称和图片路径,可以出现中文、空格之类的字符。
  5. 转化前建议做好图片备份,最好拷贝一份专供转化,以免图片损失或损坏。
  6. 程序获取方式:关注公众号,后台回复b64即可。

http://weixin.qq.com/r/Mzk9JZvEs8bMrd9G92wh (二维码自动识别)

预告:

下期,是这波PowerBI图片显示专题的完结篇。我们将一起来盘点那些显示图片的控件,同时推出一款图片批量压缩工具(可保持图片长宽尺寸不变),敬请期待。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好,base64图片图片文字是两个不同的功能,我需要确认您需要哪个功能的代码。 如果您需要实现base64图片,可以参考以下腾讯云函数和API网关的示例代码: ```python import base64 import os def main_handler(event, context): # 获取base64编码的图片数据 base64_data = event['body'] # 解码base64数据并保存为图片 img_data = base64.b64decode(base64_data) img_path = '/tmp/img.jpg' with open(img_path, 'wb') as f: f.write(img_data) # 将图片上传到腾讯云对象存储(示例代码) from qcloud_cos import CosConfig from qcloud_cos import CosS3Client secret_id = os.environ['SECRET_ID'] secret_key = os.environ['SECRET_KEY'] region = os.environ['REGION'] token = None config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token) client = CosS3Client(config) client.upload_file(Bucket='mybucket', LocalFilePath=img_path, Key='img.jpg') return {"statusCode": 200, "body": "success"} ``` API网关配置示例: - 请求协议:HTTP - 请求方法:POST - 集成类型:SCF(腾讯云函数) - 腾讯云函数名称:base64_to_image(示例代码的函数名) - 请求参数传递方式:字符串 如果您需要实现图片文字,可以使用OCR技术进行识别。以下是腾讯云OCR的示例代码: ```python import base64 import os from TencentCloudOCR import TencentCloudOCR def main_handler(event, context): # 获取图片URL img_url = event['body'] # 下载图片 import requests img_data = requests.get(img_url).content img_path = '/tmp/img.jpg' with open(img_path, 'wb') as f: f.write(img_data) # 调用腾讯云OCR接口 secret_id = os.environ['SECRET_ID'] secret_key = os.environ['SECRET_KEY'] region = os.environ['REGION'] ocr = TencentCloudOCR(secret_id, secret_key, region) result = ocr.general_ocr(img_path) return {"statusCode": 200, "body": result} ``` API网关配置示例: - 请求协议:HTTP - 请求方法:POST - 集成类型:SCF(腾讯云函数) - 腾讯云函数名称:image_to_text(示例代码的函数名) - 请求参数传递方式:字符串
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值