Systém. Kreslení v Linuxu

Pokud jste někdy museli spouštět své aplikace .NET Core na Linuxu, možná jste si všimli, že jedním z hlavních problémů je chybějící sestavení System.Drawing ve standardním balíčku .NET Core. Přestože společnost Microsoft doporučuje používat System.Drawing.Common, není to konečné řešení. Chcete-li mít nainstalovanou knihovnu libgdiplus, musíte na každém uživatelském počítači spustit ‘sudo’. A i poté se budou vaše výsledky vykreslování mírně lišit od těch, které máte na počítačích se systémem Windows. Abychom se s tímto problémem vyrovnali, tento článek popisuje, jak používat System.Drawing v Linuxu bez knihovny libgdiplus.

Použití System.Drawing na Linuxu

Naštěstí teď máme řešení. Níže si ukážeme, jak vám naše .NET Graphics API, Aspose.Drawing for .NET, může pomoci používat System.Drawing v Linuxu. Pomocí Aspose.Drawing se můžete zbavit grafických knihoven s nativním kódem a nechat obrázky vypadat stejně na všech platformách.

.NET Graphics API – snadná instalace

Pro instalaci Aspose.Drawing na cílový počítač s Linuxem stačí mít nainstalované .NET Core. Vložte Aspose.Drawing.dll do složky projektu a spusťte program. To je vše. Nyní můžete používat třídy v jmenném prostoru System.Drawing stejně jako v aplikacích .NET Framework ve Windows.

Chcete-li získat binární soubory Aspose.Drawing, stáhněte si nejnovější verzi z oficiálních stránek. Alternativně můžete rozhraní API zahrnout přímo do projektu spuštěním následujícího příkazu.

dotnet add package Aspose.Drawing

Nejsou potřeba žádné další komponenty. Aspose.Drawing provádí veškeré kreslení sám bez odkazování na jakoukoli nativní knihovnu. Nikdy nebudete dostávat zprávy jako:

Unable to load DLL 'libgdiplus': The specified module could not be found.

A nemusíte se starat o verzi grafického systému nainstalovaného na vaší platformě.

Žádné nepředvídatelné problémy s platformou

S System.Drawing.Common můžete získat nepředvídatelné chyby v Linuxu při spouštění kódu, který byl úspěšně spuštěn ve Windows:

WARNING *: Path conversion requested 34759680 bytes (2480 x 3504). Maximum size is 8388608 bytes.
ERROR:region.c:1155:GdipCombineRegionPath: assertion failed: (region->bitmap)

Aspose.Drawing nezávisí na libgdiplus, takže budete bez takových problémů. Máme plně spravovaný kreslící engine, což znamená, že nejsme závislí na nativních grafických knihovnách. Již se nebudete setkávat s nepochopitelnými chybami platformy a nepředvídatelným chováním vašeho programu.

Identické výsledky vykreslování

Další výhodou použití Aspose.Drawing jsou stejné výsledky vykreslování na všech podporovaných platformách. Pokud používáte System.Drawing.Common v .NET Core, mohou vaše výsledky vykreslování vypadat jinak ve Windows a Linuxu, viz příklad níže.

System. Kreslení na Linuxu a Windows

S Aspose.Drawing můžete vytvářet multiplatformní grafické aplikace pro Windows, Linux nebo Android a vždy získáte stejné výsledky vykreslování na každé platformě. Toho bylo dosaženo vytvořením 2D renderovacího enginu nezávislého na platformě namísto spoléhání se na grafické knihovny třetích stran.

Kromě grafických primitiv je vykreslování písem stejné na všech platformách. A i když se systémová písma v Linuxu liší od Windows, můžete použít PrivateFontCollection k načtení vlastní sady písem. Dalším způsobem je nainstalovat balíček písem Microsoft do systému Linux a volat funkce vykreslování textu jako obvykle.

Vyzkoušejte Aspose.Drawing zdarma

Aspose.Drawing je k dispozici na NuGet. Můžete si také stáhnout binární soubory nebo instalační program MSI. Knihovnu Aspose.Drawing můžete používat s omezeními nebo požádat o bezplatnou zkušební licenci.

Tak proč to nezkusit dnes?

Závěr

V tomto článku jste viděli, jak snadné je používat System.Drawing na všech platformách bez jakýchkoli závislostí a získat stejný výsledek. Více o Aspose.Drawing se můžete dozvědět na oficiální stránce. V případě jakýchkoli dotazů použijte fórum a zůstaňte naladěni na budoucí příspěvky a průvodce.

Viz také