프런트엔드 이미지 canvas,file,blob,DataURL 등 형식 변환
파일을 base64로 변환
1 DOCTYPE html>
2 <html>
3 <head>
4 <title>basetitle>
5 head>
6 <body>
7 <input type="file" name="" id="file">
8 <img src="" id="img">
9 <script type="text/javascript">
10 window.onload = function () {
11 let $img = document.getElementById('img')
12 file.onchange = function (e) {
13 console.log(e.target.files[0])
14 let file = e.target.files[0]
15 let fileUrl = window.URL.createObjectURL(file)
16 $img.src = fileUrl
17 img.onload = function () {
18 //
19 URL.revokeObjectURL(fileUrl)
20 }
21 }
22 }
23 script>
24 body>
25 html>
그림을 선택하면 생성된imgsrc와 유사
"blob:null/4304d4f3-c13b-43e8-83f6-8c80426520ff"
하여 그림을 정상적으로 표시할 수 있습니다.DOCTYPE html>
<html>
<head>
<title>basetitle>
head>
<body>
<input type="file" name="" id="file">
<img src="" id="img">
<script type="text/javascript">
window.onload = function () {
let $img = document.getElementById('img')
file.onchange = function (e) {
console.log(e.target.files[0])
let file = e.target.files[0]
const fr = new FileReader(file)
fr.readAsDataURL(file)
fr.onload = function () {
$img.src = this.result
}
}
}
script>
body>
html>
img 라벨의 src는 다음과 같습니다.
"data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAA==
, 정상적으로 표시할 수 있습니다.canvas에서 DataURL로 전환
장면: 캔버스가 그린 그림은 html의 다른 곳에 표시됩니다.이 방법도 canvas를 Dataurl로 출력하여img 라벨에 넣을 수 있습니다.
let imgSrc = canvas.toDataURL('image/png')
// canvas.toDataURL('image/jpeg')
canvas가blob 대상으로 전환
장면:canvas가 생성한 그림을 어떻게 칠우운이나 서버에 업로드합니까?정답은 canvas를 Blob 대상으로 출력하는 것입니다. 그러면 File 대상처럼 그것을 조작할 수 있습니다.
canvas.toBlob(function (blobObj) {
console.log(blobObj)
})
canvas.toBlob name, quality 0~1
Blob 객체 표시 이미지
장면: 획득한 그림은 Blob 형식으로 html에 어떻게 표시됩니까?답은 Blob 객체를 DataUrl로 변환하는 것입니다.
canvas.toBlob(function (blobObj) {
let imgSrc = window.URL.createObjectURL(blobObj)
document.getElementById('img').src = imgSrc
})
DataURL로 표시된 이미지 다운로드
장면: html에서 DataURL 형식으로 표시된 그림을 로컬로 다운로드할 수 있습니까?답은 a 탭을 사용하고 다운로드 속성을 설정하고 아날로그 클릭을 하는 것입니다.
function downloadImg () {
let aLink = document.createElement('a')
aLink.download = 'fileName.png' // dataurl ,
aLink.href = dataUrl
aLink.click()
}
다음으로 전송:https://www.cnblogs.com/xkloveme/p/10967852.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.