캔버스 이미지 다운로드

이것은 매우 유용합니다. 캔버스를 링크로 감싸고 캔버스를 변경할 때마다 캔버스의 href을 변경할 수 있습니다. 이 버튼을 클릭하면 이미지를 저장하라는 메시지가 표시됩니다. 다음 예제는 이 작업을 수행합니다. 캔버스의 HTML은: 일단 생성되면 사용자는 로고를 이미지로 저장할 수 있어야 합니다. 이 작업을 위한 가장 간단한 방법은 Firefox를 사용 하 여, 그것은 사용자가 마우스 오른쪽 단추로 클릭 하 고 PNG 이미지로 저장할 수 있습니다. 캔버스는 동적 이미지에 불과하지만 모든 브라우저가 이를 지원하는 것은 아닙니다. 캔버스 API는 초보적이지만 강력합니다. 사각형, 선, 호 및 그라데이션을 사용하여 캔버스에 페인트할 수 있습니다. 그것은 당신의 브러시와 사용 하는 채우기를 조작 하는 여러 가지 방법이 있다.

또한, 그것은 동적 좌표 계를 가지고, 이는 꽤 수수께끼를 처음 사용할 때. 일단 당신이 그것을 이해, 이것은 매우 강력한 기능, 하지만. 캔버스 요소는 HTML에서 이상한 요소입니다. 자바 스크립트 상호 작용없이 정확히 아무것도하지 않습니다. 따라서 마크업의 역할은 JS에 의존하는 기능에 대한 자리 표시자가 되는 것입니다. 물론 문서에 대체 콘텐츠를 제공할 수 있으므로 문서에 입력하는 것이 좋습니다. 하지만 캔버스를 확장할 수 없기 때문에 작동하지 않습니다. 크기를 정의해야 합니다. 확대 된 버전을 표시하기에 충분한 공간이있는 두 번째 캔버스가 필요합니다. 컬러 디스플레이 예제에서 이전과 마찬가지로 마우스 위치를 읽었습니다. 확대/축소 캔버스에서 원래 캔버스의 10×10 픽셀 자르기크기를 200×200으로 조정합니다. 다음 예제에서는 이 작업이 어떻게 수행되는지 보여 주며, 라이브 편집기에서는 조금 더 복잡하지만 별로 는 아닙니다.

전체 픽셀 배열을 변경하는 대신 선택한 색상의 픽셀을 캐시에 저장하고 다시 작성합니다. 이렇게 하면 한 번만 색상을 변경할 수 있습니다. 하드 와이어링 된 RGBA 값이 없기 때문에 팔레트 목록에 이벤트 처리기로 올바른 대체 색상을 검색합니다. 위의 예제 애니메이션을 보면 로고에 사용된 색상을 강조 표시합니다. 이는 이전 색상 분석 데모와 동일한 기능입니다. 다시 말하지만, 색상이 많은 큰 이미지로 이 작업을 수행하면 속도가 느려질 수 있으므로 작업자 스레드를 사용하는 것이 신중할 수 있습니다. 일반 JS, CSS 및 HTML을 사용하여 크리스 힐만에 의해 인터넷 중단 중에 작성되었습니다. GitHub에서 다운로드하십시오.

Psst… 가서 라이브 코드 데모가 작동하는 방식을 확인, 그것은 좀 멋진입니다. 캔버스 개체를 저장하는 다른 방법은 무엇입니까? 이제 이미지가 캔버스에 로드되고 처리준비가 완료됩니다. 우리가 그것을 내보내기 전에 이미지 위에 몇 가지 빨간 사진 필터를 넣어 보자 이것은 당신이 읽고 수정하고이 개체의 데이터 배열을 작성하여 캔버스에 페인트 할 수 있다는 것을 의미합니다. 직장에서 휴가를 보내는 동안, 나는 나의 오래된 열정 중 하나로 돌아갔다 : 코모도어 64에 물건을 픽셀화.