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