เปลี่ยนขนาดภาพใน Java

การปรับขนาดภาพเป็นความต้องการทั่วไปในแอปพลิเคชันต่างๆ ตั้งแต่การพัฒนาเว็บไปจนถึงการประมวลผลเอกสารและการออกแบบกราฟิก ไม่ว่าคุณจะต้องการลดขนาดภาพเพื่อให้โหลดได้เร็วขึ้นหรือขยายขนาดเพื่อพิมพ์ความละเอียดสูง Java มีโซลูชันที่มีประสิทธิภาพในการจัดการการปรับขนาดภาพอย่างมีประสิทธิภาพ ในบล็อกโพสต์นี้ เราจะสำรวจวิธีการปรับขนาดภาพแบบราสเตอร์และเวกเตอร์ใน Java ซึ่งจะนำเสนอขั้นตอนตัวอย่างที่แสดงวิธีการปรับขนาดประเภทต่างๆ ของภาพอย่างเช่น JPG, PNG, SVG, เป็นต้น อย่างเป็นโปรแกรม

คุณจะได้เรียนรู้หัวข้อด้านล่างนี้เพื่อลงลึกในหัวข้อนี้:

ทำไมต้องปรับขนาดภาพ?

การปรับขนาดภาพเป็นสิ่งจำเป็นในหลายสถานการณ์ ได้แก่:

  • การปรับปรุงประสิทธิภาพเว็บไซต์: รูปภาพขนาดใหญ่สามารถทำให้เว็บไซต์ช้าลง การปรับขนาดให้เหมาะสมจะช่วยเพิ่มความเร็วในการโหลดหน้าและปรับปรุงประสบการณ์ของผู้ใช้

  • การลดพื้นที่เก็บข้อมูล: การปรับขนาดภาพให้มีขนาดเล็กลงจะลดขนาดไฟล์ ช่วยประหยัดพื้นที่ดิสก์และแบนด์วิธ

  • การพิมพ์และแอพพลิเคชันกราฟิก: การขยายภาพสำหรับการพิมพ์ความละเอียดสูงในขณะที่รักษาคุณภาพเป็นสิ่งสำคัญในสื่อดิจิทัลและการออกแบบกราฟิก.

  • การแสดงผลที่สอดคล้องกันข้ามอุปกรณ์: ขนาดหน้าจอที่แตกต่างกันต้องการให้ภาพถูกปรับขนาดแบบไดนามิกเพื่อรักษาลักษณะที่สม่ำเสมอ

ปรับขนาดรูปภาพ - การกำหนดค่า Java API

คุณสามารถติดตั้ง 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 กันเถอะ

ปรับขนาดภาพ Raster 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 ได้อย่างเต็มที่โดยการขอ free temporary license.

สรุป

คุณสามารถปรับขนาดภาพทั้งแบบเรสเตอร์และเวกเตอร์ได้อย่างมีประสิทธิภาพโดยไม่สูญเสียคุณภาพ ไม่ว่าจะเป็นการปรับแต่งภาพสำหรับเว็บ ลดค่าบำรุงรักษา หรือเพื่อให้แสดงผลสอดคล้องกันทั่วทุกอุปกรณ์ Java มีโซลูชันที่มีประสิทธิภาพสำหรับการปรับขนาดภาพ อย่างไรก็ตาม หากคุณต้องการพูดคุยเกี่ยวกับคำถามใด ๆ ของคุณ โปรดเขียนถึงเราที่ forum.

ดูเพิ่มเติม