添加链接
注册
登录
link之家
链接快照平台
输入网页链接,自动生成快照
标签化管理网页链接
相关文章推荐
安静的李子
·
php ...
·
2 年前
·
绅士的灭火器
·
如何在python中使用正则表达式提取嵌套标 ...
·
2 年前
·
耍酷的大象
·
什么是128位密钥
·
2 年前
·
豁达的针织衫
·
jQuery年月日(年龄)选择插件 - 简书
·
2 年前
·
link之家
›
svg 转 png/jpg
svg
const
png
png转jpg
https://juejin.cn/post/6901667206887964686
急躁的伏特加
2 年前
const
origin = location.
host
;
return
url.
indexOf
(
'data:'
) !==
0
&& url.
indexOf
(origin) <
0
; *
@param
url url -> image
const
loadImage
= url => {
return
new
Promise
(
(
resolve, reject
) =>
{
const
img =
new
Image
();
if
(
isCrossOriginUrl
(url)) { img.
crossOrigin
=
'Anonymous'
; img.
onload
=
() =>
{
resolve
(img); img.
onerror
=
function
(
) {
const
msg =
'Image load error: '
+ url;
reject
(
new
Error
(msg)); img.
src
= url; * image元素 -> base64 Data *
@param
image image node
export
const
imageToPng
= (
image: HTMLImageElement
) => {
const
canvas =
document
.
createElement
(
'canvas'
);
const
ctx = canvas.
getContext
(
'2d'
); canvas.
width
= image.
width
; canvas.
height
= image.
height
; ctx.
drawImage
(image,
0
,
0
, image.
width
, image.
height
);
return
canvas.
toDataURL
(
'image/png'
); *
@param
xml svg 的xml内容
export
const
svgToPng
=
async
(
xml: string
) => {
const
base64 =
window
.
btoa
(
unescape
(
encodeURIComponent
(xml)));
const
image64 =
`data:image/svg+xml;base64,
${base64}
`
;
const
image =
await
loadImage
(image64);
return
imageToPng
(image); *
@param
读取文件内容
export
const
readFile
= (
file, dataType =
'DataURL'
) => {
return
new
Promise
(
(
resolve, reject
) =>
{
const
reader =
new
FileReader
();
const
fnName =
`readAs
${dataType}
`
;
if
(!reader[fnName]) {
throw
new
Error
(
'File read error, dataType not support'
); reader.
onerror
=
() =>
{
reject
(
new
Error
(
'File read error'
)); reader.
onload
=
() =>
{
resolve
(reader.
result
); reader[fnName](file);
export
const
svgFile2Png
= (
file
) => {
return
readFile
(file,
'Text'
).
then
(svgToPng)
复制代码
分类:
前端
标签:
SVG
安装掘金浏览器插件
多内容聚合浏览、多引擎快捷搜索、多工具便捷提效、多模式随心畅享,你想要的,这里都有!
前往安装
炒粉兼职写代码 前端工程师 @ 字节跳动
推荐文章
安静的李子
·
php 正则匹配单双引号,关于正则表达式:正则表达式可在单引号内转义双引号..._李宝拆李宝库的博客-CSDN博客
2 年前
绅士的灭火器
·
如何在python中使用正则表达式提取嵌套标签? - 知乎
2 年前
耍酷的大象
·
什么是128位密钥
2 年前
豁达的针织衫
·
jQuery年月日(年龄)选择插件 - 简书
2 年前