HTML5 Canvas 기본 드로잉 예제 코드_html5 튜토리얼 기술 모음
풀어 주다: 2016-05-16 15:45:46
기본 드로잉
XML/HTML 코드클립보드에 콘텐츠 복사
- var 캔버스 = 문서.getElementById('canvas')
- if (canvas.getContext) {
-
var context = canvas.getContext('2d')
- // 선 너비
-
context.lineWidth = 4;
// 브러시 색상 -
-
context.StrokeStyle = '빨간색'
// 채우기 색상 -
-
context.fillStyle = "빨간색"
// 줄바꿈 유형 -
-
context.lineCap = '엉덩이' // 원형, 정사각형
// 시작 경로 -
context.beginPath() -
//시작점 -
context.moveTo(10,10) -
// 끝점 -
context.lineTo(150,50) -
// 그리기 -
context.Stroke() -
} -
직사각형
XML/HTML 코드
클립보드에 콘텐츠 복사
- var 캔버스 = 문서.getElementById('canvas')
if (canvas.getContext) { -
context.beginPath() -
context.StrokeRect(10,10,70,40) -
// 직사각형의 또 다른 방법 -
context.ract(10,10.70,40) -
context.Stroke() -
-
// 단색 직사각형 -
context.beginPath() -
context.fillRect(10,10,70,40) -
// 또 다른 방법은 실선 직사각형 -
context.beginPath() -
context.ract(10,10,70,40) -
context.fill() -
} -
라운드
XML/HTML 코드
클립보드에 콘텐츠 복사
- var 캔버스 = 문서.getElementById('canvas')
- if (canvas.getContext) {
- context.beginPath()
- // 원 중심 좌표 x, 원 중심 좌표 Y, 호 반경, 시작 각도, 끝 각도, 반시계 방향 여부
- // 네 번째와 다섯 번째 매개변수는 전달되는 라디안입니다. 30도의 각도를 그리면 라디안으로 변환해야 합니다. 30 * Math.PI / 180
- context.arc(100,100,70,0,130 * Math.PI / 180, true)
- context.Stroke()
- context.fill()
- }
둥근 모서리
XML/HTML 코드클립보드에 콘텐츠 복사
- var 캔버스 = 문서.getElementById('canvas')
- if (canvas.getContext) {
- context.beginPath()
- context.moveTo(20,20)
- context.lineTo(70,20)
- // 경로에 대한 호 p1.x p1.y p2.x, p2.y 호 반경 그리기
- context.arcTo(120,30,120,70, 50)
- context.lineTo(120,120)
- context.Stroke()
-
- // 캔버스 아트보드 지우기
- context.beginPath()
- context.fillRect(10,10,200,100)
-
- // 영역 지우기
- context.clearRect(30,30,50,50)
- }
2차 베지어 곡선
XML/HTML 코드클립보드에 콘텐츠 복사
- var 캔버스 = 문서.getElementById('canvas')
- if (canvas.getContext) {
- context.beginPath()
- context.moveTo(100,100)
- context.quadraticCurveTo(20,50,200,20)
- context.Stroke()
- }
3차 베지어 곡선
XML/HTML 코드클립보드에 콘텐츠 복사
- var 캔버스 = 문서.getElementById('canvas');
- if (canvas.getContext) {
- context.moveTo(68,130);
-
var cX1 = 20;
-
var cY1 = 10;
-
var cX2 = 268;
-
var cY2 = 10;
-
var endX = 268;
-
var endY = 170;
- context.bezierCurveTo(cX1, cY1, cX2, cY2, endX, endY);
- context.Stroke();
-
- // 利用clip指定绘图区域,指定绘图区域之后,只能在绘图区域中进行绘图擦欧总
- // 전통제형
- context.arc(100,100,40,0, 360 * Math.PI/ 180 , true);
- // 제조공장
- context.clip();
- // 开始尝试绘其他
- context.beginPath();
-
context.fillStyle = 'lightblue';
- // 结果矩형태의并没有显示出来
- context.fillRect(0,0,300,150);
- }
画板进阶使사용
XML/HTML 코드复复内容到剪贴板
- var 캔버스 = 문서.getElementById('canvas')
- if (canvas.getContext) {
-
var context = canvas.getContext('2d')
- /*
- * drawImage(image,dx,dy)
- * drawImage(image,dx,dy,dw,dh)
- * drawImage(image,sx,sy,sw,sh,dx,dy,dw,dh)
- * 이미지 그리기 개체
- * dx dy 캔버스 좌표
- * dw, dh는 그릴 캔버스 내 이미지의 위치를 나타냅니다
- * sw, sh는 그려지는 이미지의 영역을 나타냅니다
- * sx,sy 그릴 그림의 시작 위치
- */
-
var 이미지 = 문서.getElementById('img')
- context.drawImage(이미지, 0, 0)
-
var img = 새 이미지()
-
img.src = 'images/1.jpg';
-
img.onload = 함수(){
- // 이미지 그리기
- // 0,0 좌표부터 그리기 시작
- // context.drawImage(img,0,0)
- // 0, 0부터 시작해서 전체 그림을 가로, 세로 100,100으로 그린다
- // context.drawImage(img, 0, 0, 100, 100)
- // 스크린샷, 50,50부터 100,100까지 260,130부터 그려서 길이와 너비가 100,100인 영역에 배치합니다.
// context.drawImage(img, 50, 50, 100,100, 260, 130, 100, 100) -
- // getImageData 및 putImageData를 사용하여 그림 그리기
-
- context.drawImage(img, 10, 10)
- // 아트보드에서 픽셀 데이터 가져오기
- // 시작 위치, 끝 위치
- var
imgData- =
context-
.getImageData(50,50,100,100)
- // 드로잉보드의 지정된 위치 좌표에 데이터를 그립니다.
- context.putImageData(imgData,10,260)
- // 픽셀 데이터의 일부를 작업판에 그립니다.
- context.putImageData(imgData,200,260,50,50,100,100)
-
// createImageData 픽셀 생성 -
var -
imgData = context.getImageData(50,50,200,200)
// 지정된 크기의 빈 객체 생성 -
var -
imgData01 = context.createImageData(imgData)
- for (
i-
= 0; i < imgData01.width * imgData01.height * 4; i =4) {
// 빨간색 픽셀
- imgData01.data[i 0] = 255
- imgData01.data[i 1] = 0
- imgData01.data[i 2] = 0
- imgData01.data[i 3] = 255
-
- context.putImageData(imgData01, 10, 260)
- }
- }
-
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31