当前位置:网站首页>img转base64
img转base64
2022-08-10 17:39:00 【凡小多】
img转base64
一个简单的img地址转base64格式,并可以设置压缩比例以及图片格式
// 参数说明:图片地址(本地或者线上url)、处理后返回的base64内容、指定图片类型
function imgToBase64(url, outputFormat) {
return new Promise((resolve, reject) => {
const canvas = document.createElement('canvas');
const ctx = canvas.getContext('2d');
const img = new Image;
img.crossOrigin = 'Anonymous'; //解决Canvas.toDataURL 图片跨域问题
img.onload = () => {
let width = img.width;
let height = img.height;
// 压缩比例 -- 可以自己修改参数。500px宽度以下原尺寸,大于500px比例处理
let bili = Math.round(width / 500) || 1;
let rate = 1 / bili;
canvas.width = width * rate;
canvas.height = height * rate;
ctx.drawImage(img, 0, 0, width, height, 0, 0, width * rate, height * rate);
let dataURL = canvas.toDataURL(outputFormat || 'image/jpeg');
// 去除标头 -- 传递给后台时一般去除头部
// let reg = new RegExp('^data:image/[^;]+;base64,');
// dataURL = dataURL.replace(reg, '');
canvas = null;
resolve(dataURL);
}
img.src = url;
})
};
// 调用:
imgToBase64("https://img0.bdstatic.com/static/searchdetail/img/logo-2X_2dd9a28.png").then(res => console.log(res))
边栏推荐
- 本周四晚19:00知识赋能第六期第5课丨OpenHarmony WiFi子系统
- 全新接口——邻家好货 API
- requires ‘angle‘ attribute to be a multiple of 45
- Allegro软件Shape菜单下的每个命令的含义
- 文档标题能否支持公式
- ARM开发(三)ARM寻址方式,异常中断,异常向量表
- dedecms支持PowerPoint粘贴
- Talking about Taishan crowdfunding system development technical description and dapp chain crowdfunding system development analysis
- Toronto Research Chemicals BTK甜味剂配方丨D-Abequose
- 机器人控制器编程实践指导书旧版-实践六 LCD液晶显示(点阵)
猜你喜欢
随机推荐
Oracle Install [email protected] 7.6
兼具外观、性能、屏幕!华硕灵耀X 14火热抢购中
欧洲核子研究中心首次在量子机器学习研究中取得实效
aliexpress API 接入说明
Splitting and merging long markdown documents
DASCTF2022.07赋能赛 WEB题目复现
HDLBits: 在线学习 SystemVerilog(零)-在线“巡礼” HDLBits
R语言patchwork包将多个可视化结果组合起来、plot_annotation函数以及tag_level参数将组合图用大写字母进行顺序编码、为组合图的标签添加自定义后缀信息(suffix)
Before opening a futures account, you must confirm the handling fee as soon as possible
6月各手机银行活跃用户较快增长,创半年新高
机器人控制器编程实践指导书旧版-实践六 LCD液晶显示(点阵)
【2011】【论文笔记】用THz-TDS观察水树——
忍不住 - 发个新帖子【为什么把红圈的功能入口隐藏?需要移动到鼠标到位置驻停才显示?】- 请投票
全新接口——邻家好货 API
CAS客户端对接
Making Pre-trained Language Models Better Few-Shot Learners
Flexsim 发生器和暂存区设定临时实体流颜色和端口
文档标题能否支持公式
const的自己理解
Return the next higher prime number