HTML5 ~ Canvas로 간단한 그림 앱을 만들어 보았습니다.
링크☟
h tps : // Dochin s tar. 코 m / ぇそん s / 두오 d ぇ _ ゔ ぁ s
HTML과 jQuery를 어느 정도 알고 있으면 할 수 있으므로, 프로그래밍 초보자라도 간단하게 할 수 있어요!
꼭 시도해라.
#제작
목표물은 이런 느낌.
타이틀이나 텍스트 박스, 버튼의 작성 방법은 락틴이므로, 이번은 생략합니다.
#페인팅캔버스
우선, 그리는 캔버스를 준비합니다.
<canvas width="400" height="200" id="mycanvas"></canvas>
HTML5로 준비되어 있기 때문에 매우 편리합니다.#마우스 동작에 따른 변화 도입
다음으로, 각각의 동작을 도입.
변수의 도입 등은 맡깁니다.
*클릭시
$('#mycanvas').mousedown(function(e){
isDrawing=true;
startX=e.pageX - $(this).offset().left - borderWidth;
startY=e.pageY - $(this).offset().top - borderWidth;
})
* 마우스를 움직일 때
.mousemove(function(e){
// クリックを離したら処理を抜ける
if(!isDrawing) return;
x=e.pageX - $(this).offset().left - borderWidth;
y=e.pageY - $(this).offset().top - borderWidth;
// コンテクストを通じて描画
// 線の始まり
ctx.beginPath();
// 始点(startX,startY)まで移動
ctx.moveTo(startX,startY);
// (x,y)まで線を引く
ctx.lineTo(x,y);
ctx.stroke();
// 次の始点を(x,y)にする
startX=x;
startY=y;
})
* 클릭을 놓았을 때
.mouseup(function(){
isDrawing=false;
})
* 마우스가 캔버스에서 튀어 나올 때
.mouseleave(function(){
isDrawing=false;
});
*삭제 기능
$('#erase').click(function(){
if(!confirm('削除していいすか')) return;
// キャンバスの左上から右下を消す
ctx.clearRect(0,0,canvas.width,canvas.height);
});
#저장 기능 추가
여기까지 주면 거의 완성!
마지막으로 저장 기능을 켭니다.
$('#save').click(function(){
var img=$('<img>').attr({
width:100,
height:50,
src:canvas.toDataURL()
});
$('#gallery').append(img.addClass('thumbnail'));
// 画像をダウンロード
var link=$('<a>').attr({
href:canvas.toDataURL().replace('image/png','application/octet-stream'),
download:new Date().getTime() + '.png'
});
$('#gallery').append(link.append(img.addClass('thumbnail')));
// 保存したらキャンバスから削除
ctx.clearRect(0,0,canvas.width,canvas.height);
이것으로 목표물 완성입니다.
1시간 정도로 사사트할 수 있으므로 꼭.
Reference
이 문제에 관하여(HTML5 ~ Canvas로 간단한 그림 앱을 만들어 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kaiware7/items/06309fa7515efdee6f73텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)