Vrstva Vektorová Maskování

Přehled Vektorové Maskování Vrstvy

Vektorová maska je nezávislá na rozlišení cesty, která ořeže obsah vrstvy. Vektorové masky jsou obvykle přesnější než ty vytvořené s nástroji založenými na pixelech. Vytváříte vektorové masky pomocí nástrojů pero nebo tvary.

Aspose.PSD podporuje vykreslování a použití vektorových masek. Můžete upravovat vektorové masky úpravou Vektorových Cest.

Vektorová cesta v Aspose.PSD

Přístup k vektorovým cestám v Aspose.PSD je poskytován pomocí zdrojů VsmsResouce a VmskResouce, které jsou dětskými třídami zdroje VectorPathDataResource.

todo:image_alt_text

Jak upravit vektorovou cestu?

Struktura vektorové cesty

Základní struktura pro manipulaci s cestami je VectorPathRecord. Pro vaše pohodlí je však navrhováno následující řešení.

Pro snadné úpravy vektorových cest byste měli použít třídu VectorPath, která obsahuje metody pro pohodlnou úpravu vektorových dat v zdrojích odvozených z VectorPathDataResource.

Začněte s vytvořením objektu typu VectorPath.

Pro vaše pohodlí můžete použít statickou metodu VectorDataProvider.CreateVectorPathForLayer, ta najde vektorový zdroj ve vstupní vrstvě a vytvoří objekt VectorPath na jeho základě.

Po všech úpravách můžete aplikovat objekt VectorPath s provedenými změnami zpět na vrstvu pomocí statické metody VectorDataProvider.UpdateLayerFromVectorPath.

Typ VectorPath obsahuje seznam prvků PathShape a popisuje celý vektorový obraz, který může obsahovat jeden nebo více tvarů.

todo:image_alt_text

Každý tvar PathShape je vektorová figurka, která se skládá z samostatného souboru uzlů Beziér.

Uzly jsou objekty typu BezierKnot, což jsou v podstatě body, ze kterých je figura postavena.

todo:image_alt_text

Následující ukázkový kód ukazuje, jak přistupovat k figuře a bodům.

Jak vytvořit tvar?

Pro úpravu tvaru musíte získat existující tvar z VectorPath.Shapes seznamu nebo přidat nový tvar vytvořením instance PathShape a přidáním ho do seznamu Shapes.

Jak přidat uzly (body)?

Body tvaru můžete manipulovat jako prvků běžného seznamu pomocí vlastnosti PathShape.Points, například můžete přidat body tvaru:

BezierKnot obsahuje bod Kotvy a dva Řídící body.

todo:image_alt_text

Pokud mají kotva a řídící body stejné hodnoty, pak tento uzel bude mít ostrý úhel.

Chcete-li změnit pozici bodu kotvy spolu s řídícími body (stejně jako se to děje v Photoshopu), má BezierKnot metodu Shift.

Následující ukázkový kód demonstruje posunutí celého beziérova uzlu svisle nahoru podle souřadnice Y:

Body tvaru můžete manipulovat jako prvků běžného seznamu pomocí vlastnosti PathShape.Points, například můžete přidat body tvaru:

Vlastnosti PathShape

Editace PathShape není omezena pouze na úpravu uzlů, tento typ má také další vlastnosti.

Operace Cesty (Booleovské operace)

Vlastnost PathOperations je takzvaná booleovská operace, změna hodnoty definuje, jak jsou smíchány různé tvary.

Jsou zde následující možné hodnoty:

  • 0 = VyloučitPřekrývajícíSeTvary (operace XOR).
  • 1 = KombinovatTvary (operace OR).
  • 2 = OdečístPředníTvar (operace NOT).
  • 3 = PrůnikPlochTvary (operace AND).

todo:image_alt_text

Vlastnost IsClosed

Také pomocí vlastnosti PathShape.IsClosed můžeme určit, zda jsou první a poslední uzel tvaru propojeny.

Uzavřený tvar Otevřený tvar
todo:image_alt_text todo:image_alt_text

Vlastnost FillColor

Žádná figura nemůže mít svou vlastní barvu, takže můžete změnit barvu celého vektorového tvaru pomocí vlastnosti VectorPath.FillColor.

Body tvaru můžete manipulovat jako prvků běžného seznamu pomocí vlastnosti PathShape.Points, například můžete přidat body tvaru:

Zde naleznete zdrojový kód třídy VectorDataProvider a příslušných tříd: