웹 프론트엔드 H5 튜토리얼 SVG基础|SVG坐标系统和图形转换

SVG基础|SVG坐标系统和图形转换

May 17, 2016 am 09:07 AM
h

4.jpg

  SVG坐标系统

  坐标系统

  一个普通的笛卡尔坐标系统的坐标原点(0,0)位于左下角位置,X轴方向上向右是正值,向左是负值。Y轴方向上向上是正值,向下是负值。如下图所示:
2.jpg
  而SVG的坐标系统坐标原点位于左上角,X轴和笛卡尔坐标系的X轴相同,但是Y轴则刚好相反,如果SVG中点或图形数值增加时往下增长,而不是往上。如下图所示:
3.jpg
  SVG坐标系统的单位

  你可以指定在SVG坐标系统值1个单位代表什么。如果你没有明确的指定单位,将会使用像素(px)为单位。下面是SVG元素可以使用的单位:

  •   em:默认的字体大小,通常一个字符的高度
  •   ex:字符x的高度
  •   px:像素
  •   pt:点数,1/72英寸
  •   pc:Picas,1/6英寸
  •   cm:厘米
  •   mm:毫秒
  •   in:英寸

  SVG元素转换-TRANSFORM属性

  SVG元素可以被缩放,移动,倾斜和旋转,就像HTML元素可以使用CSS来转换一样。但是因为坐标系统不同,SVG和HTML元素的转换时有差别的。

  TRANSFORM属性

  transform用于在一个元素上指定一个或多个转换效果。它使用一系列预定义的值作为参数,并按先后顺序逐一应用到元素上。

  SVG可用的转换有:旋转,位移,倾斜和旋转。SVG的transform属性和CSS的transform相似,但是它们的参数不同。

  矩阵

  你可以在一个SVG元素上通过matrix()函数来应用一个或多个转换。矩阵转换的语法是:
复制代码
  上面的声明指定包含6个参数的矩阵变换。matrix(a,b,c,d,e,f)相当于matrix [a b c d e f]。
 
  位移

  要移动一个SVG元素,你可以使用translate()函数。位移的语法是:
  1. translate( [])   
复制代码

  translate()函数可以带一个或两个参数,分别用于表示水平或垂直的位移。

  ty参数是可选的,如果没有指定,它默认是0。tx和ty参数可以使用空格隔开,也可以使用逗号隔开,还有它们不需要使用单位。它们的单位使用的是用户坐标系统的单位。

  下面的例子将一个SVG元素向右移动100个用户单位,向下移动300个用户单位。
  1.   
复制代码
  上面的转换代码也可以写为:translate(100, 300),使用逗号隔开参数。

  缩放

  你可以使用scale()函数来缩放SVG元素。缩放的语法是:
  1. scale( [])      
复制代码

  scale()函数可以带一个或两个参数,分别表示水平或垂直方向上的缩放。

  sy参数是可选值,如果没有指定,它等于sx的值。sx和sy参数可以使用空格或逗号隔开。并且它们是无单位的数字。

  下面的例子将一个SVG元素放大到原来尺寸的2倍。
  1.                
复制代码

  下面的例子将SVG元素水平方向放大2倍,垂直方向缩小一半。
  1.          
复制代码

  同样,我们可以使用逗号来分隔scale()函数的参数,上面的代码可以写为:scale(2, .5)。

  这里要注意:当一个SVG元素被缩放的时候,整个当前坐标系统也会被同时缩放,导致元素会在viewport中被重新定位。

  倾斜

  一个SVG元素也可以被倾斜。要倾斜一个SVG元素,你需要使用skewX或skewY函数。语法如下:
  1. skewX()
  2. skewY()        
复制代码

  skewX函数指定元素绕X旋转,skewY函数指定元素绕Y轴旋转。

  旋转角度使用的是一个无单位的角度值,默认单位是度(degrees)。

  注意,元素倾斜也可能会是元素在viewport中重新定位。

  旋转

  你可以使用rotate()函数来旋转一个SVG元素。语法如下:
  1. rotate( [ ])   
复制代码

  rotate()函数通过rotate-angle来指定旋转角度。于CSS转换中的 rotation 不同,你不能为旋转角度指定单位,只能使用度(degrees)为单位。角度值使用的是无单位的数字,默认单位为:度。

  cx和cy为可选参数,用于代表旋转的中心点。如果没有提供cx和cy值,那么旋转的中心点位于当前用户坐标系统的原点。

  在rotate()函数中指定中心点就像在CSS中设置transform: rotate()和transform-origin的简写方式。由于SVG默认的旋转中心点位于当前用户坐标系统的左上角(坐标原点),你创建的旋转效果可能不是你需要的,这时你就需要指定一个新的旋转中心点。如果你知道元素的尺寸和位置,你就可以非常容易的为它指定一个旋转中心点。

  下面的例子在当前用户坐标系统中将一组SVG元素绕(50,50)中心点旋转45度。

  1.     ......
  2.    
复制代码
  在CSS中,你想让一个元素绕它的中心旋转,可以指定旋转中心点为50% 50%,但是在SVG rotate()中不可以这样做。你必须使用绝对坐标系统。

  本文版权属于jQuery之家,转载请注明出处:http://www.htmleaf.com/ziliaoku/ ... g/201506202075.html

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 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 옷 제거제

Video Face Swap

Video Face Swap

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

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

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

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

uniapp이 미니 프로그램과 H5 간의 빠른 전환을 달성하는 방법 uniapp이 미니 프로그램과 H5 간의 빠른 전환을 달성하는 방법 Oct 20, 2023 pm 02:12 PM

유니앱이 미니 프로그램과 H5 사이를 빠르게 전환하려면 구체적인 코드 예제가 필요합니다. 최근 모바일 인터넷의 발전과 스마트폰의 대중화로 인해 미니 프로그램과 H5는 필수 애플리케이션 형태가 되었습니다. 크로스 플랫폼 개발 프레임워크인 uniapp은 코드 세트를 기반으로 작은 프로그램과 H5 간의 변환을 신속하게 실현하여 개발 효율성을 크게 향상시킬 수 있습니다. 이 기사에서는 uniapp이 미니 프로그램과 H5 간의 신속한 변환을 달성하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. 유니앱 유니아 소개

win1121h2 또는 22h2 중 어느 버전이 더 안정적입니까? win1121h2 또는 22h2 중 어느 버전이 더 안정적입니까? Jan 04, 2024 am 08:53 AM

win1121h2와 22h2의 두 버전을 비교해 보면 후자의 22h2가 더 안정적이고, 이전 21h2에 비해 기능이 더 많이 개선된 점을 살펴보겠습니다. win1121h2와 22h2 중 어느 것이 더 안정적입니까? 답변: win1121h2와 22h2를 비교하면 22h2가 더 안정적입니다. 22h2에는 많은 기능이 추가되었고, 21h2의 문제점도 22h2에서는 개선되었습니다. 22h2 업데이트 기능: 시작 메뉴의 응용 프로그램 폴더. 시작 메뉴에서 조정 가능한 고정 영역. 작업 표시줄에 끌어다 놓습니다. Focus Assist는 알림 센터와 통합되어 있습니다. 새로운 "스포트라이트" 배경화면 기능. 새로운

win101909와 21h2 중 어느 것이 더 좋나요? win101909와 21h2 중 어느 것이 더 좋나요? Dec 26, 2023 pm 02:01 PM

Windows 101909는 현재 가장 안정적이고 신뢰할 수 있는 버전 중 하나로 간주됩니다. 그러나 안타깝게도 이 버전에 대한 서비스 지원이 최근 종료되었습니다. 21H2는 비교적 안정적인 버전입니다. 사실 실제 상황에서 보면 둘 다 매우 좋은 선택입니다. win101909와 21h2 중 어느 것이 더 낫습니까? 답변: 1909가 더 안정적이고 21h2가 더 안전합니다. 현재 환경에서 1909는 여전히 일반적으로 가장 안정적이고 신뢰할 수 있는 버전 중 하나로 간주됩니다. 그러나 Win101909 버전은 2021년 5월 11일부로 공식적으로 서비스가 중단되었습니다. WindowsServer21h2는 대다수의 사용자에게 보다 전문적인 IT 기능 지원을 제공하기 위해 최선을 다하고 있습니다. 1. 많은 사용자들의 실제 테스트를 거쳐,

win1123h2 또는 22h2 중 어느 것이 더 나은 선택입니까? win1123h2 또는 22h2 중 어느 것이 더 나은 선택입니까? Dec 28, 2023 pm 03:09 PM

Windows 11 시스템의 23h2 버전과 22h2 버전은 각각 2023년과 2022년에 출시될 예정입니다. 일반적으로 시스템 업데이트가 점점 좋아지고 있습니다. 편집자 역시 22h2 버전보다 23h2 버전이 더 좋다고 생각합니다. win1123h2와 22h2 중 어느 것이 더 낫습니까? 답변: win1123h2가 더 낫습니다. 보도에 따르면 win1123h2는 22h2에서 다음 버전까지의 누적 버전 업데이트이며, 모두 동일한 플랫폼이라고 합니다. 이는 두 버전 간에 호환성 문제가 없다는 것을 의미하며, 제때에 업데이트하는 것이 좋습니다. win1123h2 버전은 작업 표시줄 창 응용 프로그램의 병합 안 함 모드와 같은 많은 실용적인 기능을 제공합니다. 더있다

Win11 23H2 업데이트가 되지 않는 문제 해결 Win11 23H2 업데이트가 되지 않는 문제 해결 Jan 14, 2024 pm 09:24 PM

최근 Win11 23H2 버전을 모두 업데이트하고 싶어하지만 아직 업데이트 푸시 메시지를 받지 못한 사용자가 일부 있습니다. 백그라운드 업데이트 진행 중 프로세스가 멈춘 것일 수 있으며 잠시 후에는 괜찮을 것입니다. Win11 업데이트가 23H2를 가져오지 못한 경우 수행할 작업 방법 1: 인내심을 갖고 기다리십시오. 사용자가 컴퓨터의 업데이트 상태를 확인하고 중단된 것을 발견하면 잠시 기다리면 시스템이 계속 업데이트됩니다. 방법 2: 업데이트된 캐시를 삭제합니다. 사용자가 이전에 시스템을 업데이트하고 더 자세한 캐시를 삭제하지 않은 경우 23h2의 일반 업데이트에 영향을 미치게 됩니다. 수동으로 삭제할 수 있습니다. 방법 3: 이미지 설치 사용 Microsoft 공식 웹사이트로 이동하여 win1123h2 이미지 파일을 다운로드한 후 파일을 업데이트하는 것이 좋습니다.

Win11 22H2는 작업 표시줄 오류를 수정하고 작업 표시줄 끌어서 놓기 기능을 복원합니다. Win11 22H2는 작업 표시줄 오류를 수정하고 작업 표시줄 끌어서 놓기 기능을 복원합니다. Dec 24, 2023 am 11:05 AM

작업 표시줄은 이번에 Win11 시스템에서 많은 문제가 발생하는 원인이므로 Microsoft에서는 이를 최적화하여 수정하려고 합니다. 다음은 22H2에서 수정될 세부 Win11 작업 표시줄 오류입니다. 자세한 내용을 알아보십시오. Win11 작업 표시줄 오류는 22H2에서 수정될 예정이며 작업 표시줄 끌어서 놓기 기능이 다음과 같이 반환될 수 있습니다. 1. win11 시스템의 작업 표시줄에는 많은 사용자의 사용에 영향을 미치는 많은 문제와 버그가 있습니다. 다행히 이번에는 Microsoft가 관련 유지 관리를 수행할 것입니다. 새로운 시스템을 최적화하고 수정하여 작업 표시줄을 더욱 안정적으로 만듭니다. 2. 이전에는 작업 표시줄에 마우스를 놓으면 다른 위치에 팝업 창이 무작위로 표시되었습니다. 3. 그리고 작업표시줄 모서리에 있는 아이콘에 마우스를 올려놓으면 속도가 너무 빨라집니다.

Win101909를 20H2로 업데이트하는 방법 Win101909를 20H2로 업데이트하는 방법 Jan 05, 2024 pm 09:53 PM

이제 win101909 버전의 업데이트가 중단되었으므로 많은 사용자가 시스템 버전을 업데이트하고 싶지만 업데이트 방법을 모르고 있습니다. 사용자는 해당 업그레이드를 찾으려면 컴퓨터 설정만 입력하면 됩니다. win101909를 20h21로 업데이트하는 방법 컴퓨터 시작 버튼을 클릭한 다음 "설정"을 클릭합니다. 2. 그런 다음 "업데이트 및 보안"을 클릭합니다. 3. 여기에서 업데이트 확인을 찾습니다. 4. 그런 다음 해당 버전을 찾아 다운로드 및 설치를 클릭한 다음 기다립니다. 컴퓨터가 스스로 업데이트하는 것 그게 전부입니다.

Win10 20H2 미리보기 버전 19042.388 업데이트에 대한 자세한 설명 Win10 20H2 미리보기 버전 19042.388 업데이트에 대한 자세한 설명 Dec 26, 2023 pm 02:45 PM

얼마 전 Microsoft의 내부 테스터가 win10의 20h2 버전을 출시했습니다. 어떤 내용이 업데이트되었는지는 중요하지 않습니다. 아래에서 자세히 소개하겠습니다. win1020h2의 업데이트 내용: 1. PowerShell을 사용하여 ServerCore에서 시스템 로캘을 변경하지 못하는 문제를 수정했습니다. 2. 창 모드에서 전체 화면 창으로 전환하거나 크기를 조정하면 튜터 게임 애플리케이션에서 왜곡되는 문제를 수정했습니다. 3. lsass.exe가 장치를 강제로 다시 시작하지 못하는 문제를 수정했습니다. 4. 6월 8일 출시된 Windows 업데이트 패치 설치 후 그래픽이나 파일을 인쇄할 수 없는 문서 문제를 수정했습니다. 5

See all articles