SVG裁剪和平移的順序

2021-07-24 09:26:13 字數 1453 閱讀 9027

svg 裡為元素新增 clip-path 屬性即可做出裁剪效果,新增 transfrom 屬性可以平移、旋轉元素。

根據需求不同,有兩種情況:

先裁剪元素,再把裁剪後的圖形平移

先平移元素,再按區域裁剪圖形

在實際元素的位置新增clip-path屬性,則是先裁剪。

id="myclip"

clip-rule="evenodd">

x="0"

y="0"

width="200"

height="200"/>

clippath>

defs>

clip-path="url(#myclip)"

x="100"

y="100"

width="300"

height="300"

fill="#994c00"

stroke="yellow"

stroke-width="10">

attributename="transform"

type="rotate"

begin="0s"

dur="8s"

fill="freeze"

from="0,100,100"

to="360,100,100"

repeatcount="indefinite"

calcmode="spline"

keysplines="1 0 0 1"/>

rect>

結果圖如下:

在實際繪製的元素外套一層g,給g加上clip-path。

clip-path="url(#myclip2)">

x="100"

y="100"

width="300"

height="300"

fill="#994c00"

stroke="yellow"

stroke-width="10">

attributename="transform"

type="rotate"

begin="0s"

dur="8s"

fill="freeze"

from="0,100,100"

to="360,100,100"

repeatcount="indefinite"

calcmode="spline"

keysplines="1 0 0 1"/>

rect>

g>

結果圖如下:

python處理svg 平移 旋轉 svg平移縮放

svg平移縮放,我剛開始嘗試的是自己處理外層容器的控制,結果發現能用,但是效果不太好,有拖尾現象,後來用個js庫svg pan zoom即可。如果想支援手機端手勢操作,需要先安裝hammer.js。html中有這樣乙個svg標籤 然後實現方法 查詢該id元素並呼叫svgpanzoom初始化,最後在頁...

SVG平移和旋轉

在svg中可以對所畫的形狀進行平移 translate 運動,下面是乙個平移的例子 在上面的例子中通過把矩形元素的transform屬性值設定為translate 75,25 使得原來的正方形 紅色 向右平移75畫素,向下平移25畫素,得到乙個新的正方形 藍色 在svg中也可以對所畫的形狀進行旋轉 ...

Qt QWidget實現手勢縮放和平移(一)

由於專案要求,需要在qwidget中實現乙個手勢操作的功能,對進行放大 縮小 平移功能,並且還需要支援通過滑鼠和鍵盤來實現該功能。其實這種功能在qgraphicsview中實現比較簡單,不過在qwidget中也能實現,本次通過qgestureevent來捕捉手勢操作,然後對進行縮放或者移動。廢話不多...