Vue.js에서 Base64로 인코딩 된 이미지 파일 출력
2023. 3. 30. 09:18ㆍProgramming
1. Canvas 사용방법
// 1. canvas 엘리먼트를 취득한다.
const canvas = document.getElementById('myCanvas');
// 2. 2d모드의 그리기 객체를 취득한다. => 이 객체를 통해 canvas에 그림을 그릴 수 있다.
const ctx = canvas.getContext("2d");
// 3. 이미지 객체 생성
const img = new Image();
// 4. 이미지 소스 설정
img.src = '../img/img_patrn.png';
// 5. 이미지 로드이벤트- 콜백함수 등록
img.onload = function(){
ctx.drawImage(img, x좌표, y좌표, 너비, 높이);
* 너비/높이는 옵션이며, 생략시 원본 크기대로 이미지를 띄운다.
// 이미지 그리기 ctx.drawImage(img, 100, 100);
}
2. Base 64 저장시 퀄리티 조절하기
// 최대 화질
canvas.toDataURL('image/jpeg', 1.0);
// 중간 화질
canvas.toDataURL('image/jpeg', 0.5);
// 낮은 화질
canvas.toDataURL('image/jpeg', 0.2);
3. 기본 소스코드
<template>
<div>
<img :src="decodedImage" alt="Decoded Image">
</div>
</template>
<script>
export default {
data() {
return {
encodedString: 'data:image/jpeg;base64, <디코딩할 base64 문자열>',
decodedImage: '', // 디코딩 결과를 저장할 변수
};
},
mounted() {
// 컴포넌트가 마운트된 후 실행
this.decodeImage(this.encodedString); // base64 이미지 디코딩 수행
},
methods: {
decodeImage(base64String) {
const img = new Image();
img.src = base64String;
img.setAttribute('crossOrigin', 'anonymous');
img.onload = () => {
const canvas = document.createElement('canvas');
canvas.width = img.width;
canvas.height = img.height;
canvas.getContext('2d').drawImage(img, 0, 0);
this.decodedImage = canvas.toDataURL('image/jpeg'); // 출력할 이미지 파일 형식 지정
};
},
},
};
</script>
<div>
<img :src="decodedImage" alt="Decoded Image">
</div>
</template>
<script>
export default {
data() {
return {
encodedString: 'data:image/jpeg;base64, <디코딩할 base64 문자열>',
decodedImage: '', // 디코딩 결과를 저장할 변수
};
},
mounted() {
// 컴포넌트가 마운트된 후 실행
this.decodeImage(this.encodedString); // base64 이미지 디코딩 수행
},
methods: {
decodeImage(base64String) {
const img = new Image();
img.src = base64String;
img.setAttribute('crossOrigin', 'anonymous');
img.onload = () => {
const canvas = document.createElement('canvas');
canvas.width = img.width;
canvas.height = img.height;
canvas.getContext('2d').drawImage(img, 0, 0);
this.decodedImage = canvas.toDataURL('image/jpeg'); // 출력할 이미지 파일 형식 지정
};
},
},
};
</script>
'Programming' 카테고리의 다른 글
JavaScript Array 이해, push(), pop(), sort(), splice() (0) | 2021.08.05 |
---|---|
Mysql 이모티콘 입력 가능 설정 (0) | 2021.04.27 |
JavaScrip로 ISO 8601을 지정시간으로 수정 (0) | 2021.04.26 |