sql Server 2008 R2復原或刪除數據庫時老是失足的處理辦法。本站提示廣大學習愛好者:(sql Server 2008 R2復原或刪除數據庫時老是失足的處理辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是sql Server 2008 R2復原或刪除數據庫時老是失足的處理辦法正文
SVG支撐的蒙板
SVG支撐多種蒙板殊效,應用這些特征,我們可以做出許多很炫的後果。至於中文中把mask叫做"蒙板"照樣"遮罩"就不去辨別了,這裡都叫做蒙板吧。
SVG支撐的蒙板類型:
1. 裁剪途徑(cliping path)
裁剪途徑是由path, text或許根本圖形構成的圖形。一切在裁剪途徑內的圖形都可見,一切在裁剪途徑外的圖形都弗成見。
2. 遮罩/蒙板(mask)
蒙板是一種容器,它界說了一組圖形並將它們作為半通明的序言,可以用來組合遠景對象和配景。
裁剪途徑和其他的蒙板一個主要的差別就是:裁剪途徑是1位蒙板,也就是說裁剪途徑籠罩的對象要末就是全通明(可見的,位於裁剪途徑外部),要末就是全不通明(弗成見,位於裁剪途徑內部)。而蒙板可以指定分歧地位的通明度。
視窗的裁剪途徑 - overflow和clip屬性
HTML元素的overflow屬性和clip屬性配合設置了該元素對內容的剪裁行動。異樣的,在SVG中,這2個屬性還可使用。
overflow = visible | hidden | scroll | auto | inherit
overflow屬性界說了當元素的內容跨越元素的邊框的時刻采用的行動。
這個屬性可以用於能創立新視窗的元素(svg,symbol,image,foreignObject),pattern和marker元素。這個屬性的取值寄義以下:
visible:顯示一切內容,即便是內容曾經在元素的邊框外邊,這個是默許值。
hidden:隱蔽超越裁剪途徑的內容。裁剪途徑由clip屬性指定。
scroll:采取轉動條的情勢,出現超越的內容。
auto:采取閱讀器界說的行動,這個仿佛不太靠得住。
這個屬性和CSS2中的同名屬性根本雷同,只不外在SVG中,有一些分歧的處置進程:
1.overflow屬性關於除創立新視窗的元素(svg,symbol,image,foreignObject),pattern和marker元素外的元素都沒有用果。
2.裁剪途徑與視窗是對應的,創立了新的視窗,就創立了新的裁剪途徑。默許的裁剪途徑就是視窗界限。
clip = <shape> | auto | inherit
clip屬性用於設置以後視窗的裁剪途徑。
這個屬性可以用於能創立新視窗的元素(svg,symbol,image,foreignObject),pattern和marker元素。這個屬性和CSS2中同名屬性有一樣的參數。auto代表裁剪途徑與視窗邊框是分歧的。當應用圖形作為參數時(設置裁剪矩形的top,right,bottom和left的值), 可使用用戶坐標值(即不帶單元的坐標)。例如:
P { clip: rect(5px, 10px, 10px, 5px); }
這裡留意,默許情形下(overflow和clip都取默許值),裁剪途徑是與視窗的邊框是分歧的。當設置了viewBox和preserveAspectRatio今後,平日也須要把clip裁剪途徑的四邊映照成viewBox的四邊,如許能力包管某些顯示後果照樣一樣的(固然假如都是默許值,就不消設了)。
對象的裁剪途徑 - clipPath元素
裁剪途徑應用clipPath元素界說,然後應用clip-path屬性援用。
clipPath可以包括path元素,text元素,根本的圖形元素(circle等)和use元素。假如是use元素,則它必需是直接援用path,text或許根本圖形元素,不克不及援用的是其他的元素。
留意裁剪途徑只是一名的遮罩層,該途徑是包括的一切的元素的並集。在這個聚集中的對象便可以顯示,不在這個規模內的對象就不顯示。詳細剖斷點在不在規模內的算法由"clip-rule"屬性指定。
關於圖形對象,裁剪途徑等於本身clip-path設置的裁剪途徑與一切外層元素的裁剪途徑(包含clip-path和overflow設置的裁剪途徑)的並集。留意幾點:
1.clipPath元素本身其實不會從外層節點繼續clipPath界說的裁剪途徑。
2.clipPath元素本身可以設置clip-path屬性。後果是兩個途徑的交集。
3.clipPath元素的子元素可以設置clip-path屬性:後果是兩個途徑的並集。
4.空裁剪途徑會裁失落元素內一切的內容。
上面看看幾種主要的屬性:
clipPathUnits = "userSpaceOnUse(默許值) | objectBoundingBox"
這個屬性界說了clipPath元素應用的坐標體系,這兩個值我們都很熟習了,分離是采取援用以後裁剪途徑的元素的用戶坐標體系和包抄盒比例值。
clipPath元素歷來不直接襯著,都是經由過程clip-path被援用,所以設置clipPath元素的display屬性沒有感化。
clip-path = “<url(#裁剪途徑名)> | none inherit”
這個屬性不消多說了,用於援用裁剪途徑,這裡須要留意的是,一切的容器元素,根本圖形元素和clipPath元素都可使用這個屬性。
clip-rule = "nonzero(默許值) | evenodd | inherit"
這個屬性用於肯定哪些點是屬於裁剪路勁外部的點。關於簡略的關閉圖形,這個很好剖斷,然則關於龐雜的外部有洞的圖形,就有差別了。這個屬性的取值與fill-rule的取值寄義是一樣的:
nonzero:這個值采取的算法是:從須要剖斷的點向隨意率性偏向發射線,然後盤算圖形與線段交點的處的走向;盤算成果從0開端,每有一個交點處的線段是從左到右的,就加1;每有一個交點處的線段是從右到左的,就減1;如許盤算完一切交點後,假如這個盤算的成果不等於0,則該點在圖形內,須要填充;假如該值等於0,則在圖形外,不須要填充。看上面的示例:
evenodd:這個值采取的算法是:從須要剖斷的點向隨意率性偏向發射線,然後盤算圖形與線段交點的個數,個數為奇數則改點在圖形內,須要填充;個數為偶數則點在圖形外,不須要填充。看下圖的示例:
clip-rule屬性只能用於clipPath元素的外部圖形元素。例以下面的設置是起感化的:
<g>
<clipPath id="MyClip">
<path d="..." clip-rule="evenodd" />
</clipPath>
<rect clip-path="url(#MyClip)" ... />
</g>
假如元素不在clipPath中是不起感化的。例以下面的設置是不起感化的:
<g clip-rule="nonzero">
<clipPath id="MyClip">
<path d="..." />
</clipPath>
<rect clip-path="url(#MyClip)" clip-rule="evenodd" ... />
</g>
最初看裁剪途徑的一個小例子:
<svg width="100px" height="100px">
<g>
<clipPath id="MyClip">
<path d="M 10,10 L 10,20 L 20,20 L 20,10 Z" clip-rule="evenodd" />
</clipPath>
</g>
<rect clip-path="url(#MyClip)" x="10" y="10" width="80" height="80" fill="Red" />
</svg>
矩形只要左上角10*10的區域是可見的。
蒙板- mask元素
在SVG中,你可認為襯著的對象指定任何的圖形元素或許g元素作為蒙板,來將襯著對象組合到配景中。
蒙板用mask元素界說,應用蒙板的時刻只須要在對象的mask屬性中援用蒙板便可以了。
mask元素可以包括任何的圖形元素和容器元素(例如g)。
蒙板的後果其實年夜家也比擬清晰,根本就是依據蒙板中每一個點的色彩和通明度盤算出一個終究的通明度,然後在襯著對象的時刻,在對象下面罩上這個帶有分歧通明度的蒙板層,表現出蒙板的遮擋後果。關於襯著對象來講,只要在蒙版內的部門會依照蒙板上點的通明度來襯著,不在蒙板內的部門不顯示。看上面的例子:
<svg width="8cm" height="3cm" viewBox="0 0 800 300" version="1.1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<linearGradient id="Gradient" gradientUnits="userSpaceOnUse"
x1="0" y1="0" x2="800" y2="0">
<stop offset="0" stop-color="white" stop-opacity="0" />
<stop offset="1" stop-color="white" stop-opacity="1" />
</linearGradient>
<mask id="Mask" maskUnits="userSpaceOnUse"
x="0" y="0" width="800" height="300">
<rect x="0" y="0" width="800" height="300" fill="url(#Gradient)" />
</mask>
<text id="Text" x="400" y="200"
font-family="Verdana" font-size="100" text-anchor="middle" >
Masked text
</text>
</defs>
<!-- 視窗的配景 -->
<rect x="0" y="0" width="800" height="300" fill="#FF8080" />
<!-- 第一步繪制一個帶有蒙板的Text,可以看到蒙板的通明度後果曾經運用到字上了.
第二步是繪制一個不帶蒙板的Text,來作為第一步Text的輪廓 -->
<use xlink:href="#Text" fill="blue" mask="url(#Mask)" />
<use xlink:href="#Text" fill="none" stroke="black" stroke-width="2" />
</svg>
後果以下圖所示:
年夜家可以試著將下面mask元素中的rect元素的width改成500,你會看到Text的一部門不顯示了,這就是由於那部門曾經超越蒙板的規模了。這裡其實也看到了,下面的裁剪途徑只不外是一種特別的蒙板(每一個點的通明度要末是0,要末是1)。
蒙板的界說和應用曾經引見了,上面看幾個主要的屬性:
maskUnits = "userSpaceOnUse | objectBoundingBox(默許值)"
界說了mask元素中坐標(x,y)和長度(width,height)的坐標體系:應用援用該蒙板的元素的用戶坐標系,或許是應用絕對於援用蒙板的元素的包抄盒的絕對值。這個值的寄義與後面章節中的單元寄義是雷同的。
maskContentUnits = "userSpaceOnUse(默許值) | objectBoundingBox"
界說了mask元素中子元素的坐標體系。
x, y, width, height
界說了蒙板的地位和年夜小,在默許的objectBoundingBox坐標下,默許值分離為-10%,-10%,120%,120%。
另外要留意:蒙板不會直接襯著,只會在援用的處所起感化,所以display,opacity等屬性關於mask元從來說都是不起感化的。
適用參考:
劇本索引:http://msdn.microsoft.com/zh-cn/library/ff971910(v=vs.85).aspx
開辟中間:https://developer.mozilla.org/en/SVG
熱點參考:http://www.chinasvg.com/
官方文檔:http://www.w3.org/TR/SVG11/