แปลง JPG เป็น PNG

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

API การประมวลผลภาพ

Aspose.Imaging for .NET เป็น API การเขียนโปรแกรมที่น่าทึ่งที่ให้ความสามารถในการสร้าง จัดการ และแปลง รูปแบบไฟล์ที่รองรับ โดยทำงานโดยไม่ขึ้นอยู่กับแอพพลิเคชั่นกราฟิกอื่นๆ และไม่จำเป็นต้องติดตั้งโปรแกรมแก้ไขรูปภาพใดๆ บนเครื่อง สามารถใช้กับแอปพลิเคชันเว็บ ASP.NET หรือแอปพลิเคชันเดสก์ท็อป Windows Aspose.Imaging for .NET รวมอยู่ในชุด Conholdate.Total for .NET ดังนั้น หากคุณได้ซื้อการสมัครสมาชิกสำหรับ Conholdate.Total for .NET คุณสามารถดำเนินการประมวลผลภาพทั้งหมดโดยใช้ Aspose.Imaging for .NET API ได้อย่างแน่นอน

ในการใช้ API ขั้นตอนแรกคือการติดตั้ง คุณอาจปฏิบัติตามขั้นตอนใดขั้นตอนหนึ่งเพื่อทำการติดตั้ง

  • ดาวน์โหลด ไฟล์ DLL และอ้างอิงด้วยตนเองในโครงการของคุณ
  • เปิดตัวจัดการแพ็คเกจ NuGet ค้นหา Aspose.Imaging และติดตั้ง
  • เรียกใช้คำสั่งต่อไปนี้จากคอนโซล NuGet Package Manager
Install-Package Aspose.Imaging

แปลง JPG เป็น PNG ใน C#

API นั้นแข็งแกร่งพอที่จะระบุรูปแบบของรูปภาพอินพุต และคุณเพียงแค่ต้องระบุรูปภาพต้นฉบับในรูปแบบของอินสแตนซ์ Stream หรือโดยการระบุเส้นทางไปยังไฟล์บนระบบภายในเครื่อง ในขั้นตอนต่อไปนี้ เราจะอธิบายวิธีการโหลดรูปภาพ JPEG และบันทึกเอาต์พุตในรูปแบบ PNG

  1. ก่อนอื่น เราต้องสร้างอินสแตนซ์ของวัตถุ Aspose.Imaging.License เรียก SetLicense(…) และระบุเส้นทางของไฟล์ Conholdate.Total.NET.lic เป็นอาร์กิวเมนต์
  2. ประการที่สอง สร้างอ็อบเจ็กต์ของคลาส Image ซึ่งเป็นคลาสพื้นฐานของรูปภาพทุกประเภท และส่งผลลัพธ์ของเมธอด Aspose.Imaging.Image.Load(..) ซึ่งรับ Steam หรือพาธสตริงของรูปภาพ ไฟล์ที่จะโหลด
  3. สร้างอินสแตนซ์ของคลาส PngOptions
  4. สุดท้าย เรียกเมธอด Save(String) ของคลาส Image และส่งผ่านตำแหน่งที่คุณต้องการบันทึกไฟล์ผลลัพธ์ PNG
// สร้างวัตถุเพื่อเริ่มต้นใบอนุญาต
Aspose.Imaging.License license = new Aspose.Imaging.License();

// จัดเตรียมเส้นทางของไฟล์ลิขสิทธิ์
license.SetLicense("/Documents/Conholdate.Total.NET.lic");

// โหลดรูปภาพที่มีอยู่ (ประเภท JPEG) ในอินสแตนซ์ของคลาส Image
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load("/Documents/samsung_galaxy.jpg"))
{
  // สร้างวัตถุของคลาส PngOptions
  Aspose.Imaging.ImageOptions.PngOptions options = new Aspose.Imaging.ImageOptions.PngOptions();
  
  // บันทึกรูปภาพผลลัพธ์และส่ง PngOptions เป็นอาร์กิวเมนต์
  image.Save(dataDir + "_output.png", options);
}

คลาส PngOptions ยังมีคุณสมบัติต่างๆ อีกด้วย และในตัวอย่างด้านล่าง เราได้ระบุให้สร้างประเภทสีของภาพที่ได้เป็นระดับสีเทา นอกจากนี้ ระดับการบีบอัดสำหรับรูปภาพผลลัพธ์จะถูกระบุเป็น 4 โปรดทราบว่าคุณสมบัติ CompressionLevel ยอมรับค่าระหว่าง 0-9 โดยที่ 9 คือการบีบอัดสูงสุด และ 0 คือค่าเริ่มต้น

// สร้างวัตถุ PngOptions
Aspose.Imaging.ImageOptions.PngOptions options = new Aspose.Imaging.ImageOptions.PngOptions();

// กำหนดประเภทสีของรูปภาพผลลัพธ์เป็น greyScale
options.ColorType = Aspose.Imaging.FileFormats.Png.PngColorType.Grayscale;

// ตั้งค่าระดับการบีบอัดสำหรับไฟล์ผลลัพธ์เป็น 4
options.CompressionLevel = 4;

คุณสามารถดาวน์โหลดไฟล์ต้นฉบับและรูปภาพระดับสีเทาที่เป็นผลลัพธ์ได้จากลิงก์ต่อไปนี้

การแปลง JPG เป็น PDF ใน C#

Aspose.Imaging for .NET สามารถแปลงรูปภาพ JPG เป็น PDF(Portable Document Format) ได้อย่างเท่าเทียมกัน ในระหว่างการแปลง คุณยังได้รับความสามารถในการตั้งค่า DocumentInfo รวมถึงรายละเอียดการปฏิบัติตามข้อกำหนด PDF/A ขั้นตอนต่อไปนี้จะอธิบายกระบวนการโหลดภาพแรสเตอร์และการแปลงเป็นรูปแบบ PDF

  1. ขั้นตอนแรกคือการสร้างอินสแตนซ์ของคลาส License
  2. ประการที่สอง เรียกเมธอด SetLicense(…) และระบุเส้นทางของไฟล์ Conholdate.Total.NET.lic ใบอนุญาตได้รับการเตรียมใช้งานเพื่อขจัดข้อจำกัดทั้งหมดที่มีอยู่ในเวอร์ชันทดลองใช้งาน
  3. ประการที่สาม สร้างอ็อบเจ็กต์ของคลาส Image ซึ่งเป็นคลาสพื้นฐานของรูปภาพทุกประเภท และส่งเอาต์พุตของเมธอด Aspose.Imaging.Image.Load(..)
  4. ตอนนี้สร้างอินสแตนซ์ของคลาส PdfOptions
  5. ในการตั้งค่าข้อมูลเอกสาร PDF เช่น ผู้แต่ง ชื่อเรื่อง หัวเรื่อง ฯลฯ ให้สร้างวัตถุของคลาส PdfDocumentInfo และส่งค่าไปยังวัตถุ PdfDocumentInfo ของคลาส PdfOptions
  6. ตอนนี้เพื่อที่จะบันทึกไฟล์ PDF ด้วยข้อมูลการปฏิบัติตามข้อกำหนด PDF/A โปรดสร้างอินสแตนซ์ของคลาส PdfCoreOptions และเชื่อมโยงกับคุณสมบัติ PdfCoreOptions ของวัตถุ PdfOptions
  7. สุดท้าย เรียกเมธอด Save(String) ของคลาส Image เพื่อสร้างเอาต์พุตเอกสาร PDF
// สร้างวัตถุเพื่อเริ่มต้นใบอนุญาต
Aspose.Imaging.License license = new Aspose.Imaging.License();

// จัดเตรียมเส้นทางของไฟล์ลิขสิทธิ์
license.SetLicense("/Documents/Conholdate.Total.NET.lic");

// โหลดรูปภาพที่มีอยู่ (ประเภท JPEG ) ในอินสแตนซ์ของคลาส Image
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dataDir+"samsung_galaxy.jpg"))
{
  // สร้างอินสแตนซ์ของคลาส PdfOptions
  Aspose.Imaging.ImageOptions.PdfOptions pdfOptions = new Aspose.Imaging.ImageOptions.PdfOptions();
  
  // สร้างวัตถุ PdfDocumentInfo และส่งผ่านไปยังอินสแตนซ์ PdfOptions
  pdfOptions.PdfDocumentInfo = new Aspose.Imaging.FileFormats.Pdf.PdfDocumentInfo
  {
    // ตั้งชื่อผู้เขียนสำหรับไฟล์ผลลัพธ์
    Author = "Nayyer Shahbaz",
    Title = "JPEG converted to PDF",
    Subject = "Aspose.Imaging for .NET"
  };
  
  // ตั้งค่าการปฏิบัติตาม PDF เป็น PDF/A-1a
  pdfOptions.PdfCoreOptions = new Aspose.Imaging.FileFormats.Pdf.PdfCoreOptions()
  {
    PdfCompliance = Aspose.Imaging.PdfComplianceVersion.PdfA1b
  };
  
  // บันทึกเอกสาร PDF ที่เป็นผลลัพธ์
  image.Save(dataDir + "_output.pdf", pdfOptions);
}

ไฟล์ตัวอย่างที่ใช้ในตัวอย่างข้างต้นสามารถดาวน์โหลดได้จากลิงค์ต่อไปนี้

รับใบอนุญาตฟรี

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

บทสรุป

ในบทความนี้ เราได้กล่าวถึงความสามารถต่างๆ ของ Aspose.Imaging for .NET โดยเฉพาะในการแปลงรูปแบบ JPG เป็น PNG ตลอดจนการเรนเดอร์เป็นรูปแบบ PDF โปรดทราบว่า Aspose.Imaging for .NET มีประสิทธิภาพมากกว่าและมีตัวเลือกมากมาย เมื่อเปรียบเทียบกับที่กล่าวไว้ข้างต้น ช่วยให้แอปพลิเคชัน .NET ของคุณสามารถวาดและประมวลผลภาพแรสเตอร์และเวกเตอร์ในระดับพื้นฐานถึงขั้นสูงได้

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

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