Joint Photographic Experts Group (JPG/JPEG) และ Portable Network Graphics (PNG) เป็นรูปแบบภาพแรสเตอร์ที่นิยมใช้บนอินเทอร์เน็ต ต่างจาก JPEG ซึ่งใช้การบีบอัดแบบ DCT PNG ใช้การบีบอัดแบบ LZW ซึ่งเหมือนกับที่ใช้ในรูปแบบ GIF และ TIFF ข้อได้เปรียบที่ใหญ่ที่สุดของ PNG เมื่อเทียบกับ JPEG คือการบีบอัดนั้นไม่มีการสูญเสียข้อมูล ซึ่งหมายความว่าไม่มีการสูญเสียคุณภาพทุกครั้งที่เปิดและบันทึกอีกครั้ง PNG ยังจัดการรูปภาพที่มีรายละเอียดและความคมชัดสูงได้ดีอีกด้วย ในบทความนี้ เราจะพูดถึงขั้นตอนในการแปลงรูปภาพ JPG เป็นรูปแบบ PNG โดยใช้ .NET REST API
API การประมวลผลภาพ
Aspose.Imaging Cloud เป็นหนึ่งในผลิตภัณฑ์ชั้นนำของเราสำหรับการประมวลผลรูปแบบภาพ ช่วยให้คุณสามารถครอบตัด พลิก ปรับขนาด หมุน ค้นหา แปลง และส่งออกรูปแบบภาพที่มีอยู่ไปยัง รูปแบบไฟล์ที่รองรับ สถาปัตยกรรม REST ช่วยให้นักพัฒนาสามารถนำความสามารถด้านการสร้างภาพที่หลากหลายมาใช้ในโซลูชันบนคลาวด์ได้ เพื่ออำนวยความสะดวกแก่ลูกค้าของเรามากยิ่งขึ้น เราได้พัฒนา Aspose.Imaging Cloud SDK for .NET ร่วมกับ Aspose.Imaging REST API เพื่อให้คุณสามารถจัดการภาพขั้นสูงทั้งหมดภายในแอปพลิเคชัน C# .NET ของคุณได้
การติดตั้ง
ในการใช้ SDK เราจะต้องติดตั้ง SDK ในระบบก่อน SDK สามารถดาวน์โหลดได้ที่ NuGet และ GitHub โปรดเรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัลเพื่อติดตั้ง SDK ผ่าน NuGet:
nuget install Aspose.Imaging-Cloud
หรือดำเนินการคำสั่งต่อไปนี้ใน NuGet Package Manager:
PM> Install-Package Aspose.Imaging-Cloud
แนวทาง Visual Studio
อีกวิธีหนึ่งคือการติดตั้งโดยตรงภายใน Visual Studio:
- เปิด Solution Explorer
- ขยายโครงการและคลิกขวาที่โฟลเดอร์แพ็คเกจภายในโซลูชันของคุณ
- เลือกตัวเลือกจัดการแพ็คเกจ NuGet…
- คลิกที่แท็บ Browse และค้นหา “Aspose.Imaging-Cloud”
- คลิกช่องกาเครื่องหมายข้างๆ แพ็คเกจ Aspose.Imaging-Cloud เลือกเวอร์ชันที่เหมาะสมในแท็บด้านขวา และคลิกปุ่ม เพิ่มแพ็คเกจ
สมัครสมาชิก Aspose.Cloud
API ทั้งหมดของเราสามารถเข้าถึงได้โดยผู้ที่ได้รับอนุญาตเท่านั้น เพื่อรักษาความสมบูรณ์และความเป็นส่วนตัวของข้อมูล นอกจากนี้ ไฟล์ที่จัดเก็บในที่จัดเก็บข้อมูลบนคลาวด์จะเชื่อมโยงกับบัญชีที่สมัครใช้งานผ่าน Aspose.Cloud Dashboard ดังนั้น ขั้นตอนแรกคือการสร้างบัญชีสมัครใช้งานฟรีโดยไปที่ Aspose.Cloud Dashboard หากคุณมีบัญชี GitHub หรือ Google ให้ลงทะเบียน มิฉะนั้น ให้คลิกที่ปุ่ม สร้างบัญชีใหม่ และระบุข้อมูลที่จำเป็น จากนั้นเข้าสู่ระบบแดชบอร์ดโดยใช้ข้อมูลรับรอง และขยายส่วนแอปพลิเคชันจากแดชบอร์ด จากนั้นเลื่อนลงไปที่ส่วนข้อมูลรับรองไคลเอนต์เพื่อดูรายละเอียดรหัสไคลเอนต์และความลับไคลเอนต์
JPG เป็น PNG ใน C#
โปรดปฏิบัติตามขั้นตอนด้านล่างเพื่อดำเนินการแปลงรูปแบบ JPG เป็น PNG ภายในแอปพลิเคชัน C# .NET
- สร้างวัตถุ ImagingApi ในขณะที่ส่งรายละเอียด ID ไคลเอนต์และความลับไคลเอนต์เป็นอาร์กิวเมนต์
- ประการที่สอง อ่านภาพ JPEG จากไดรฟ์ภายในเครื่องและส่งเป็นอาร์กิวเมนต์ไปยังวัตถุ UploadFileRequest
- ประการที่สาม เรียกใช้เมธอด UploadFile(…) ของ ImagingApi เพื่ออัปโหลดไฟล์ไปยังที่เก็บข้อมูลบนคลาวด์
- ตอนนี้สร้างอินสแตนซ์ของคลาส ConvertImageRequest ซึ่งรับชื่อภาพและรูปแบบเอาท์พุตผลลัพธ์เป็นอาร์กิวเมนต์
- จากนั้นเรียกใช้เมธอด ConvertImage(…) ของคลาส ImagingApi เพื่อเริ่มการดำเนินการแปลง
- สุดท้าย ให้บันทึกเอาท์พุตจากสตรีมไปยังไดรฟ์ภายในเครื่องโดยใช้ File.Create (วิธีการแบบกำหนดเองมีแชร์อยู่ด้านล่าง)
// รับ ClientID จาก https://dashboard.aspose.cloud/
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";
// สร้างอินสแตนซ์ของ ImagingApi
ImagingApi imagingApi= new ImagingApi( clientSecret,clientID,"https://api.aspose.cloud/");
// เส้นทางของภาพอินพุต JPEG
string imageFile = "jpg-to-png.jpeg";
// รูปแบบไฟล์เอาท์พุต
string format = "png";
// ชื่อไฟล์ผลลัพธ์
string resultantFile = "converted.png";
// โหลดไฟล์จากไดรฟ์ภายในเครื่อง
using (var file = System.IO.File.OpenRead("/Users/nshahbaz/Desktop/" + imageFile))
{
var uploadFileRequest = new UploadFileRequest(imageFile, file);
// อัปโหลดเอกสารต้นฉบับไปยัง Cloud Storage
imagingApi.UploadFile(uploadFileRequest);
}
try
{
// สร้างภาพคำขอ
var request = new ConvertImageRequest(imageFile, format, null, null);
// เริ่มการดำเนินการแปลง
Stream updatedImage = imagingApi.ConvertImage(request);
// พิมพ์ข้อความแสดงความสำเร็จหากการแปลงสำเร็จ
if (request != null && request.Equals("OK"))
{
Console.WriteLine("JPG successfully converted to PNG !");
Console.ReadKey();
}
// เรียกใช้เมธอดเพื่อบันทึกเอาท์พุตบนไดรฟ์ระบบ
saveToDisk(updatedImage, "/Users/nshahbaz/Desktop/"+resultantFile);
}
catch (Exception ex)
{
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
// วิธีการที่กำหนดเองในการบันทึกวัตถุ Steam เป็นอินสแตนซ์ไฟล์
public static void saveToDisk(Stream responseStream, String resultantFile)
{
var fileStream = File.Create(resultantFile);
responseStream.Seek(0, SeekOrigin.Begin);
responseStream.CopyTo(fileStream);
fileStream.Close();
}
คำสั่ง cURL สำหรับการแปลง JPEG เป็น PNG
สถาปัตยกรรม REST ของ Cloud API ช่วยให้เราเข้าถึงได้แม้ผ่านทางเทอร์มินัลบรรทัดคำสั่ง แต่เนื่องจากข้อจำกัดด้านความปลอดภัย คุณต้องสร้าง JSON Web Token (JWT) ก่อนโดยอิงตามรายละเอียด ClientID และ ClientSecret ที่ดึงมาจาก Aspose.Cloud Dashboard โปรดดำเนินการคำสั่งต่อไปนี้ในเทอร์มินัลเพื่อสร้างโทเค็น JWT
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4ccf1790-accc-41e9-8d18-a78dbb2ed1aa&client_secret=caac6e3d4a4724b2feb53f4e460eade3" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
เมื่อเรามีโทเค็น JWT แล้ว ขั้นตอนถัดไปคือการเรียก API ConvertImage เพื่อดำเนินการแปลง JPG เป็น PNG
curl -X GET "https://api.aspose.cloud/v3.0/imaging/jpg-to-png.jpeg/convert?format=png" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-o converted.png
ขอ URL
https://api.aspose.cloud/v3.0/imaging/jpg-to-png.jpeg/convert?format=png
บทสรุป
เราได้สำรวจ Aspose.Imaging Cloud API สำหรับการแปลงภาพ JPEG เป็นรูปแบบ PNG เราได้เรียนรู้กระบวนการแปลงไฟล์โดยใช้โค้ด C# .NET เช่นเดียวกับการแปลงโดยใช้คำสั่ง cURL โปรดทราบด้วยว่า Cloud SDK นั้นแจกจ่ายภายใต้ใบอนุญาต MIT และสามารถดาวน์โหลดซอร์สโค้ดฉบับสมบูรณ์ได้ที่ GitHub หากคุณพบปัญหาหรือมีคำถามใดๆ ในระหว่างที่ใช้ API โปรดติดต่อเราผ่าน ฟอรัมสนับสนุนผลิตภัณฑ์ฟรี
บทความที่เกี่ยวข้อง
เราขอแนะนำให้ไปที่ลิงค์ต่อไปนี้เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับ