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

API การบีบอัดรูปภาพ Java ที่ดีที่สุด - ดาวน์โหลดฟรี

Aspose.Imaging for Java เป็น API ที่มีประสิทธิภาพที่ช่วยให้คุณสามารถดำเนินการประมวลผลรูปภาพต่างๆ จากภายในแอปพลิเคชัน Java นอกจากนี้ยังให้คุณบีบอัดรูปภาพ PNG, JPEG และ TIFF ได้อย่างไม่มีสะดุด หากต้องการใช้ API คุณสามารถ ดาวน์โหลด JAR หรือติดตั้งภายในแอปพลิเคชันที่ใช้ Maven

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-imaging</artifactId>
    <version>20.12</version>
    <classifier>jdk16</classifier>
</dependency>

บีบอัดรูปภาพ PNG ใน Java

รูปแบบ PNG รองรับการบีบอัดแบบไม่สูญเสียข้อมูล ซึ่งหมายความว่าการบีบอัดภาพ PNG จะลดขนาดไฟล์ แต่ไม่ลดคุณภาพ สำหรับรูปภาพ PNG Aspose.Imaging for Java ให้คุณตั้งค่าระดับการบีบอัดได้ตั้งแต่ 0 ถึง 9 โดยที่ 0 และ 9 เป็นระดับการบีบอัดต่ำสุดและสูงสุดตามลำดับ ต่อไปนี้เป็นขั้นตอนในการบีบอัดภาพ PNG โดยใช้ Java

  • ขั้นแรก ให้โหลดภาพ PNG โดยใช้คลาส Image
  • สร้างอินสแตนซ์ของคลาส PngOptions
  • ตั้งค่าระดับการบีบอัดโดยใช้เมธอด PngOptions.setCompressionLevel(int)
  • สุดท้าย บันทึกภาพ PNG ที่ถูกบีบอัดโดยใช้เมธอด Image.save(String, PngOptions)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีบีบอัดรูปภาพ PNG โดยใช้ Java

// โหลดรูปภาพจากไฟล์ (หรือสตรีม)
Image image = Image.load("aspose_logo.png");

// วนซ้ำช่วงระดับการบีบอัดที่เป็นไปได้
for (int i = 0; i <= 9; i++) {
	
  // สร้างอินสแตนซ์ของ PngOptions สำหรับ PNG ผลลัพธ์แต่ละรายการ
	PngOptions options = new PngOptions();
	
  // ตั้งค่าระดับการบีบอัด
	options.setCompressionLevel(i);
	
  // บันทึกผลลัพธ์บนดิสก์ (หรือสตรีม)
	image.save("CompressingFiles_out" + i + ".png", options);
}

การบีบอัดภาพ JPEG โดยใช้ Java

สำหรับการบีบอัดภาพ JPEG Aspose.Imaging for Java มีประเภทการบีบอัดดังต่อไปนี้

  • บรรทัดฐาน
  • ความก้าวหน้า
  • ไม่สูญเสีย
  • JpegL

ต่อไปนี้เป็นขั้นตอนในการใช้ประเภทการบีบอัดที่กล่าวถึงข้างต้นกับภาพ JPEG โดยใช้ Java

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีบีบอัดรูปภาพ JPEG โดยใช้ Java

// โหลดภาพ
Image original = Image.load("Input.jpeg");
try
{
    JpegOptions jpegOptions = new JpegOptions()
	  {{
        // ใช้การบีบอัด
		    setCompressionType(JpegCompressionMode.Progressive);
	  }};
  
  // บันทึกภาพที่บีบอัด
  original.save("result.jpg", jpegOptions);
}
finally
{
  original.dispose();
}

บีบอัดรูปภาพ TIFF โดยใช้ Java

Aspose.Imaging for Java มี ประเภทการบีบอัด TIFF ที่หลากหลาย ซึ่งรวมถึง LZW, Packbits, CCIT Fax 3 & 4 และอื่นๆ ดังนั้น คุณสามารถเลือกประเภทการบีบอัดที่เหมาะกับความต้องการของคุณมากที่สุด ต่อไปนี้เป็นขั้นตอนในการบีบอัด TIFF โดยใช้ Java

  • ก่อนอื่น ให้โหลดภาพ TIFF โดยใช้คลาส Image
  • สร้างอินสแตนซ์ของคลาส TiffOptions
  • ตั้งค่าระดับการบีบอัดโดยใช้เมธอด TiffOptions.setCompression(TiffCompressions)
  • ตั้งค่าตัวเลือกอื่นๆ เช่น บิตต่อตัวอย่าง โฟโตเมตริก จานสี ฯลฯ
  • สุดท้าย บันทึกภาพ TIFF ที่บีบอัดโดยใช้เมธอด Image.save(String, TiffOptions)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีบีบอัดรูปภาพ TIFF โดยใช้ Java

// โหลดรูปภาพผ่านตำแหน่งพาธของไฟล์หรือสตรีม
try (Image image = Image.load("sample.tiff"))
{
	// สร้างอินสแตนซ์ของ TiffOptions สำหรับรูปภาพผลลัพธ์
	TiffOptions outputSettings = new TiffOptions(TiffExpectedFormat.Default);

	// ตั้งค่า BitsPerSample การบีบอัด โหมดโฟโตเมตริก และจานสีโทนสีเทา
	outputSettings.setBitsPerSample(new int[] { 4 });
	outputSettings.setCompression(TiffCompressions.Lzw);
	outputSettings.setPhotometric(TiffPhotometrics.Palette);
	outputSettings.setPalette(ColorPaletteHelper.create4BitGrayscale(false));
	image.save("SampleTiff_out.tiff", outputSettings);
}

Java API เพื่อบีบอัดรูปภาพ - รับใบอนุญาตฟรี

ในกรณีที่คุณต้องการลองใช้ API โดยไม่มีข้อจำกัดในการประเมิน คุณสามารถ รับใบอนุญาตชั่วคราวฟรี

บทสรุป

มักจะต้องมีการบีบอัดรูปภาพเพื่อลดขนาดของรูปภาพ ดังนั้น บทความนี้จึงกล่าวถึงวิธีบีบอัดรูปภาพ PNG, JPEG และ TIFF โดยทางโปรแกรมโดยใช้ Java นอกจากนี้ คุณสามารถสำรวจเพิ่มเติมเกี่ยวกับ API การประมวลผลภาพ Java โดยใช้ เอกสารประกอบ

ดูสิ่งนี้ด้วย

ข้อมูล: เมื่อเร็วๆ นี้ Aspose ได้พัฒนาเว็บแอปออนไลน์ใหม่ที่ให้คุณ เปลี่ยนชุดรูปภาพเป็นวิดีโอได้ คุณอาจสนใจบริการอื่นที่สามารถใช้เพื่อบีบอัดวิดีโอโดย การแยกเสียงออกจากวิดีโอ