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

C# Image Compression API - ดาวน์โหลดฟรี

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

Install-Package Aspose.Imaging

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

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

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

// เส้นทางไปยังไดเร็กทอรีเอกสาร
string dataDir = RunExamples.GetDataDir_PNG();
 
// โหลดรูปภาพจากไฟล์ (หรือสตรีม)
using (Image image = Image.Load(dataDir + "aspose_logo.png"))
{
    // วนซ้ำช่วง CompressionLevel ที่เป็นไปได้
   for (int i = 0; i <= 9; i++)
    {
        // สร้างอินสแตนซ์ของ PngOptions สำหรับแต่ละผลลัพธ์ PNG ตั้งค่า CompressionLevel และบันทึกผลลัพธ์บนดิสก์
        PngOptions options = new PngOptions();
        options.CompressionLevel = i;
        image.Save(i + "_out.png", options);
    }
}

บีบอัดรูปภาพ JPEG ใน C#

เพื่อจัดการกับรูปภาพ JPEG Aspose.Imaging for .NET จัดเตรียมคลาส JpegOptions ซึ่งมีประเภทการบีบอัดต่อไปนี้สำหรับรูปภาพ JPEG

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

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

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

// เส้นทางไปยังไดเร็กทอรีเอกสาร
string dataDir = RunExamples.GetDataDir_JPEG();
          
using (var original = Image.Load(dataDir+"ColorGif.gif"))
{
    var jpegOptions = new JpegOptions()
{
    ColorType = JpegCompressionColorMode.Grayscale,
    CompressionType = JpegCompressionMode.Progressive,
          
};
    original.Save("D:/temp/result.jpg", jpegOptions);
}

ใช้การบีบอัดภาพ TIFF ใน C

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

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

// เส้นทางไปยังไดเร็กทอรีเอกสาร
string dataDir = RunExamples.GetDataDir_ModifyingAndConvertingImages();

// โหลดรูปภาพผ่านตำแหน่งพาธของไฟล์หรือสตรีม
Image image = Image.Load(dataDir + "SampleTiff.tiff");

// สร้างอินสแตนซ์ของ TiffOptions สำหรับรูปภาพผลลัพธ์
TiffOptions outputSettings = new TiffOptions(TiffExpectedFormat.Default);

// ตั้งค่า BitsPerSample การบีบอัด โหมดโฟโตเมตริก และจานสีโทนสีเทา
outputSettings.BitsPerSample = new ushort[] { 4 };
outputSettings.Compression = TiffCompressions.Lzw;
outputSettings.Photometric = TiffPhotometrics.Palette;
outputSettings.Palette = ColorPaletteHelper.Create4BitGrayscale(false);
image.Save(dataDir + "SampleTiff_out.tiff", outputSettings);

บทสรุป

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

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

ข้อมูล: การใช้ตัวแปลง Aspose JPG เป็น PPT หรือ PNG เป็น PPT คุณสามารถสร้างงานนำเสนอ PowerPoint จากรูปภาพง่ายๆ