מערכת.ציור בלינוקס

אם אי פעם הייתם צריכים להריץ את יישומי ה-.NET Core שלכם ב-Linux, אולי שמתם לב שאחת הבעיות העיקריות היא היעדר הרכבה System.Drawing בחבילת .NET Core הרגילה. למרות שמיקרוסופט ממליצה להשתמש ב-System.Drawing.Common, זה לא הפתרון האולטימטיבי. עליך להפעיל ‘sudo’ בכל מחשב משתמש כדי שתתקין את ספריית libgdiplus. וגם לאחר מכן, תוצאות הרינדור שלך יהיו מעט שונות מאלו שיש לך במחשבי Windows. על מנת להתמודד עם בעיה זו, מאמר זה מכסה כיצד להשתמש ב-System.Drawing בלינוקס ללא ספריית libgdiplus.

שימוש ב-System.Drawing על לינוקס

למרבה המזל, עכשיו יש לנו פתרון. להלן נדגים כיצד ה-.NET Graphics API שלנו, Aspose.Drawing for .NET, יכול לעזור לך להשתמש ב-System.Drawing בלינוקס. באמצעות Aspose.Drawing, אתה יכול להיפטר מספריות גרפיקה עם קוד מקורי ולגרום לתמונות שלך להיראות אותו הדבר בכל הפלטפורמות.

.NET Graphics API - קל להתקנה

עבור התקנת Aspose.Drawing על מחשב Linux היעד, אתה רק צריך להתקין את .NET Core. שים את Aspose.Drawing.dll בתיקיית הפרויקט שלך והפעל את התוכנית. זה הכל. כעת אתה יכול להשתמש בשיעורים במרחב השמות System.Drawing בדיוק כפי שאתה עושה זאת מיישומי .NET Framework שלך ב-Windows.

כדי לקבל Aspose.Drawing בינאריים, אנא הורד את הגרסה העדכנית ביותר מהאתר הרשמי. לחלופין, אתה יכול לכלול את ה-API ישירות בפרויקט שלך על ידי הפעלת הפקודה הבאה.

dotnet add package Aspose.Drawing

אין צורך ברכיבים נוספים. Aspose.Drawing עושה את כל הציור בעצמו מבלי להתייחס לכל ספרייה מקומית. לעולם לא תקבל הודעות כמו:

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

ואתה לא צריך לדאוג לגרסה של המערכת הגרפית המותקנת בפלטפורמה שלך.

אין בעיות פלטפורמה בלתי צפויות

עם System.Drawing.Common אתה יכול לקבל שגיאות בלתי צפויות ב-Linux בעת הפעלת קוד שהופעל בהצלחה ב-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 לא תלוי ב-libgdiplus, אז אתה תהיה חופשי מבעיות כאלה. יש לנו מנוע ציור מנוהל במלואו מה שאומר שאין לנו תלות בספריות גרפיקה מקוריות. לא תתקל עוד בשגיאות פלטפורמה בלתי מובנות ובהתנהגות בלתי צפויה של התוכנית שלך.

תוצאות עיבוד זהות

יתרון נוסף בשימוש ב-Aspose.Drawing הוא תוצאות עיבוד זהות בכל הפלטפורמות הנתמכות. אם אתה משתמש ב-System.Drawing.Common ב-.NET Core, תוצאות העיבוד שלך עשויות להיראות אחרת ב-Windows וב-Linux, עיין בדוגמה למטה.

מערכת.ציור על לינוקס וחלונות

עם Aspose.Drawing אתה יכול ליצור יישומים גרפיים חוצי פלטפורמות עבור Windows, Linux או Android ותמיד תקבל את אותן תוצאות רינדור בכל פלטפורמה. זה הושג על ידי יצירת מנוע רינדור דו-ממדי בלתי תלוי בפלטפורמה במקום להסתמך על ספריות גרפיות של צד שלישי.

מלבד פרימיטיבים גרפיים, עיבוד הגופנים זהה בכל הפלטפורמות. ולמרות שגופני המערכת ב-Linux שונים מ-Windows, אתה יכול להשתמש ב-PrivateFontCollection כדי לטעון סט גופנים משלך. דרך נוספת היא להתקין חבילה של גופנים של מיקרוסופט במערכת לינוקס ולקרוא לפונקציות עיבוד טקסט כרגיל.

נסה את Aspose.Drawing בחינם

Aspose.Drawing זמין ב-NuGet. אתה יכול גם להוריד קבצים בינאריים או את מתקין MSI. אתה יכול להשתמש בספריית Aspose.Drawing עם הגבלות או לבקש רישיון ניסיון חינם.

אז למה לא לנסות את זה היום?

סיכום

במאמר זה, ראית כמה קל להשתמש ב-System.Drawing בכל הפלטפורמות ללא כל תלות ולקבל את אותה תוצאה. תוכל ללמוד עוד על Aspose.Drawing ב-עמוד הרשמי. לכל שאלה, אנא השתמשו בפורום והישארו מעודכנים לפוסטים ומדריכים עתידיים.

ראה גם