
کار با تصاویر به صورت برنامهنویسی در C# به توسعهدهندگان این امکان را میدهد که تغییرات مختلفی مانند اندازهگیری، چرخش و برش را انجام دهند. در میان این وظایف، برش بهویژه زمانی مفید است که بخواهید ناحیه خاصی را از یک تصویر استخراج کنید یا حاشیههای ناخواسته را حذف کنید. در این راهنما، ما بر روی نحوه برش تصاویر در C# با استفاده از Conholdate.Total برای .NET تمرکز خواهیم کرد.
ما شما را از طریق دو تکنیک مختلف برش هدایت خواهیم کرد، یکی با استفاده از مقادیر جابجایی برای برش تصویر از تمام طرفها و دیگری با تعریف یک مستطیل سفارشی برای جدا کردن بخش خاصی از تصویر. هر بخش شامل نمونههای کد بهخوبی مستند شده و بینشهای عملی برای کاربردهای دنیای واقعی است.
چرا تصاویر را به صورت برنامهنویسی در C# برش بدهیم؟
برخی سناریوها وجود دارد که برش برنامهنویسی تصاویر مفید است:
تمرکز بر محتوا: برش به شما این امکان را میدهد که قسمت خاصی از یک تصویر را برجسته کنید، که برای عکسهای پروفایل، تصویرهای کوچک یا اسکنهای مدارک ایدهآل است.
پردازش خودکار تصویر: در برنامههای کاربردی که شامل ویرایش انبوه تصاویر یا محتوای بارگذاریشده توسط کاربر هستند، اتوماسیون فرآیند برش، گردشکارها را سادهسازی کرده و تلاشهای دستی را از بین میبرد.
رعایت و حریم خصوصی: برش میتواند برای حذف دادههای حساس یا نامربوط قبل از به اشتراکگذاری تصاویر استفاده شود.
برش تنها یک تنظیم زیبایی شناختی نیست، بلکه بخش مهمی از پردازش داده، طراحی تجربه کاربری و عملکرد سیستم است.
تصاویر JPG PNG BMP برش دهید - پیکربندی API .NET
شما میتوانید Conholdate.Total for .NET را به سادگی با فرمان نصب NuGet زیر راهاندازی کنید:
Install-Package Conholdate.Total
تصویرها را با جابجا کردن لبهها در C# برش دهید
روش اول نشان میدهد که چگونه یک تصویر را با جابجا کردن مرزهای آن به سمت داخل برش دهید. این روش بهویژه زمانی مفید است که بخواهید حاشیهها را بهطور یکنواخت یا نامتقارن از بالا، پایین، چپ و راست تصویر برش دهید.
// Load the image to be cropped.
using (RasterImage rasterImage = (RasterImage)Image.Load("image.png"))
{
// Before cropping, the image should be cached for better performance.
if (!rasterImage.IsCached)
{
rasterImage.CacheData();
}
// Define shift values for all four sides.
int leftShift = 10;
int rightShift = 10;
int topShift = 50;
int bottomShift = 50;
// Based on the shift values, apply the cropping on image. Crop method will shift the image bounds toward the center of image.
rasterImage.Crop(leftShift, rightShift, topShift, bottomShift);
// Save cropped image.
rasterImage.Save("cropped.png");
}
در این مثال، ما یک تصویر PNG را بارگذاری کرده و تعداد پیکسلهایی که باید از هر طرف حذف شوند را مشخص میکنیم. روش Crop به راحتی ابعاد تصویر را به سمت داخل تنظیم میکند و حاشیههای غیرضروری را حذف میکند در حالی که تمامیت تصویر را حفظ میکند. با استفاده از این روش، میتوانید برشهای متناسب و مبتنی بر لبه را برای مدارک اسکن شده، فیلمهای صفحه و حاشیههای تصویر بدست آورید.
تصویرهای برش خورده با استفاده از یک مستطیل تعریف شده در C#
روش دوم دقت بیشتری را با اجازه دادن به شما برای تعریف ناحیه دقیق برای حفظ با استفاده از یک مرز مستطیلی ارائه میدهد. این رویکرد زمانی ایدهآل است که شما مختصات و اندازه ناحیه مورد نظر را در تصویر بدانید.
// Load the image.
using (RasterImage rasterImage = (RasterImage)Image.Load("image.png"))
{
// Before cropping, the image should be cached for better performance.
if (!rasterImage.IsCached)
{
rasterImage.CacheData();
}
// Create an instance of Rectangle class with desired size and crop the image.
Rectangle rectangle = new Rectangle(20, 20, 20, 20);
rasterImage.Crop(rectangle);
// Save cropped image.
rasterImage.Save("cropped.png");
}
این روش به ویژه زمانی مفید است که نیاز به ایزوله کردن بخش خاصی از یک تصویر دارید، مانند ناحیه محصول در یک عکس تجارت الکترونیک، یک بلوک متنی از یک سند اسکن شده یا منطقهای از علاقه در یک نمودار. تعریف و اعمال چنین مستطیلی هم بصری و هم بسیار کارآمد است.
رخصت ارزیابی رایگان
شما میتوانید یک مجوز موقت رایگان برای ارزیابی بسیاری از ویژگیهای دیگر ارائه شده توسط API به ظرفیت کامل آنها دریافت کنید.
نتیجه گیری
برش تصاویر در C# نباید پیچیده باشد. چه نیاز به برش حاشیهها داشته باشید و چه یک منطقه خاص را استخراج کنید، میتوانید کار را به سرعت و دقت انجام دهید. با پشتیبانی از برشهای مبتنی بر شیفت و مستطیل، شما انعطافپذیری برای رسیدگی به دامنه وسیعی از موارد استفاده واقعی دارید، از تصویربرداری مستند تا شخصیسازی محتوا.
با ادغام این قابلیتها به برنامههای .NET خود، میتوانید وظایف ویرایش تصویر را خودکار کنید، تجربه کاربری را بهبود بخشید و فرمتبندی مداوم را در مجموعه دادههای بزرگ حفظ کنید.