قص وتغيير حجم صورة JPEG باستخدام C #

يعد JPEG أو JPG أحد أكثر تنسيقات الصور شيوعًا لتخزين الصور والصور. في بعض الحالات ، قد نحتاج إلى اقتصاص الصور أو تدويرها لأسباب مختلفة. في هذه المقالة ، سوف نتعلم كيفية اقتصاص صور JPEG وتغيير حجمها باستخدام C #.

سيتم تناول الموضوعات التالية في هذه المقالة:

C # Imaging API لاقتصاص JPEG وتغيير حجمه

لاقتصاص الصور وتغيير حجمها ، سنستخدم Aspose.Imaging for .NET API. يتيح لنا إنشاء الصور أو الصور وتحميلها ومعالجتها وتحويلها وضغطها برمجيًا. يرجى إما تنزيل DLL الخاصة بواجهة برمجة التطبيقات أو تثبيته باستخدام NuGet.

PM> Install-Package Aspose.Imaging

قص صور JPEG باستخدام C

يمكننا بسهولة اقتصاص أي صورة JPEG / JPG من جميع الجوانب باتجاه مركز الصورة. لهذا الغرض ، توفر فئة RasterImage طريقة Crop (Int32 و Int32 و Int32 و Int32) التي تقطع الصورة بقيم إزاحة محددة. يتطلب الأمر قيم إزاحة لليسار ، واليمين ، والعليا ، والسفلى كوسائط لاقتصاص حدود الصورة. يمكننا قص الصور باستخدام أسلوب الاقتصاص بالتحول باتباع الخطوات الواردة أدناه:

  1. أولاً ، قم بتحميل صورة JPG المدخلة باستخدام فئة RasterImage.
  2. بعد ذلك ، قم بتخزين الصورة مؤقتًا باستخدام طريقة CacheData.
  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 كوسيطة. يمكننا قص الصور إلى حجم محدد باتباع الخطوات الموضحة أدناه:

  1. أولاً ، قم بتحميل صورة JPG المدخلة باستخدام فئة [RasterImage] (https://apireference.aspose.com/imaging/net/aspose.imaging/rasterimage).
  2. بعد ذلك ، قم بتخزين الصورة مؤقتًا باستخدام طريقة [CacheData] (https://apireference.aspose.com/imaging/net/aspose.imaging/datastreamsupporter/methods/cachedata).
  3. بعد ذلك ، قم بتهيئة كائن فئة المستطيل بالموقع والحجم المحددين.
  4. بعد ذلك ، قم باستدعاء الأسلوب [Crop ()] (https://apireference.aspose.com/imaging/net/aspose.imaging/rasterimage/methods/crop) باستخدام كائن Rectangle الذي تم إنشاؤه كوسيطة.
  5. أخيرًا ، قم باستدعاء الأسلوب [Save ()] (https://apireference.aspose.com/imaging/net/aspose.imaging.image/save/methods/3) باستخدام مسار ملف الإخراج كوسيطة لحفظ ملف الصورة التي تم اقتصاصها .

يوضح نموذج التعليمات البرمجية التالي كيفية اقتصاص صورة JPEG إلى حجم معين باستخدام C #.

// يوضح مثال الكود هذا كيفية اقتصاص صورة JPG باستخدام أسلوب الاقتصاص حسب المستطيل.
// قم بتحميل صورة موجودة في مثيل لفئة RasterImage
RasterImage rasterImage = (RasterImage)Image.Load(@"C:\Files\images\aspose_logo.jpg");

// قبل الاقتصاص ، يجب تخزين الصورة مؤقتًا للحصول على أداء أفضل
if (!rasterImage.IsCached)
{
    rasterImage.CacheData();
}

// قم بإنشاء مثيل لفئة المستطيل بالحجم المطلوب
Rectangle rectangle = new Rectangle(35, 35, 580, 240);

// قم بإجراء عملية الاقتصاص على كائن من فئة المستطيل
rasterImage.Crop(rectangle);

// احفظ الصورة التي تم اقتصاصها
rasterImage.Save(@"C:\Files\images\CroppingByRectangle_out.jpg");
صورة المحاصيل في حجم معين باستخدام C #.

اقتصاص الصورة لحجم معين باستخدام C #.

تغيير حجم صور JPEG في C

توفر فئة صورة طريقة تغيير الحجم () لتغيير حجم الصور. يمكننا تغيير حجم صور JPEG باتباع الخطوات الواردة أدناه:

  1. أولاً ، قم بتحميل صورة JPG المدخلة باستخدام فئة [صورة] (https://apireference.aspose.com/imaging/net/aspose.imaging/image).
  2. بعد ذلك ، قم باستدعاء طريقة [Resize (int32، int32)] (https://apireference.aspose.com/imaging/net/aspose.imaging/image/methods/resize) مع العرض والارتفاع المطلوبين كوسائط.
  3. أخيرًا ، قم باستدعاء الأسلوب [Save ()] (https://apireference.aspose.com/imaging/net/aspose.imaging.image/save/methods/3) باستخدام مسار ملف الإخراج كوسيطة لحفظ الصورة التي تم تغيير حجمها .

يوضح نموذج التعليمات البرمجية التالي كيفية تغيير حجم صورة 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

قد نحصل على صور ممتدة عندما نغير الحجم بارتفاع وعرض ثابتين. يمكننا استخدام تغيير الحجم النسبي لتجنب الصور الممتدة. لهذا الغرض ، توفر فئة صورة أساليب ResizeWidthProportically (Int32) و ResizeHeightProportually (Int32). يرجى اتباع الخطوات الواردة أدناه لتغيير حجم الصورة بما يتناسب مع العرض والارتفاع.

  1. أولاً ، قم بتحميل صورة JPG المدخلة باستخدام فئة [صورة] (https://apireference.aspose.com/imaging/net/aspose.imaging/image).
  2. بعد ذلك ، قم باستدعاء طريقة [Image.ResizeWidthProportically (Int32)] (https://apireference.aspose.com/imaging/net/aspose.imaging/image/methods/resizewidthproportically) بعرض جديد كوسائط.
  3. بعد ذلك ، قم باستدعاء طريقة [Image.ResizeHeightProportically (Int32)] (https://apireference.aspose.com/imaging/net/aspose.imaging/image/methods/resizeheightproportically) بارتفاع جديد كوسيطات.
  4. أخيرًا ، قم باستدعاء الأسلوب [Save ()] (https://apireference.aspose.com/imaging/net/aspose.imaging.image/save/methods/3) باستخدام مسار ملف الإخراج كوسيطة لحفظ الصورة التي تم تغيير حجمها .

يوضح نموذج التعليمات البرمجية التالي كيفية تغيير حجم صورة 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);

احصل على رخصة مجانية

يرجى تجربة واجهة برمجة التطبيقات بدون قيود التقييم من خلال طلب ترخيص مؤقت مجاني.

استنتاج

في هذه المقالة ، تعلمنا كيفية:

  • اقتصاص صور JPEG في C # ؛
  • اقتصاص الصورة بحجم معين ؛
  • تغيير حجم صور JPEG برمجيًا ؛
  • قم بتغيير حجم صور JPEG بشكل متناسب.

بالإضافة إلى ذلك ، يمكنك معرفة المزيد حول Aspose.Imaging for .NET API باستخدام التوثيق. في حالة وجود أي غموض ، فلا تتردد في الاتصال بنا على المنتدى.

أنظر أيضا