源代码,可以copy直接运行
JavaScript部分
웹 프론트엔드 JS 튜토리얼 SVG 기반 웹페이지 그래픽 드로잉 API 소개 및 프로그래밍 데모_자바스크립트 기술

SVG 기반 웹페이지 그래픽 드로잉 API 소개 및 프로그래밍 데모_자바스크립트 기술

May 16, 2016 pm 05:30 PM
svg 그래픽 드로잉

1: SVG란 무엇인가
SVG는 1999년 W3C에서 발표한 2D 그래픽 기술 언어입니다. 순전히 XML 형식을 기반으로 한 마크업 언어입니다. SVG의 전체 이름은 확장 가능한 벡터 그래픽입니다. 기존 래스터와는 그래픽 형식(JPG, PNG, GIF 등)에 큰 차이가 있습니다
. SVG는 두 부분으로 구성된 2D 그래픽 개발 플랫폼입니다. 하나는 XML 언어를 기반으로 한 데이터 설명이고 다른 부분은 프로그래밍 가능한 API입니다. 주요 기능은 그래픽, 텍스트, 그라데이션 채우기, 브러시 스타일, 그래픽
특수 효과를 지원합니다. Gaussian Blur와 같은 필터는 나중에 코드에서 설명됩니다. 다양한 마우스 이벤트와 DOM 부분
API도 지원합니다. 거의 모든 주류 브라우저는 SVG 그래픽 형식의 렌더링 및 렌더링을 지원합니다.
IE의 하위 버전에서는 플러그인 지원이 필요합니다.
SVG에 대해 자세히 알아보려면 여기를 방문하세요. http://www.w3.org/Graphics/SVG/About.html


2: JavaScript의 SVG API 프로그래밍 데모
SVG 개체 생성 및 가져오기

// svg 객체 생성
var mySvg = document.createElementNS("http://www.w3.org/2000/svg","svg")
mySvg.setAttribute("version","1.2"); // IE9는 SVG 1.1 버전을 지원합니다.
mySvg.setAttribute("baseProfile","tiny");
container.appendChild(mySvg);


SVG에서 직사각형 모양을 만듭니다. 🎜>


코드 복사 코드는 다음과 같습니다. var c1 = document.createElementNS("http: //www.w3.org /2000/svg","direct");
c1.setAttribute("x","20");
c1.setAttribute("y","20");
c1.setAttribute( "너비","150");
c1.setAttribute("높이","150")
c1.setAttribute("fill","rgb(0,0,255) ");
c1 .setAttribute("스트로크","rgb(0,0,0)");
c1.setAttribute("스트로크 폭","4");
mySvg.appendChild (c1);


SVG에서 텍스트 그리기 구현:


코드 복사 코드는 다음과 같습니다. : // SVG 그리기 텍스트
var stext = document.createElementNS("http://www.w3.org/2000/svg","text")
stext .setAttribute("x","700 ");
stext.setAttribute("y","100")
stext.setAttribute("font-size","18px"); .setAttribute("fill","# FF0000");
var textString = document.createTextNode("Hello SVG")
stext.appendChild(textString)
mySvg.appendChild(stext); 🎜>

SVG 개체에 대한 마우스 클릭 이벤트 처리 및 MouseUp 이벤트 처리 구현:



코드 복사
코드 // 마우스 이벤트 처리 c1.addEventListener("click",changeColor,false) c2.addEventListener("mouseup",changeColor,false);

SVG 그래픽 필터를 통해 가우시안 블러 구현:



코드 복사
코드는 다음과 같습니다.
원본 이미지


< feGaussianBlur in="SourceGraphic" stdDeviation="5" />
image x="0" y="0" width="325 " height="471" xlink:href="woniu.png" filter="url(#f1)"/>




실행 효과:


소스 코드를 직접 복사하여 실행할 수 있습니다.
JavaScript 부분


SVG 기반 웹페이지 그래픽 드로잉 API 소개 및 프로그래밍 데모_자바스크립트 기술코드 복사


코드는 다음과 같습니다.

window.onload = function() {
// DIV 가져오기
var 컨테이너 = document.getElementById("svgContainer");
// svg 객체 생성
var mySvg = document.createElementNS("http://www.w3.org/2000/svg", "svg");
mySvg.setAttribute("version", "1.2");// IE9는 SVG 1.1 버전을 지원합니다.
mySvg.setAttribute("baseProfile", "tiny");
container.appendChild(mySvg);

// svg 모양 만들기 - 직사각형
var c1 = document.createElementNS("http://www.w3.org/2000/svg", "ret");
c1.setAttribute("x", "20");
c1.setAttribute("y", "20");
c1.setAttribute("너비", "150");
c1.setAttribute("높이", "150");
c1.setAttribute("fill", "rgb(0,0,255)");
c1.setAttribute("스트로크", "rgb(0,0,0)");
c1.setAttribute("획 너비", "4");
mySvg.appendChild(c1);

// svg 모양 만들기 - 원
var c2 = document.createElementNS("http://www.w3.org/2000/svg", "circle");
c2.setAttribute("cx", "250");
c2.setAttribute("cy", "100");
c2.setAttribute("r", "60");
c2.setAttribute("fill", "#996699");
c2.setAttribute("스트로크", "#AA99FF");
c2.setAttribute("획 너비", "7");
mySvg.appendChild(c2);

// svg 모양 만들기 - 타원
var c3 = document.createElementNS("http://www.w3.org/2000/svg", "ellipse");
c3.setAttribute("cx", "450");
c3.setAttribute("cy", "100");
c3.setAttribute("rx", "100");
c3.setAttribute("ry", "50");
c3.setAttribute("fill", "#FF0000");
c3.setAttribute("스트로크", "보라색");
c3.setAttribute("획 너비", "3");
mySvg.appendChild(c3);

// svg 모양 만들기 - 선 그리기
for(var i=0; i<10; i )
{
var sline = document.createElementNS("http://www .w3.org/2000/svg", "라인");
var x1 = 580 i*10;
console.log(x1);

sline.setAttribute("x1", x1.toString());
sline.setAttribute("y1", "10");
sline.setAttribute("x2", x1.toString());
sline.setAttribute("y2", "180");
sline.setAttribute("스트로크", "rgb(0,255,0)");
sline.setAttribute("획 너비", "2");
mySvg.appendChild(sline);
}

// SVG 그리기 텍스트
var stext = document.createElementNS("http://www.w3.org/2000/svg", "text");
stext.setAttribute("x", "700");
stext.setAttribute("y", "100");
stext.setAttribute("글꼴 크기", "18px");
stext.setAttribute("fill", "#FF0000");
var textString = document.createTextNode("Hello SVG");
stext.appendChild(textString);
mySvg.appendChild(stext);

// 마우스 이벤트 처리
c1.addEventListener("click",changeColor, false);
c2.addEventListener("mouseup",changeColor, false);
};
functionchangeColor(evt) {
var target = evt.target;
target.setAttributeNS(null, "fill", "green");
}

HTML 부분:
复代码 代码如下:


<머리>
Gloomyfish SVG 데모
<스타일>
#svgContainer {
너비:800px;
높이:200px;
배경색:#EEEEEE;
}
#left { float: left;}
#right { float: right;}


<본문>


원본 이미지





본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 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 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

SVG를 사용하여 이미지 모자이크 효과를 얻는 방법에 대해 이야기해 보겠습니다. SVG를 사용하여 이미지 모자이크 효과를 얻는 방법에 대해 이야기해 보겠습니다. Sep 01, 2022 am 11:05 AM

Javascript를 사용하지 않고 SVG를 사용하여 이미지 모자이크 효과를 얻는 방법은 무엇입니까? 다음 기사는 귀하에게 자세한 이해를 제공할 것이며, 귀하에게 도움이 되기를 바랍니다!

svg를 jpg 형식으로 변환하는 방법 svg를 jpg 형식으로 변환하는 방법 Nov 24, 2023 am 09:50 AM

svg는 이미지 처리 소프트웨어, 온라인 변환 도구, Python 이미지 처리 라이브러리를 사용하여 jpg 형식으로 변환할 수 있습니다. 자세한 소개: 1. 이미지 처리 소프트웨어에는 Adobe Illustrator, Inkscape 및 GIMP가 포함됩니다. 2. 온라인 변환 도구에는 CloudConvert, Zamzar, Online Convert 등이 포함됩니다. 3. Python 이미지 처리 라이브러리 등

vue3+vite에서 svg 아이콘을 사용하는 방법에 대한 심층 분석 vue3+vite에서 svg 아이콘을 사용하는 방법에 대한 심층 분석 Apr 28, 2022 am 10:48 AM

svg 이미지는 프로젝트에서 널리 사용됩니다. 다음 기사에서는 vue3 + vite에서 svg 아이콘을 사용하는 방법을 소개하겠습니다.

VUE3 입문 튜토리얼: Vue.js 플러그인을 사용하여 SVG로 플레이 VUE3 입문 튜토리얼: Vue.js 플러그인을 사용하여 SVG로 플레이 Jun 16, 2023 am 09:48 AM

최신 웹 프런트 엔드 개발이 지속적으로 발전함에 따라 실제 개발에 점점 더 많은 기술이 널리 사용됩니다. 그중 Vue.js는 현재 가장 널리 사용되는 JavaScript 프레임워크 중 하나입니다. MVVM 모델을 기반으로 하며 풍부한 API와 구성 요소 라이브러리를 제공하므로 반응성이 뛰어나고 재사용 가능하며 효율적인 웹 애플리케이션을 보다 쉽게 ​​개발할 수 있습니다. Vue.js3의 최신 버전은 이전 버전보다 더 나은 성능과 풍부한 기능을 갖추고 있어 광범위한 관심과 연구를 불러일으켰습니다. 이 기사에서는 다음을 소개합니다.

그래픽 그리기 도구 - matplotlib 설치 튜토리얼 그래픽 그리기 도구 - matplotlib 설치 튜토리얼 Jan 09, 2024 pm 05:22 PM

그래픽 그리기 도구 - matplotlib 설치 튜토리얼 1. 소개 matplotlib는 선 차트, 산점도, 막대 차트, 원형 차트 등을 포함한 다양한 유형의 그래픽을 생성하는 데 사용되는 강력한 Python 그리기 라이브러리입니다. 설치는 매우 간단하고 편리합니다. 이 기사에서는 matplotlib 설치 방법을 소개하고 구체적인 코드 예제를 제공합니다. 2. matplotlib를 설치하고 Python을 설치합니다. 먼저 Python이 컴퓨터에 설치되어 있는지 확인하세요. Python 공식 웹사이트(

파비콘에 로고를 추가하기 위해 SVG를 사용하는 방법에 대한 자세한 설명 파비콘에 로고를 추가하기 위해 SVG를 사용하는 방법에 대한 자세한 설명 Sep 07, 2022 am 10:30 AM

SVG를 사용하여 파비콘에 로고를 추가하는 방법은 무엇입니까? 다음 기사에서는 SVG를 사용하여 로고가 포함된 파비콘을 생성하는 방법을 소개합니다. 도움이 되길 바랍니다.

vue3+vite2에서 svg 메서드를 사용하는 방법 vue3+vite2에서 svg 메서드를 사용하는 방법 May 11, 2023 pm 05:55 PM

1. vite-plugin-svg-icons를 설치합니다. fast-glob 관련 종속성도 설치해야 합니다. 그렇지 않으면 vite가 npmrundev를 실행할 때 Cannotfindmodule'fast-glob' 오류 npmifast-glob@3.x-Dnpmivite-를 보고합니다. 플러그인-svg.-icons@2.x-D 2. src/comComponents/svgIcon 아래에 새 구성요소 index.vueimport{computed}from'vue';cons를 생성합니다.

vue3+vue-cli4에서 svg를 사용하는 방법 vue3+vue-cli4에서 svg를 사용하는 방법 May 11, 2023 pm 05:58 PM

一、安装svg-sprite-loadernpminstallsvg-sprite-loader--save-dev 2、src/comComponents/svgIcon下新建组件index.vueimport{computed}from"@vue/reactivity";exportdefault{name:"baseSvgIcon", props:{iconClass:{type:String},className:{type:String},},setup

See all articles