찾다
웹 프론트엔드H5 튜토리얼HTML5 Canvas를 사용한 멋진 큰 파도 진행 차트 효과의 예(데모 포함)

이 글에서는 HTML5 Canvas의 시원한 빅 웨이브 진행 차트 효과를 소개하고 있으며, 자세한 내용은 다음과 같습니다.

HTML5 Canvas를 사용한 멋진 큰 파도 진행 차트 효과의 예(데모 포함)

위 사진에서 볼 수 있듯이 이 글은 위의 효과를 얻으려면.

최근 AlloyTouch에서 풀다운 새로고침으로 멋진 로딩 효과를 작성해야 하기 때문입니다. 따라서 큰 파도 진행 차트가 선호됩니다.

우선 빅 웨이브 그림 진행 구성 요소를 캡슐화해야 합니다. 기본 원리는 Canvas를 사용하여 벡터 그래픽과 그림 자료를 그려 파도 효과를 합성하는 것입니다.

quadraticCurveTo 이해

quadraticCurveTo() 메서드는 2차 베지어 곡선을 나타내는 지정된 제어점을 사용하여 현재 경로에 점을 추가합니다.

JavaScript 구문:

context.quadraticCurveTo(cpx,cpy,x,y);



매개변수 값

베지어 제어점 좌표의 cpx x

cpy 베지어 제어점의 y 좌표

x 끝점의 x 좌표

y 끝점의 y 좌표

예를 들어 :

ctx.moveTo(20,20);
ctx.quadraticCurveTo(20,100,200,20);
ctx.stroke();



위 코드를 통해 2차 베지어 곡선을 그릴 수 있으며 구체적인 원리 효과는 아래 그림에서 확인할 수 있습니다.

HTML5 Canvas를 사용한 멋진 큰 파도 진행 차트 효과의 예(데모 포함)
파도를 그려보세요

var waveWidth = 300,
    offset = 0,
    waveHeight = 8,
    waveCount = 5,
    startX = -100,
    startY = 208,
    progress = 0,
    progressStep = 1,
    d2 = waveWidth / waveCount,
    d = d2 / 2,
    hd = d / 2,
    c = document.getElementById("myCanvas"),
    ctx = c.getContext("2d");

function tick() {
    offset -= 5;
    progress += progressStep;
    if (progress > 220 || progress < 0) progressStep *= -1;

    if (-1 * offset === d2) offset = 0;
    ctx.clearRect(0, 0, c.width, c.height);
    ctx.beginPath();
    var offsetY = startY - progress;
    ctx.moveTo(startX - offset, offsetY);

    for (var i = 0; i < waveCount; i++) {
        var dx = i * d2;
        var offsetX = dx + startX - offset;
        ctx.quadraticCurveTo(offsetX + hd, offsetY + waveHeight, offsetX + d, offsetY);
        ctx.quadraticCurveTo(offsetX + hd + d, offsetY - waveHeight, offsetX + d2, offsetY);
    }
    ctx.lineTo(startX + waveWidth, 300);
    ctx.lineTo(startX, 300);
    ctx.fill();

    requestAnimationFrame(tick);
}

tick();

무한하게 움직이는 파도를 볼 수 있습니다:



HTML5 Canvas를 사용한 멋진 큰 파도 진행 차트 효과의 예(데모 포함)여기서 필요한 것은 스윙 보정 이미지를 숨기기 위해 그리기 영역이 캔버스보다 크다는 것입니다. 위에서는 200200의 캔버스를 사용합니다.

코드를 복제해서 큰 캔버스에 그려보시면 이해가 되실 겁니다.

여기서는 if (-1 오프셋 === d2) 오프셋 = 0;을 통해 무한 루프를 구현합니다.

d2는 파고점 + 파고점의 길이입니다. 파봉 + 파동 최저점 이후에는 동일한 수명주기가 다시 시작되며 이는 0에서 시작하는 것과 같으므로 0으로 재설정할 수 있습니다.


globalCompositeOperation에 대해 알아보기
globalCompositeOperation 속성은 캔버스에 그려진 색상이 이미 캔버스에 있는 색상과 결합되는 방식을 설명합니다.

빅 웨이브 진행 차트 그리기는 다음을 사용합니다:


ctx.globalCompositeOperation = "destination-atop";

destination-atop 의미: 이미 캔버스에 있는 콘텐츠는 그 사이에만 있습니다. 그리고 새로운 그래픽 오버랩이 유지되는 곳. 새로운 도형은 내용 뒤에 그려집니다.

물론 globalCompositeOperation에는 여기에 나열되지 않은 많은 옵션이 있습니다. 멋진 오버레이 효과를 조정하기 위해 다른 속성을 설정해 볼 수도 있습니다.


전체 구현

var img = new Image();
function tick() {
    ...
    ...
    ctx.fill();
    ctx.globalCompositeOperation = "destination-atop";
    ctx.drawImage(img, 0, 0);
    requestAnimationFrame(tick);
}

img.onload = function () {
    tick();
};

img.src = "asset/alloy.png";

코드를 간단하고 직접적으로 만들기 위해 여기에 로더 코드가 있습니다. 새 이미지를 사용하여 이미지를 로드하도록 src를 설정하세요.

벡터 이미지를 그린 후 globalCompositeOperation을 설정한 다음 펭귄 이미지를 그립니다. 그리기 순서는 틀릴 수 없습니다.

드디어

예제 다운로드: 데모



위는 HTML5 Canvas 쿨 빅 웨이브 진행 차트 효과 예시(데모 포함)의 내용이며, 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 주목해주세요!

HTML5 Canvas를 사용한 멋진 큰 파도 진행 차트 효과의 예(데모 포함)
성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
H5 코드 : 웹 구조에 대한 초보자 안내서H5 코드 : 웹 구조에 대한 초보자 안내서May 08, 2025 am 12:15 AM

HTML5에서 웹 사이트를 구축하는 방법에는 다음이 포함됩니다. 1. 의미 태그를 사용하여 웹 페이지 구조를 정의하는 등; 2. 멀티미디어 컨텐츠, 사용 및 태그를 포함; 3. 양식 검증 및 로컬 스토리지와 같은 고급 기능을 적용하십시오. 이 단계를 통해 명확한 구조와 풍부한 기능을 갖춘 최신 웹 페이지를 만들 수 있습니다.

H5 코드 구조 : 가독성을위한 컨텐츠 구성H5 코드 구조 : 가독성을위한 컨텐츠 구성May 07, 2025 am 12:06 AM

합리적인 H5 코드 구조를 사용하면 페이지가 많은 컨텐츠 중에서 눈에 띄게 나타납니다. 1) 구조를 명확하게하기 위해 컨텐츠를 구성하려면 시맨틱 레이블 등을 사용하십시오. 2) Flexbox 또는 그리드와 같은 CSS 레이아웃을 통해 다른 장치에 대한 페이지의 렌더링 효과를 제어하십시오. 3) 반응 형 디자인을 구현하여 페이지가 다른 화면 크기에 맞게 조정되도록하십시오.

H5 대 구형 HTML 버전 : 비교H5 대 구형 HTML 버전 : 비교May 06, 2025 am 12:09 AM

HTML5 (H5)와 이전 버전의 HTML의 주요 차이점은 다음과 같습니다. 1) H5는 시맨틱 태그를 소개하고, 2) 멀티미디어 컨텐츠를 지원하며 3) 오프라인 스토리지 기능을 제공합니다. H5는 새로운 태그 및 API (예 : 및 태그)를 통해 웹 페이지의 기능과 표현성을 향상시켜 사용자 경험 및 SEO 효과를 향상 시키지만 호환성 문제에주의를 기울여야합니다.

H5 vs. HTML5 : 용어와 관계를 명확하게합니다H5 vs. HTML5 : 용어와 관계를 명확하게합니다May 05, 2025 am 12:02 AM

H5和HTML5的区别在于:1)HTML5是网页标准,定义结构和内容;2)H5是基于HTML5的移动网页应用,适用于快速开发和营销。

HTML5 기능 : H5의 핵심HTML5 기능 : H5의 핵심May 04, 2025 am 12:05 AM

HTML5의 핵심 기능에는 시맨틱 태그, 멀티미디어 지원, 양식 향상, 오프라인 스토리지 및 로컬 스토리지가 포함됩니다. 1. 코드 가독성 및 SEO 효과 향상과 같은 시맨틱 태그. 2. 멀티미디어 지원은 미디어 컨텐츠 및 태그를 포함하는 프로세스를 단순화합니다. 3. 양식 향상은 새로운 입력 유형 및 검증 특성을 도입하여 양식 개발을 단순화합니다. 4. 오프라인 스토리지 및 로컬 스토리지는 ApplicationCache 및 LocalStorage를 통해 웹 페이지 성능 및 사용자 경험을 향상시킵니다.

H5 : 최신 버전의 HTML 탐색H5 : 최신 버전의 HTML 탐색May 03, 2025 am 12:14 AM

html5isamajorrevisionof thehtml thatrevolutions webdevelopments and capabilitiess.1) itenhancescodereadabilitys 및 and .2) html5enablestriCher, Interactive Experiences, Withoutplugs를 허용합니다

기본 이외 : H5 코드의 고급 기술기본 이외 : H5 코드의 고급 기술May 02, 2025 am 12:03 AM

H5에 대한 고급 팁에는 다음이 포함됩니다. 1. 복잡한 그래픽 사용, 2. 웹 워크를 사용하여 성능 향상, 3. WebStorage, 4. 응답 디자인 구현, 5. WebRTC를 사용하여 실시간 커뮤니케이션을 달성하기 위해, 6. 성능 최적화 및 모범 사례를 수행하십시오. 이 팁은 개발자가보다 역동적이고 대화식 및 효율적인 웹 응용 프로그램을 구축 할 수 있도록 도와줍니다.

H5 : 웹 컨텐츠 및 디자인의 미래H5 : 웹 컨텐츠 및 디자인의 미래May 01, 2025 am 12:12 AM

H5 (HTML5)는 새로운 요소와 API를 통해 웹 컨텐츠와 디자인을 개선합니다. 1) H5는 시맨틱 태깅 및 멀티미디어 지원을 향상시킵니다. 2) 웹 디자인을 풍부하게하는 캔버스 및 SVG를 소개합니다. 3) H5는 새로운 태그와 API를 통해 HTML 기능을 확장하여 작동합니다. 4) 기본 사용에는이를 사용하여 그래픽 생성이 포함되며, 고급 사용량은 WebStorageapi와 관련이 있습니다. 5) 개발자는 브라우저 호환성 및 성능 최적화에주의를 기울여야합니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.