تصویر JPEG را با استفاده از C# برش و تغییر اندازه دهید.

JPEG or JPG یکی از رایج‌ترین فرمت‌های تصویری است که برای ذخیره‌سازی تصاویر و عکس‌ها استفاده می‌شود. در موارد خاص، ممکن است نیاز داشته باشیم تا تصاویر را برای دلایل مختلف برش زده یا بچرخانیم. در این مقاله، یاد خواهیم گرفت که چگونه تصاویر JPEG را با استفاده از C# برش زده و اندازه‌گذاری کنیم.

موضوعات زیر در این مقاله بررسی خواهند شد:

C# Imaging API برای برش و تغییر اندازه JPEG

برای برش و تغییر اندازه تصاویر، ما از Aspose.Imaging for .NET API استفاده خواهیم کرد. این API به ما امکان می‌دهد تا تصاویر یا عکس‌ها را به صورت برنامه‌نویسی در C# ایجاد، بارگذاری، دستکاری، تبدیل و فشرده کنیم. لطفاً یا دانلود DLL این API را انجام دهید یا از طریق NuGet آن را نصب کنید.

PM> Install-Package Aspose.Imaging

تصویرهای JPEG را با استفاده از C# برش دهید

ما می‌توانیم به راحتی هر تصویر JPEG/JPG را از همه طرف به سمت مرکز تصویر برش دهیم. برای این منظور، کلاس RasterImage متد Crop(Int32, Int32, Int32, Int32) را ارائه می‌دهد که تصویر را با مقادیر شیفت مشخص شده برش می‌دهد. این متد مقادیر شیفت چپ، راست، بالا و پایین را به عنوان آرگومان برای برش مرزهای تصویر می‌گیرد. ما می‌توانیم تصاویر را با استفاده از رویکرد برش با شیفت در C# با دنبال کردن مراحل زیر برش دهیم:

  1. در ابتدا، تصویر JPG ورودی را با استفاده از کلاس RasterImage بارگذاری کنید.
  2. Next, cache the image using the CacheData method.
  3. پس از آن، با استفاده از مقادیر جابه‌جایی به عنوان آرگومان‌ها، متد Crop() را فراخوانی کنید.
  4. در نهایت، متد Save() را با مسیر فایل خروجی به عنوان آرگومان فراخوانی کنید تا فایل تصویر بریده شده را ذخیره کنید.

کد نمونه زیر نشان می‌دهد که چگونه یک تصویر JPEG را با استفاده از C# برش دهید.

// این مثال کد نشان می‌دهد که چگونه تصویر JPG را با استفاده از روش برش با جابجایی برش بزنیم.
// تصویر موجودی را به یک نمونه از کلاس RasterImage بارگذاری کنید
RasterImage rasterImage = (RasterImage)Image.Load(@"C:\Files\images\aspose_logo.jpg");

// قبل از برش، تصویر باید برای بهبود عملکرد کش شود.
if (!rasterImage.IsCached)
{
    rasterImage.CacheData();
}

// مقدار انحراف را برای هر چهار سمت تعریف کنید
int leftShift = 30;
int rightShift = 30;
int topShift = 30;
int bottomShift = 30;

// براساس مقادیر شیفت، برش را روی تصویر اعمال کنید. 
// روش برش حد تصویر را به سمت مرکز تصویر منتقل خواهد کرد
rasterImage.Crop(leftShift, rightShift, topShift, bottomShift);

// تصویر برش خورده را ذخیره کنید
rasterImage.Save(@"C:\Files\images\cropped_out.jpg");
تصویرهای JPEG را با استفاده از C# برش بزنید

تصویرهای JPEG را با استفاده از C# برش دهید.

تصاویر را با استفاده از C# به اندازه مشخص برش دهید

کلاس RasterImage همچنین یک متد اضافه شده به نام Crop(Rectangle) را فراهم می‌کند که یک ناحیه خاص از تصویر را به اندازه معین برش می‌زند. این متد یک نمونه از کلاس Rectangle را به عنوان آرگومان می‌گیرد. ما می‌توانیم تصاویر را به اندازه معین در C# برش بزنیم با دنبال کردن مراحل زیر:

  1. ابتدا، تصویر JPG ورودی را با استفاده از کلاس RasterImage بارگذاری کنید.
  2. سپس تصویر را با استفاده از روش CacheData کش کنید.
  3. سپس، شیء کلاس Rectangle را با مکان و اندازه مشخص شده inicialize نمایید.
  4. بعد از آن، متد Crop() را با شیء Rectangle ایجاد شده به عنوان آرگومان فراخوانی کنید.
  5. در نهایت، متد Save() را با مسیر فایل خروجی به عنوان یک آرگومان فراخوانی کنید تا فایل تصویر برش داده شده را ذخیره کنید.

نمونه کد زیر نشان می‌دهد که چگونه یک تصویر JPEG را با استفاده از C# به اندازه خاصی برش دهید.

// این مثال کد نشان می‌دهد که چگونه تصویر JPG را با استفاده از روش برش مستطیلی برش دهیم.
// یک تصویر موجود را به یک نمونه از کلاس RasterImage بارگذاری کنید.
RasterImage rasterImage = (RasterImage)Image.Load(@"C:\Files\images\aspose_logo.jpg");

// قبل از برش، تصویر باید برای بهبود عملکرد کش شود.
if (!rasterImage.IsCached)
{
    rasterImage.CacheData();
}

// یک نمونه از کلاس Rectangle با اندازه دلخواه ایجاد کنید
Rectangle rectangle = new Rectangle(35, 35, 580, 240);

// عملیات برش را بر روی شیء کلاس Rectangle انجام دهید
rasterImage.Crop(rectangle);

// تصویر بریده شده را ذخیره کنید
rasterImage.Save(@"C:\Files\images\CroppingByRectangle_out.jpg");
تصویر را با اندازه خاصی با استفاده از C# برش دهید.

برش تصویر به اندازه مشخص با استفاده از C# .

تصویرهای JPEG را در C# تغییر اندازه دهید

کلاس Image متد Resize() را برای تغییر اندازه تصاویر فراهم می‌کند. ما می‌توانیم تصاویر JPEG را در C# با دنبال کردن مراحل زیر تغییر اندازه دهیم:

  1. Firstly, load the input JPG image using the Image class.
  2. در مرحله بعد، متد Resize(int32, int32) را با عرض و ارتفاع مورد نیاز به عنوان آرگومان فراخوانی کنید.
  3. سرانجام، متد Save() را با مسیر فایل خروجی به عنوان آرگومان فراخوانی کنید تا تصویر تغییر اندازه یافته را ذخیره کنید.

نمونه کد زیر نشان می‌دهد که چگونه یک تصویر JPEG را با استفاده از C# تغییر اندازه دهید.

// این مثال کد نحوه برش تصویر JPG را با استفاده از روش برش مستطیلی نشان می‌دهد.
// بارگزاری یک تصویر موجود
Image image = Image.Load(@"C:\Files\images\aspose_logo.jpg");

// عرض و ارتفاع جدید
image.Resize(300, 100);

// تصویر تغییر اندازه داده شده را ذخیره کنید
image.Save(@"C:\Files\images\SimpleResizing_out.jpg");
تصویرهای JPEG را در C# تغییر اندازه دهید

تصاویر JPEG را در C# تغییر اندازه دهید.

تصویرهای JPEG را به طور متناسب در C# تغییر اندازه دهید

ممکن است هنگام تغییر اندازه با ارتفاع و عرض ثابت، تصاویر کشیده شوند. می‌توانیم از تغییر اندازه متناسب برای جلوگیری از تصاویر کشیده شده استفاده کنیم. برای این منظور، کلاس Image متدهای ResizeWidthProportionally(Int32) و ResizeHeightProportionally(Int32) را فراهم می‌کند. لطفاً مراحل زیر را برای تغییر اندازه یک تصویر به‌صورت متناسب با عرض و ارتفاع دنبال کنید.

  1. Firstly, load the input JPG image using the Image class.
  2. سپس با عرض جدید به عنوان آرگومان، روش Image.ResizeWidthProportionally(Int32) را فراخوانی کنید.
  3. پس از آن، متد Image.ResizeHeightProportionally(Int32) را با ارتفاع جدید به عنوان آرگومان فراخوانی کنید.
  4. سرانجام، متد Save() را با مسیر فایل خروجی به عنوان یک آرگومان برای ذخیره تصویر تغییر اندازه داده شده، فراخوانی کنید.

کد نمونه زیر نشان می‌دهد که چگونه می‌توان یک تصویر JPEG را به طور متناسب با استفاده از C# تغییر اندازه داد.

// این مثال کد نشان می‌دهد که چگونه تصویر JPG را با استفاده از روش برش مستطیلی برش دهیم.
// یک تصویر موجود را بارگذاری کنید
Image image = Image.Load(@"C:\Files\images\sample.jpg");

// عرض
int newعرض = image.عرض / 2;
image.ResizeعرضProportionally(newعرض);

// ارتفاع
int newارتفاع = image.ارتفاع / 2;
image.ResizeارتفاعProportionally(newارتفاع);

// گزینه‌های ذخیره‌سازی را تعریف کنید
JpegOptions saveOptions = new JpegOptions();
saveOptions.Quality = 100;

// تصویر را ذخیره کنید
image.Save(@"C:\Files\images\sample_out.jpg", saveOptions);

دریافت یک مجوز رایگان

لطفاً با درخواست a free temporary license API را بدون محدودیت‌های ارزیابی امتحان کنید.

نتیجه گیری

در این مقاله، ما یاد گرفتیم که چگونه:

  • تصویر JPEG را در C# برش دهید؛
  • تصویر را به اندازه مشخصی برش دهید؛
  • resize JPEG images programmatically;
  • تصویرهای JPEG را به صورت متناسب تغییر اندازه دهید.

علاوه بر این، می‌توانید اطلاعات بیشتری درباره Aspose.Imaging for .NET API از طریق documentation بیابید. در صورت وجود هر گونه ابهام، لطفاً با کمال میل با ما در forum تماس بگیرید.

همچنین ببینید