قص وتدوير وتغيير حجم الصور
قص الصور
عادةً ما يشير قص الصور إلى إزالة الأجزاء الخارجية من الصورة لمساعدة في تحسين تركيبها. يمكن أيضًا استخدام القص لقص جزء معين من الصورة لزيادة التركيز على منطقة معينة. تدعم واجهة برمجة التطبيقات (API) Aspose.PSD نهجَين مختلفَين لقص الصورة: بواسطة التحولات والمستطيل.
القص بواسطة التحولات
يوفر فئة RasterImage نسخة محملة من طريقة القص التي تقبل 4 قيم صحيحة تمثل اليسار واليمين والأعلى والأسفل. استنادًا إلى هذه القيم الأربعة، تقوم طريقة القص بنقل حدود الصورة نحو مركز الصورة مع تجاهل الجزء الخارجي. التقعيرة البرمجية أدناه توضح كيفية استبعاد جزء من الصورة بواسطة التحولات.
القص بواسطة المستطيل
توفر فئة RasterImage نسخة أخرى محملة من طريقة القطاف التي تقبل الصفيف Rectangle. يمكنك قص أي جزء من الصورة عن طريق تحديد الحدود المطلوبة لكائن Rectangle. التقريع البرمجي أدناه يوضح كيفية قص أي صورة بواسطة المستطيل.
تدوير وقلب الصورة
Aspose.PSD لـ .NET هو مكتبة سهلة الاستخدام لأنها توفر طرقًا بسيطة لأداء عمليات معقدة. على سبيل المثال، قدمت Aspose.PSD لـ .NET طريقة RotateFlip لفئتها الأساسية Image إذا كان التطبيق يتطلب تدوير صورة. بغض النظر عن تنسيق الصورة، تستطيع المكتبة تنفيذ إجراءات محددة للتدوير والقلب عليها.
تدوير الصورة
يمكن استخدام الطريقة Image.RotateFlip لتدوير الصورة 90/180/270 درجة وقلب الصورة أفقيًا أو عموديًا. تقبل الطريقة Image.RotateFlip معلمة من نوع RotateFlipType التي تحدد نوع التدوير والقلب الذي يجب تطبيقه على الصورة. الخطوات لأداء التدوير والقلب بسيطة كما هو موضح أدناه.
- قم بتحميل الصورة باستخدام طريقة الشبكة المنطقية Load التي تعرضها فئة Image.
- اناد تقنية Image.RotateFlip مع تحديد نوع RotateFlipType المناسب.
- احفظ النتائج.
المثال التالي يوضح كيفية تعيين خاصية RotateFlip لصورة وتعريف تعداد إنومراتيون RotateFlipType.
تدوير الصورة على زاوية معينة
تكشف واجهة برمجة التطبيقات Aspose.PSD لـ .NET عن الطريقة الزائرة RasterImage.Rotate لتسهيل العمل على الذواد الذين يرغبون في تدوير الصورة على زاوية معينة. على عكس الطريقة RasterImage.RotateFlip، تقبل الطريقة RasterImage.Rotate ثلاثة معلمات:
- زاوية الدوران: معلمة من نوع Float تحدّد الزاوية التي يجب تدوير الصورة إليها. تدور الصورة باتجاه الساعة إذا كان القيمة إيجابية، وتتم عملية الدوران عكس اتجاه عقارب الساعة إذا كانت القيمة سلبية.
- تغيير الحجم تناسبيًا: معلمة من نوع Boolean تحدد ما إذا كان يُغيَر حجم الصورة وفقًا لتناسب تصويرة المستطيل (نقاط الزاوية). إذا تم تعيينها على القيمة الخاطئة، سيتم حفظ أبعاد الصورة كما هي، ويتم تدوير محتويات الصورة الداخلية فقط.
- لون الخلفية: معلمة من نوع Color تحدد اللون الذي يجب ملئه في الخلفية للصورة المدوّرة.
التقنية البرمجية أدناه توضح استخدام RasterImage.Rotate.
تغيير حجم الصور
تُظهر هذه المقالة استخدام Aspose.PSD لـ .NET لتنفيذ عملية التغيير في الحجم على الصورة. تم تعرض واجهات برمجة التطبيقات (API) Aspose.PSD إلى أساليب فعّالة وسهلة الاستخدام لتحقيق هذا الهدف. لقد قدّمت Aspose.PSD لـ .NET طريقة Resize لفئة Image التي يمكن استخدامها لإعادة تحديد حجم الصور الحالية على الطاير. هنالك اثنان من الحمليات الزائدة لطريقة Resize لتناسب احتياجات التطبيق.
تغيير الحجم البسيط
الخطوات لأداء التغيير في الحجم بسيطة كما هو موضح أدناه:
- قم بتحميل الصورة باستخدام طريقة Load المكشوفة من فئة Image.
- اناد تقنية Image.Resize مع تحديد ارتفاع وعرض جديدين.
- احفظ النتائج.
المثال التالي يوضح كيفية تغيير الحجم لصورة.
تغيير الحجم بتعداد ResizeType Enumeration
تمتاز واجهة برمجة التطبيقات (API) Aspose.PSD بتعداد ResizeType التي يمكن استخدامها مع Image.Resize لتحقيق النتائج المرغوبة. يوضح الكود المقدم أدناه استخدام تعداد ResizeType، بينما يمكن العثور على تفاصيل أعضاء تعداد ResizeType في أسفل هذه الصفحة.
إذا كنت تنوي الحصول على نتيجة ذات جودة بعد تطبيق إعادة التغيير في الحجم، يُقترح عليك دائمًا استخدام ResizeType.LanczosResample لأنه سينتج نتائج عالية الجودة ولكن قد يعمل ببطء أكثر من ResizeType.NearestNeighbourResample. على الجانب الآخر، يُستخدم خوارزام ResizeType.NearestNeighbourResample خصيصًا لإعادة التحديد بسرعة بينما يلعب على جودة الصورة. يمكن أن يكون هذا الأسلوب مفيدًا لتوليد المصغرات في الوقت الحقيقي أو العمليات المماثلة حيث يُطلب الأداء.
إعادة تغيير الصورة تناسبيًا
يمكنك تغيير حجم الصور عن طريق تمرير قيم الارتفاع والعرض الجديدين كمعلمات إلى طريقة Resize الصورة، ولكن في هذه الحالة يجب عليك حساب نسبة العرض إلى الارتفاع بنفسك. يرجع ذلك إلى أنه عند تعديل عرض أو ارتفاع صورة، يتم تحجيم الصورة أو تقليصها لملء الحجم الجديد. إذا لم تكن التغييرات في عرض وارتفاع الصورة متناسبة فقد يؤدي ذلك إلى نتيجة ممدودة ومشوهة. توضح هذه المقالة استخدام Aspose.PSD لـ .NET API لاعادة تحجيم الصور عن طريق تمرير ارتفاع أو عرض جديدين مع السماح لواجهة البرمجة التطبيقية بحساب القيمة النسبية الأخرى تلقائياً.
تعداد ResizeType
يُحدد قسم ResizeType نوع عملية إعادة الحجم التي يتعين تنفيذها على الصورة استنادًا إلى الفلتر المحدد.
أعضاء تعداد ResizeType
اسم الفرد | القيمة | الوصف |
---|---|---|
LeftTopToLeftTop | 0 | نقطة الزاوية اليسرى العلوية للصورة الجديدة ستطابق نقطة الزاوية اليسرى العلوية للصورة الأصلية. سيحدث تقوس إذا لزم الأمر. |
RightTopToRightTop | 1 | نقطة الزاوية اليمنى العلوية للصورة الجديدة ستطابق نقطة الزاوية اليمنى العلوية للصورة الأصلية. سيحدث تقوس إذا لزم الأمر. |
RightBottomToRightBottom | 2 | نقطة الزاوية اليمنى السفلية للصورة الجديدة ستطابق نقطة الزاوية اليمنى السفلية للصورة الأصلية. سيحدث تقوس إذا لزم الأمر. |
LeftBottomToLeftBottom | 3 | نقطة الزاوية اليسرى السفلية للصورة الجديدة ستطابق نقطة الزاوية اليسرى السفلية للصورة الأصلية. سيحدث تقوس إذا لزم الأمر. |
CenterToCenter | 4 | سيطابق مركز الصورة الجديدة مع مركز الصورة الأصلية. سيحدث تقوس إذا لزم الأمر. |
LanczosResample | 5 | إعادة عينة باستخدام خوارزام اطبعة لانكوز بواسطة قناع 7x7. |
NearestNeighbourResample | 6 | إعادة عينة باستخدام خوارزام أقرب جار. |