Ohraničení a stínování
Okraje a stínování
Formátování ohraničení a stínování v Aspose.Words FOSS pro .NET je modelováno dvěma souvisejícími třídami atributů: Border, která popisuje jedinou čáru ohraničení, a Shading, která popisuje vzor výplně pozadí. Odstavce, tabulky, buňky a písma každé vystavují BorderCollection (více Border stran) a jediný objekt Shading prostřednictvím svých příslušných formátovacích vlastností.
Práce s jednotlivými okraji
Objekt Border představuje jednu čáru ohraničení a vystavuje LineStyle (enum hodnota z LineStyle, např. Single, Double, Dot nebo Wave), LineWidth, Color, DistanceFromText, Shadow a tématem citlivé vlastnosti ThemeColor/TintAndShade. Zavolejte ClearFormatting() na Border, abyste jej resetovali na výchozí (žádné ohraničení) stav.
BorderCollection seskupuje více objektů Border pro strany objektu. Vystavuje pojmenované vlastnosti pro čtyři hrany — Left, Right, Top, Bottom — plus Horizontal a Vertical pro vnitřní okraje tabulky. Indexér BorderCollection získává konkrétní stranu pomocí enum hodnoty BorderType (Left, Right, Top, Bottom, Horizontal, Vertical, DiagonalDown, DiagonalUp nebo None) jako klíče. Nastavením LineWidth, LineStyle nebo Color přímo na kolekci se tato hodnota aplikuje najednou na všechna ohraničení, která kolekce obsahuje; ClearFormatting() vymaže všechna ohraničení v kolekci najednou.
Použití stínování
Shading nese vzor pozadí pro objekt: BackgroundPatternColor a ForegroundPatternColor definují dvě barvy vzoru a Texture (enum hodnota TextureIndex) vybírá vzor — pro plné výplně se používá TextureIndex.TextureSolid, zatímco procentuální a směrové vzory (Texture10Percent až Texture97Pt5Percent, TextureHorizontal, TextureDiagonalCross a další) reprodukují galerii stínování Wordu. ForegroundPatternThemeColor a BackgroundPatternThemeColor poskytují ekvivalenty barvy motivu, spolu s úpravou tónu/stínu pomocí ForegroundTintAndShade a BackgroundTintAndShade. ClearFormatting() resetuje objekt Shading na žádnou výplň.
Tipy a osvědčené postupy
- Nastavte
TexturenaTextureIndex.TextureSolida použijteBackgroundPatternColorpro jednoduché vyplnění pozadí — nejčastější případ stínování. - Použijte indexér
BorderCollection(borders[BorderType.Horizontal]/borders[BorderType.Vertical]) k dosažení vnitřních čar mřížky tabulky, které nejsou vystaveny jako pojmenované vlastnosti. - Nastavení vlastností přímo na
BorderCollection(namísto na jednotlivýLeft/Right/Top/BottomBorder) je nejrychlejší způsob, jak aplikovat jednotné okraje na všechny strany. - Pamatujte, že
LineStyle.Noneodstraňuje viditelnou čáru, aniž by vymazal zbytek nastavené šířky nebo barvy okraje — použijteClearFormatting()pro úplný reset. - Okraje buněk tabulky a odstavců jsou nezávislé instance
BorderCollection; nastavení jednoho neovlivní druhé.
Běžné problémy
| Problém | Příčina | Oprava |
|---|---|---|
Okraj není viditelný po nastavení Color | LineStyle zůstalo na LineStyle.None | Nastavte LineStyle na viditelný styl, například Single, před uložením |
| Stínování se zobrazuje jako plná výplň, když se očekával vzor | Texture ponecháno ve výchozím nastavení | Explicitně nastavte Texture na požadovanou konstantu vzoru |
| Vnitřní okraje tabulky nejsou ovlivněny změnami okrajových ohraničení | Horizontal/Vertical jsou oddělené od Left/Right/Top/Bottom | Nastavte BorderCollection.Horizontal a .Vertical explicitně |
Indexér BorderCollection vrací neočekávaný okraj | Předána špatná hodnota BorderType | Ověřte, že hodnota výčtu BorderType odpovídá zamýšlené straně |
FAQ
Jak mohu použít stejný okraj na všech čtyřech stranách buňky tabulky?
Nastavte LineStyle, LineWidth a Color přímo na BorderCollection buňky místo na každém z Left, Right, Top a Bottom samostatně — nastavení na úrovni kolekce se vztahuje na každý okraj, který obsahuje.
Jaký je rozdíl mezi Border a Shading?
Border popisuje čáru (styl, šířka, barva) nakreslenou podél hrany; Shading popisuje vzor výplně pozadí za obsahem. Jsou nezávislé — objekt může mít stínování bez okrajů, nebo okraje bez stínování.
Který výčet řídí vizuální vzor čáry okraje?
LineStyle, s hodnotami jako Single, Double, Dot, DashSmallGap a Wave.
Mohu okraj úplně odstranit?
Ano — zavolejte ClearFormatting() na Border nebo BorderCollection, nebo nastavte LineStyle na LineStyle.None.
API Reference Shrnutí
| Třída / Metoda | Popis: |
|---|---|
Border | Jedna čára okraje: styl, šířka, barva, stín |
BorderCollection | Množina okrajů (Left, Right, Top, Bottom, Horizontal, Vertical) pro objekt |
BorderType | Enum identifikující stranu okraje |
LineStyle | Enum vizuálních stylů čar (Single, Double, Dot, atd.) |
Shading | Výplň pozadí vzoru: barvy a Texture |
TextureIndex | Výčet textur vzorů stínování |