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

بزرگ‌نمایی تصویر یکی از نیازهای رایج در برنامه‌های مختلف است، از توسعه وب گرفته تا پردازش اسناد و طراحی گرافیک. این که آیا شما نیاز دارید تصاویر را برای سرعت بارگذاری بهینه کاهش دهید یا آنها را برای چاپ‌های با وضوح بالا بزرگ‌تر کنید، Java راه‌حل‌های قدرتمندی برای مدیریت به‌طور کارآمد بزرگ‌نمایی تصویر ارائه می‌دهد. در این پست وبلاگ، ما بررسی خواهیم کرد که چگونه تصاویر رستر و وکتور را در Java تغییر اندازه دهیم. این پست شامل مثال‌های گام‌به‌گام است که نشان می‌دهد چگونه می‌توان تصاویر مختلفی مانند JPG ، PNG، SVG و غیره را به‌صورت برنامه‌نویسی تغییر اندازه داد.

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

چرا اندازه تصاویر را تغییر دهیم؟

تغییر اندازه تصاویر در سناریوهای مختلف ضروری است، از جمله:

  • بهینه‌سازی عملکرد وب‌سایت: تصاویر بزرگ می‌توانند وب‌سایت‌ها را کند کنند. تغییر اندازه آن‌ها به ابعاد مناسب سرعت بارگذاری صفحه را بهبود می‌بخشد و تجربه کاربری را افزایش می‌دهد.

  • کاهش فضای ذخیره‌سازی: اندازه‌گیری تصاویر به ابعاد کوچکتر، حجم فایل‌ها را کاهش می‌دهد، و فضای دیسک و پهنای باند را صرفه‌جویی می‌کند.

  • کاربردهای چاپ و گرافیک: بزرگ‌نمایی تصاویر برای چاپ‌های با وضوح بالا در حالی که کیفیت حفظ شود، در نشر دیجیتال و طراحی گرافیک بسیار مهم است.

  • نمایش سازگار در دستگاه‌های مختلف: اندازه‌های صفحه نمایش متفاوت نیاز دارند که تصاویر به طور پویا تغییر اندازه دهند تا ظاهری یکپارچه حفظ شود.

مقیاس بندی عکس‌ها - پیکربندی API Java

شما می‌توانید به راحتی Conholdate.Total for Java را برای مقیاس بندی عکس‌ها در Java نصب کنید. تنها کافیست تنظیمات Maven زیر را در فایل pom.cml برنامه خود کپی کنید:

<dependency>
<groupId>com.conholdate</groupId>
<artifactId>conholdate-total</artifactId>
<version>25.1</version>
<type>pom</type>
</dependency>

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

تغییر اندازه تصاویر رستری JPG یا PNG در Java

تصاویر رستری، مانند PNG و JPEG، از پیکسل‌ها تشکیل شده‌اند. هنگامی که قصد بزرگ ‌یا کوچک ‌کردن تصاویر رستری را دارید، حفظ نسبت ابعاد و کاهش حداقل کیفیت بسیار مهم است. شما باید مراحل زیر را برای تغییر اندازه JPG، PNG، BMP یا سایر تصاویر رستری در Java دنبال کنید.

  • بارگذاری تصویر: تصویر ورودی با استفاده از روش Image.load() بارگذاری می‌شود.

  • ذخیره‌سازی داده‌های تصویر: اطمینان از اینکه داده‌های تصویر ذخیره می‌شوند، عملکرد پردازش را بهبود می‌بخشد.

  • تغییر اندازه به تناسب: تصویر به نصف عرض و ارتفاع اصلی خود تغییر اندازه داده می‌شود تا نسبت ابعادی حفظ شود.

  • ذخیره خروجی: تصویر تغییر اندازه داده شده در فرمت PNG ذخیره می‌شود.

کد Java زیر نشان می‌دهد که چگونه می‌توان یک تصویر رستر را با استفاده از Java تغییر اندازه داد:

// بارگذاری تصویر
com.aspose.imaging.Image image = com.aspose.imaging.Image.load("aspose-logo.png");

// کش داده های تصویری
if (!image.isCached())
{
    image.cacheData();    
}
    
// عرض و ارتفاع را مشخص کنید
int newWidth = image.getWidth() / 2;
image.resizeWidthProportionally(newWidth);
int newHeight = image.getHeight() / 2;
image.resizeHeightProportionally(newHeight);

// Save image
image.save("ResizeRasterImage.png");

تصحیح اندازه تصاویر وکتور SVG در Java

برخلاف تصاویر رستری، تصاویر برداری (به عنوان مثال، SVG) به وضوح وابسته نیستند و از معادلات ریاضی برای تعریف شکل‌ها استفاده می‌کنند. تغییر اندازه تصاویر برداری شامل مقیاس‌بندی بدون از دست دادن کیفیت است.

  • بارگذاری تصویر وکتور: فایل SVG با استفاده از روش Image.load() بارگذاری می‌شود.

  • تغییر اندازه تصویر: عرض به اندازه 10 برابر افزایش می‌یابد و ارتفاع به اندازه 15 افزایش می‌یابد.

  • تنظیم گزینه‌های رستر سازی: تصویر وکتوری برای رستر سازی به فرمت PNG آماده شده است.

  • ذخیره تصویر تغییر اندازه داده شده: خروجی نهایی به عنوان یک فایل PNG ذخیره می‌شود.

در زیر یک مثال Java نشان داده شده است که چگونه یک تصویر وکتور را تغییر اندازه دهید و آن را به عنوان یک PNG ذخیره کنید:

// بارگذاری تصویر وکتور ورودی
com.aspose.imaging.Image image = com.aspose.imaging.Image.load("image.svg");

// تصویر را به صورت PNG تغییر اندازه دهید
image.resize(image.getWidth() * 10,image.getHeight() * 15);
com.aspose.imaging.imageoptions.PngOptions options = new com.aspose.imaging.imageoptions.PngOptions();
options.setVectorRasterizationOptions(new com.aspose.imaging.imageoptions.SvgRasterizationOptions());

// ذخیره تصویر تغییر اندازه داده شده
image.save("resize.png", options);

مجوز رایگان بگیرید

شما می‌توانید تمام ویژگی‌های API را به طور کامل آزمایش کنید با دریافت یک مجوز موقتی رایگان.

خلاصه کردن

شما می‌توانید به‌طور کارآمد اندازه هر دو نوع تصویر رستر و وکتور را در حالی که کیفیت را حفظ می‌کنید، تغییر دهید. چه برای بهینه‌سازی تصاویر برای وب، کاهش هزینه‌های ذخیره‌سازی یا اطمینان از نمایش یکسان در دستگاه‌ها، Java راه‌حل‌های قدرتمندی برای مقیاس‌بندی تصویر ارائه می‌دهد. با این حال، اگر می‌خواهید در مورد هر یک از سوالات خود بحث کنید، لطفاً به ما نامه‌ای به forum بنویسید.

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