ایجاد تصاویر واقعی چالش برانگیز است زیرا به ترکیب مناسب رنگ ها، بافت ها و ضخامت خطوط نیاز دارد. نام مستعار مشکلی است که هنگام ایجاد تصاویر مربوط به گرافیک کامپیوتری رخ می دهد. برای ایجاد تصاویر واقع گرایانه، باید آنتی آلیاسینگ را انجام دهیم تا خطوط ناهموار را صاف کنیم. Antialiasing تکنیکی است که باعث می شود گرافیک روی صفحه نمایش شما روان تر به نظر برسد. این یک الگوریتم را برای لبه های یک جسم اعمال می کند تا آنها را صاف تر و کمتر ناهموار کند. بسته به نوع هنری که با آن کار می کنید، انواع مختلفی از تکنیک های ضد آلیاسینگ وجود دارد که می توان از آنها استفاده کرد. نام مستعار زمانی اتفاق می افتد که کنتراست بالایی بین پیکسل های مجاور وجود داشته باشد. این می تواند باعث ایجاد خطوط ناهموار و منحنی پله در محل برخورد یا عبور خطوط شود. این مقاله در مورد antialiasing در گرافیک کامپیوتری با استفاده از سی شارپ است. ما یاد خواهیم گرفت که چگونه از Anti-aliasing با خطوط، منحنی ها و متن در سی شارپ استفاده کنیم.
در این مقاله به موضوعات زیر پرداخته خواهد شد:
C# Computer Graphics Antialiasing API - دانلود رایگان
برای پیاده سازی antialiasing در سی شارپ، از API Aspose.Drawing for .NET استفاده خواهیم کرد. این کتابخانه گرافیکی دوبعدی کراس پلتفرم به شما امکان می دهد متن، هندسه و تصاویر را به صورت برنامه نویسی بکشید. علاوه بر این، می توانید [فرمت های فایل پشتیبانی شده] را بارگیری، ذخیره و دستکاری کنید.
لطفاً یا DLL API را دانلود کنید یا آن را با استفاده از NuGet نصب کنید.
PM> Install-Package Aspose.Drawing
آنتیالیاسینگ با خطوط و منحنی ها در سی شارپ
با دنبال کردن مراحل زیر می توانیم به راحتی خطوط و منحنی ها را با antialiasing در سی شارپ رسم کنیم:
- ابتدا یک نمونه از کلاس Bitmap ایجاد کنید.
- سپس شی کلاس Graphics را با استفاده از متد Graphics.FromImage با شی Bitmap ایجاد کنید.
- سپس، حالت صاف کردن را روی AntiAlias قرار دهید.
- در همین حال، یک شی کلاس Pen را با رنگ و اندازه مشخص شده مقداردهی اولیه کنید.
- پس از آن با استفاده از روش های مربوطه، خط، منحنی یا سایر اشیاء مورد نظر را رسم کنید.
- در نهایت متد Save() را فراخوانی کنید تا تصویر خروجی در مسیر تصویر مشخص شده ذخیره شود.
نمونه کد زیر نحوه پیاده سازی antialiasing با خطوط و منحنی ها در سی شارپ را نشان می دهد.
// این مثال کد نحوه پیاده سازی antialiasing را با خطوط و منحنی ها نشان می دهد.
// بیت مپ ایجاد کنید
Bitmap bitmap = new Bitmap(500, 500, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
// شی Graphics را مقداردهی اولیه کنید
Graphics graphics = Graphics.FromImage(bitmap);
// حالت smoothin را تنظیم کنید
graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
graphics.Clear(Color.White);
// یک قلم را مقدار دهی اولیه کنید
Pen pen = new Pen(Color.Black, 5);
// یک بیضی بکشید
graphics.DrawEllipse(pen, 10, 10, 980, 780);
// یک منحنی رسم کنید
graphics.DrawCurve(pen, new Point[] { new Point(10, 700), new Point(250, 500), new Point(500, 10), new Point(750, 500), new Point(990, 700) });
// یک خط بکش
graphics.DrawLine(pen, 20, 20, 980, 780);
// تصویر را ذخیره کنید
bitmap.Save("C:\\Files\\Antialiasing.png");
Antialiasing با متن در سی شارپ
به طور مشابه، با دنبال کردن مراحل زیر میتوانیم از antialiasing با متن در سی شارپ استفاده کنیم:
- ابتدا یک نمونه از کلاس Bitmap ایجاد کنید.
- سپس شی کلاس Graphics را با استفاده از متد Graphics.FromImage با شی Bitmap ایجاد کنید.
- سپس، یک شی کلاس Brush را با رنگ مشخص شده مقداردهی اولیه کنید.
- در همین حال، TextRenderingHint را روی AntiAlias قرار دهید.
- پس از آن متن را با استفاده از متد DrawString() بنویسید.
- در نهایت متد Save() را فراخوانی کنید تا تصویر خروجی در مسیر تصویر مشخص شده ذخیره شود.
نمونه کد زیر نحوه پیاده سازی antialiasing با متن در سی شارپ را نشان می دهد.
// این مثال کد نحوه پیاده سازی antialiasing را با خطوط و منحنی ها نشان می دهد.
// بیت مپ ایجاد کنید
Bitmap bitmap = new Bitmap(500, 500, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
// شی Graphics را مقداردهی اولیه کنید
Graphics graphics = Graphics.FromImage(bitmap);
// حالت smoothin را تنظیم کنید
graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
graphics.Clear(Color.White);
// خانواده فونت را تعریف کنید
FontFamily fontFamily = new FontFamily("Arial");
// فونت را تعریف کنید
Font font = new Font(fontFamily, 30, FontStyle.Regular, GraphicsUnit.Pixel);
// یک برس جامد را اولیه کنید
SolidBrush solidBrush = new SolidBrush(Color.FromArgb(255, 0, 0, 255));
// یک رشته با اشاره رندر متن به صورت SingleBitPerPixel بکشید
graphics.TextRenderingHint = TextRenderingHint.SingleBitPerPixel;
graphics.DrawString("This is Single Bit Per Pixel String!", font, solidBrush, new PointF(10, 10));
// یک رشته با اشاره رندر متن به عنوان AntiAlias بکشید
graphics.TextRenderingHint = TextRenderingHint.AntiAlias;
graphics.DrawString("This is Anti Alias String!", font, solidBrush, new PointF(10, 60));
// تصویر را ذخیره کنید
bitmap.Save("C:\\Files\\AntialiasingText.png");
مجوز موقت رایگان دریافت کنید
شما می توانید [یک مجوز موقت رایگان] دریافت کنید 8 تا Aspose.Drawing را برای دات نت بدون محدودیت ارزیابی امتحان کنید.
نتیجه
در این مقاله نحوه پیاده سازی تکنیک antialiasing به صورت برنامه ای در سی شارپ را یاد گرفتیم. علاوه بر این، میتوانید درباره Aspose.Drawing برای داتنت با استفاده از مستندات اطلاعات بیشتری کسب کنید و ویژگیهای مختلف پشتیبانی شده توسط API را بررسی کنید. در صورت وجود هرگونه ابهام، لطفاً با ما در [تالار گفتمان پشتیبانی رایگان10 تماس بگیرید.