반응형
캔버스에 이미지를 추가하는 방법
HTML의 새로운 캔버스 요소로 약간 실험하고 있습니다.
캔버스에 이미지를 추가하고 싶지만 어떤 이유로 작동하지 않습니다.
다음 코드가 있습니다.
HTML
<canvas id="viewport"></canvas>
CSS
canvas#viewport { border: 1px solid white; width: 900px; }
JS
var canvas = document.getElementById('viewport'),
context = canvas.getContext('2d');
make_base();
function make_base()
{
base_image = new Image();
base_image.src = 'img/base.png';
context.drawImage(base_image, 100, 100);
}
이미지가 존재하고 JavaScript 오류가 발생하지 않습니다. 이미지가 표시되지 않습니다.
내가 놓친 정말 간단한 것 같군요 ...
그리기 전에 이미지가로드 될 때까지 기다려야 할 수도 있습니다. 대신 이것을 시도하십시오.
var canvas = document.getElementById('viewport'),
context = canvas.getContext('2d');
make_base();
function make_base()
{
base_image = new Image();
base_image.src = 'img/base.png';
base_image.onload = function(){
context.drawImage(base_image, 0, 0);
}
}
즉, 이미지의 onload 콜백에 이미지를 그립니다.
다음은 캔버스에 이미지를 그리는 샘플 코드입니다.
$("#selectedImage").change(function(e) {
var URL = window.URL;
var url = URL.createObjectURL(e.target.files[0]);
img.src = url;
img.onload = function() {
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.drawImage(img, 0, 0, 500, 500);
}});
위의 코드에서 selectedImage는 시스템에서 이미지를 탐색하는 데 사용할 수있는 입력 컨트롤입니다. 가로 세로 비율을 유지하면서 캔버스에 이미지를 그리는 샘플 코드에 대한 자세한 내용은 다음을 참조하세요.
http://newapputil.blogspot.in/2016/09/show-image-on-canvas-html5.html
In my case, I was mistaken the function parameters, which are:
context.drawImage(image, left, top);
context.drawImage(image, left, top, width, height);
If you expect them to be
context.drawImage(image, width, height);
you will place the image just outside the canvas with the same effects as described in the question.
참고URL : https://stackoverflow.com/questions/6011378/how-to-add-image-to-canvas
반응형
'programing' 카테고리의 다른 글
파이썬에서 빈 세트에 항목을 어떻게 추가 할 수 있습니까? (0) | 2020.08.28 |
---|---|
가장 최근 날짜로 행을 선택하는 SQL (0) | 2020.08.28 |
gitignore를 사용하여 파일 무시 (삭제는 아님) (0) | 2020.08.28 |
flex : 1은 무엇을 의미합니까? (0) | 2020.08.28 |
BOOL의 기본값 (0) | 2020.08.28 |