برش، چرخش و تغییر اندازه تصاویر

برش تصاویر

برش تصویر معمولاً به حذف بخش‌های خارجی یک تصویر برای بهبود قاب‌بندی اشاره دارد. برش ممکن است همچنین برای بریدن بخشی از تصویر برای تمرکز بر یک ناحیه خاص استفاده شود. رابط برنامهٔ کاربردی Aspose.PSD پشتیبانی از دو رویکرد مختلف برای برش تصویر دارد: از طریق شیفت‌ها و مستطیل.

برش تصویر از طریق شیفت‌ها

کلاس RasterImage نسخهٔ بارگیری بیش‌لاین Crop را فراهم کرده است که ۴ مقدار عددی از ترکیب شمال، راست، بالا و پایین را می‌پذیرد. بر اساس این چهار مقدار، متد Crop مرزهای تصویر را به سمت مرکز تصویر حرکت داده و بخش خارجی را دور می‌اندازد. قطعه کد زیر نشان می‌دهد چگونه یک تصویر را با استفاده از شیفت برش دهیم.

برش تصویر از طریق مستطیل

کلاس RasterImage نسخهٔ دیگر از متد برش را فراهم کرده است که یک نمونه از کلاس Rectangle را می‌پذیرد. شما می‌توانید با فراهم کردن مرزهای مورد نظر به شیئ Rectangle قسمتی از تصویر را برش دهید. قطعه کد زیر نشان می‌دهد چگونه هر تصویری را با استفاده از مستطیل برش دهیم.

چرخش و وانمود تصویر

Aspose.PSD برای جاوا یک کتابخانهٔ آسان برای استفاده است، زیرا از روش‌های ساده برای انجام عملیات پیچیده ارائه می‌دهد. به عنوان مثال، Aspose.PSD برای جاوا متد RotateFlip را برای کلاس پایه Image ارائه داده است اگر برنامه نیاز به چرخش تصویر داشته باشد. بدون توجه به فرمت تصویر، کتاب‌خانه می‌تواند فرآیند خاصی از چرخش و وانمود را بر روی آن انجام دهد.

چرخش تصویر

متد Image.RotateFlip برای چرخش تصویر به ۹۰/۱۸۰/۲۷۰ درجه و وانمود تصویر به صورت افقی یا عمودی استفاده می‌شود. این متد پارامتری از نوع RotateFlipType را قبول می‌کند که نوع چرخش و وانمود مورد اعمال به تصویر را مشخص می‌کند. مراحل انجام چرخش و وانمود به راحتی به شرح زیر است،

  1. تصویر را با استفاده از متد فابریک Load ارائه شده توسط کلاس Image بارگیری کنید.
  2. متد Image.RotateFlip را صدا بزنید و در عین حال نوع RotateFlip مناسب را مشخص کنید.
  3. نتایج را ذخیره کنید.

مثال کد زیر نشان می‌دهد چگونه ویژگی RotateFlip یک تصویر و انواع روال را تنظیم کنیم.

چرخش تصویر بر روی زاویه خاص

رابط برنامهٔ کاربردی Aspose.PSD برای جاوا متد RasterImage.Rotate را ارائه کرده است تا به کاربران خود که می‌خواهند تصویر را بر روی یک زاویه خاص چرخاند، کمک کند. به‌خلاف متد RasterImage.RotateFlip، متد RasterImage.Rotate سه پارامتر را قبول می‌کند:

  1. زاویه چرخش: یک پارامتر از نوع float که زاویه چرخش را که تصویر باید به آن چرخیده شود مشخص می‌کند. یک مقدار مثبت تصویر را به صورت ساعت‌گرد چرخانده و یک مقدار منفی چرخش نیز به صورت مخالف ساعت‌گرد انجام می‌دهد.
  2. تغییر اندازه به صورت نسبی: یک پارامتر از نوع Boolean که مشخص می‌کند آیا ابعاد تصویر باید مطابق با پراکندگی چهارچوب چرخش (نقاط گوشه‌ای) تغییر کند یا خیر. اگر به پالایشی ارسال شود، ابعاد تصویر تغییر نمی‌کنند و تنها محتویات تصویر داخلی چرخیده می‌شود.
  3. رنگ پس‌زمینه: یک پارامتر از نوع Color که رنگی را که در پس‌زمینه تصویر چرخیده پر کند، مشخص می‌کند.

قطعه کد زیر نشان می‌دهد نحوه استفاده از متد RasterImage.Rotate.

تغییر اندازه تصاویر

این مقاله نحوه استفاده از Aspose.PSD برای جاوا برای انجام عملیات Resize بر روی یک تصویر را نشان می‌دهد. رابط برنامهٔ کاربردی Aspose.PSD روش‌های کارایی و آسان برای دستیابی به این هدف را ارائه کرده است. Aspose.PSD برای جاوا متد Resize را برای کلاس Image ارائه داده است که می‌تواند برای تغییر اندازه تصاویر موجود به صورت دینامیک استفاده شود. دو نسخه از متد Resize وجود دارد تا نیازهای برنامه را برآورده سازد.

تغییر اندازه ساده

مراحل انجام تغییر اندازه به راحتی به شرح زیر است:

  1. تصویر را با استفاده از متد فابریک Load ارائه شده توسط کلاس Image بارگیری کنید.
  2. متد Image.Resize را صدا بزنید و در عین حال ارتفاع و عرض جدید را مشخص کنید.
  3. نتایج را ذخیره کنید.

مثال کد زیر نشان می‌دهد چگونه یک تصویر را تغییر اندازه دهیم.

تغییر اندازه با ENUM ResizeType

رابط برنامهٔ کاربردی Aspose.PSD ENUM ResizeType را ارائه کرده است که می‌تواند با Image.Resize برای دستیابی به نتایج مطلوب استفاده شود. قطعه کد ارائه شده زیر نشان می‌دهد چگونه از ENUM ResizeType استفاده کنیم، در حالی که جزئیات اعضای ENUM ResizeType را می‌توانید در پایین این صفحه بیابید.

اگر قصد دارید پس از اعمال تغییر اندازه نتیجه با کیفیت داشته باشید پیشنهاد می‌شود همیشه از ResizeType.LanczosResample استفاده شود زیرا نتایج بسیار با کیفیتی را تولید خواهد کرد اما ممکن است که کار‌آمدی آن در مقایسه با ResizeType.NearestNeighbourResample کمتر باشد. از طرف دیگر، الگوریتم ResizeType.NearestNeighbourResample به‌طور خاص برای تغییر اندازه سریع استفاده می‌شود در حالی که با کیفیت تصویر ممکن است متفاوت باشد. این متد می‌تواند برای تولید تصاویر کوچک به‌صورت زمان واقعی یا پردازش‌های مشابه که نیازمند عملکرد هستند، مفید باشد.

تغییر اندازه تصویر به صورت نسبتی

شما می‌توانید اندازه تصاویر را با ارسال ارتفاع و عرض جدید به عنوان پارامترهای متد Image.Resize تغییر دهید اما در این صورت باید نسبت ابعاد را خودتان محاسبه کنید. این به این معنی است که هنگامی که عرض یا ارتفاع تصویر تغییر می‌کند، تصویر به منظور پرکردن اندازه جدید یا متناسب کردن به اندازه جدید، مقیاس داده یا کوچک می‌شود. اگر تغییرات عرض و ارتفاع تصویر به صورت نسبی نباشند، ممکن است منجر به نتیجه کشیده و انحراف اندازه‌های تصویر شود. این مقاله نحوه استفاده از رابط برنامهٔ کاربردی Aspose.PSD برای جاوا برای تغییر اندازه تصاویر با ارسال ارتفاع یا عرض جدید به متد Image.Resize را نشان می‌دهد.

ENUM ResizeType

ResizeType نوع تغییر اندازه را بر اساس فیلتر انتخاب شده بر روی تصویر مشخص می‌کند.

اعضای ENUM ResizeType

نام اعضا مقدار توضیحات
LeftTopToLeftTop 0 نقطه بالا و چپ تصویر جدید با نقطه بالا و چپ تصویر اصلی هم‌سازی می‌کند. در صورت لزوم، برش صورت خواهد گرفت.
RightTopToRightTop 1 نقطه بالا و راست تصویر جدید با نقطه بالا و راست تصویر اصلی هم‌سازی می‌کند. در صورت لزوم، برش صورت خواهد گرفت.
RightBottomToRightBottom 2 نقطه پایین و راست تصویر جدید با نقطه پایین و راست تصویر اصلی هم‌سازی می‌کند. در صورت لزوم، برش صورت خواهد گرفت.
LeftBottomToLeftBottom 3 نق