เข้ารหัสรูปภาพออนไลน์

เข้ารหัสภาพด้วย Aspose.SVG for .NET API แบบเรียลไทม์! โปรดโหลดรูปภาพจากระบบไฟล์ในเครื่อง แล้วคุณจะได้รับผลลัพธ์เป็น URI ข้อมูล แหล่งที่มาของรูปภาพ Base64 และแหล่งที่มาของพื้นหลัง CSS ของ Base64 ทันที รองรับ SVG, JPG, JPEG, PJP, PJPEG, PNG, BMP, XBM, GIF, TIFF, ICO, IFIF, WEBP และรูปแบบรูปภาพอื่นๆ

เกี่ยวกับโครงการ URI

URI ข้อมูลเป็นวิธีการฝังรูปภาพและไฟล์อื่นๆ ในหน้าเว็บเป็นสตริงข้อความตามการเข้ารหัส Base64 รูปแบบ URI ข้อมูลช่วยให้คุณสามารถรวมข้อมูลไบนารีในเอกสาร HTML, CSS, JSON หรือ SVG ตัวอย่างเช่น คุณสามารถฝังรูปภาพในหน้าเว็บได้ราวกับว่าโหลดมาจากทรัพยากรภายนอก แต่แทนที่จะระบุ URL ของไฟล์ คุณจะแทรกเนื้อหาที่เข้ารหัส Base64 ของรูปภาพ รูปแบบ URI ข้อมูลถูกกำหนดไว้ใน RFC 2397 และในปี 2022 เบราว์เซอร์หลักส่วนใหญ่รองรับอย่างเต็มที่ ข้อได้เปรียบหลักของการใช้ URI ข้อมูลคือการโหลดหน้าเว็บเร็วขึ้น เนื่องจากเบราว์เซอร์ไม่จำเป็นต้องส่งคำขอทางเว็บเพิ่มเติมเพื่อดึงไฟล์ เนื่องจากรูปภาพถูกฝังอยู่ในเอกสาร HTML แล้ว

ไวยากรณ์ของ data URI มีดังต่อไปนี้: data:[<mime type>][;charset=<charset>][;base64],<encoded data>

เนื่องจากขนาดของข้อมูลที่เข้ารหัส Base64 เพิ่มขึ้น 33% ขอแนะนำให้ใช้ URI ข้อมูลสำหรับรูปภาพขนาดเล็กเท่านั้น รูปภาพ Base64 ขนาดใหญ่สร้างโค้ดจำนวนมากใน HTML ซึ่งส่งผลให้สูญเสียประโยชน์ด้านประสิทธิภาพ หากคุณต้องการแปลง PNG เป็น Base64 และใช้สตริงเข้ารหัสเพื่อฝังลงในไฟล์ข้อความ โปรดเรียนรู้ข้อดีและข้อเสียทั้งหมดก่อน


วิธีแปลง PNG เป็น Base64 ใน C#

ในการแปลง PNG เป็นสตริง Base64 เราใช้ API Aspose.SVG for .NET ซึ่งเป็น API การจัดการเอกสารที่มีฟีเจอร์หลากหลาย ทรงพลัง และใช้งานง่ายสำหรับแพลตฟอร์ม C# เราพิจารณาตัวอย่างการเข้ารหัส PNG ถึง Base64 และการฝังสตริง Base64 เป็น URI ข้อมูลในเอกสาร SVG การดำเนินการเหล่านี้สามารถทำได้โดยใช้โค้ดไม่กี่บรรทัด:


รหัส C# เพื่อแปลง PNG เป็นสตริง Base64 และฝังลงในไฟล์ SVG

    // Open a binary file – PNG image
    var bytes = File.ReadAllBytes(@"image.png");
    // Initialize an SVGDocument object
    var document = new SVGDocument();
    // Create an image element
    var img = (SVGImageElement)document.CreateElementNS("http://www.w3.org/2000/svg", "image");
    // Convert PNG to Base64
    img.Href.BaseVal = "data:image/png;charset=utf-8;base64," + Convert.ToBase64String(bytes);
    // Add the image element into the SVG document
    document.RootElement.AppendChild(img);
    // Save the SVG document
    document.Save(@"image-base64.svg");



ขั้นตอนในการแปลง PNG เป็น Base64 ใน C#

  1. เปิดภาพ PNG เพื่อแปลง ใช้เมธอด ReadAllBytes(path) เพื่อเปิด PNG และอ่านเนื้อหาของไฟล์ในอาร์เรย์ไบต์
  2. เริ่มต้นอินสแตนซ์ใหม่ของคลาส SVGDocument
  3. ใช้เมธอด CreateElementNS(namespaceURI, QualifiedName) ของคลาส SVGDocument เพื่อสร้างอินสแตนซ์รูปภาพ namespaceURI ตั้งค่าการอ้างอิงถึงข้อกำหนด W3C SVG qualifiedName ต้องมีชื่อแท็กสตริงขององค์ประกอบรูปภาพ
  4. แปลง PNG เป็น Base64 เรียกใช้เมธอด ToBase64String(bytes) เพื่อแปลงอาร์เรย์ของจำนวนเต็ม 8 บิตเป็นการแทนค่าสตริงที่เทียบเท่าซึ่งเข้ารหัสเป็นเลขฐาน 64
  5. เพิ่มองค์ประกอบรูปภาพลงในเอกสาร SVG โดยใช้วิธี AppendChild(node)
  6. เรียกเมธอด Save(path) เพื่อบันทึกเอกสาร SVG

ข้อดีและข้อเสียของ Data URI

URI ข้อมูลช่วยให้เราฝังรูปภาพบนหน้าเว็บได้อย่างชาญฉลาด รูปแบบ URI สามารถใช้ได้หลายวิธี แต่ไม่ว่าในกรณีใดมีข้อดีและข้อเสีย

ข้อดี:

  • เร่งความเร็วในการโหลดหน้าเว็บ เบราว์เซอร์ไม่จำเป็นต้องส่งคำขอเว็บเพิ่มเติมเพื่อดึงไฟล์ เนื่องจากรูปภาพถูกฝังอยู่ในเอกสาร HTML แล้ว
  • การปรับปรุงประสิทธิภาพ. เบราว์เซอร์ต้องการเวลา CPU น้อยลง
  • เว็บเพจเป็นอิสระจากไฟล์ภายนอก ทำให้ง่ายต่อการแบ่งปันแม้ออฟไลน์

ข้อเสีย:

  • ขนาดของข้อมูลที่เข้ารหัส Base64 มีขนาดใหญ่กว่าภาพไบนารี 1/3
  • ภาพที่เข้ารหัสจะไม่ถูกแคชโดยเบราว์เซอร์ และจะถูกดาวน์โหลดทุกครั้งที่มีการเยี่ยมชมหน้าดังกล่าว
  • ภาพที่เข้ารหัสยากต่อการแก้ไขเนื่องจากต้องถอดรหัสสตริง Base64 ก่อน
  • Google จะไม่จัดทำดัชนีรูปภาพ Base64 เนื่องจากไม่ปรากฏในผลการค้นหารูปภาพ

ตัวเข้ารหัส Base64 ออนไลน์

Aspose.SVG เสนอแอปพลิเคชันออนไลน์ฟรีสำหรับเข้ารหัสและถอดรหัสข้อมูลไบนารี:

  • ตัวเข้ารหัส Base64 เป็นชุดเครื่องมือที่ให้คุณเข้ารหัสข้อมูลไบนารีในรูปแบบเอาต์พุตต่างๆ: Plain Base64, JSON, XML, URI หรือ CSS
  • ตัวถอดรหัส Image Base64 แปลง URI ข้อมูลที่มีสตริง Base64 เป็นภาพโดยการวางสตริง URI ในตัวควบคุมอินพุต

แอปพลิเคชันบนเบราว์เซอร์ของเราทำงานได้จากทุกแพลตฟอร์ม รวมถึง Windows, Linux, Mac OS, Android และ iOS คุณไม่จำเป็นต้องลงทะเบียน ปลั๊กอิน หรือติดตั้งซอฟต์แวร์ เริ่มใช้เครื่องมือเข้ารหัส/ถอดรหัส Base64 ออนไลน์อย่างปลอดภัย มั่นคง และด้วยวิธีง่ายๆ!

ตัวอย่างการใช้งานการเข้ารหัส Base64

รหัส SVG เพื่อฝังรูปภาพ Base64 PNG ลงในเอกสาร SVG

<svg xmlns="http://www.w3.org/2000/svg">
	<image href="data:image/png;charset=utf-8;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAg..." alt="Red circle"/>
</svg>

รหัส HTML เพื่อฝังรูปภาพ Base64 PNG

<body>
    <div>
        <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAg..." alt="Red circle">
    </div>
</body>

โค้ด CSS เพื่อฝังรูปภาพ Base64 PNG เป็นภาพพื้นหลัง

.class {
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAg...');
}

รหัส XML เพื่อฝังรูปภาพ Base64 PNG ลงในเอกสาร XML

<?xml version="1.0" encoding="UTF-8"?>
<root>
<image mime = "image/png">iVBORw0KGgoAAAANSUhEUgAAACAAAAAg...</image>
</root>

รหัส JSON เพื่อฝังรูปภาพ Base64 PNG ลงในเอกสาร JSON

{
  "image": {
    "mime": "image/png",
    "data": "iVBORw0KGgoAAAANSUhEUgAAACAAAAAg..."
  }
}



คำถามที่พบบ่อย

1. ฉันจะแปลง PNG เป็น Base64 ได้อย่างไร

Aspose.SVG ให้คุณแปลง PNG เป็นสตริง Base64 ด้วยวิธีใดก็ได้ – ทางออนไลน์หรือทางโปรแกรม ตัวอย่างเช่น คุณสามารถเข้ารหัส PNG แบบเรียลไทม์โดยใช้ตัวเข้ารหัสออนไลน์ PNG ตัวเข้ารหัส ที่แปลงไฟล์ของคุณอย่างรวดเร็วและมีคุณภาพสูง อัปโหลด เข้ารหัส PNG และรับผลลัพธ์ในไม่กี่วินาที! ในทางกลับกัน คุณสามารถใช้ Aspose.SVG for .NET API เพื่อแปลง PNG เป็น Base64 โดยทางโปรแกรม

2. เหตุใดจึงจำเป็นต้องมีการเข้ารหัส Base64

ในอดีต การถ่ายโอนข้อมูลและรูปแบบการจัดเก็บจำนวนมากใช้ข้อความแทนรหัสไบนารี (HTML, XML, อีเมล และอื่นๆ) จะเกิดอะไรขึ้นหากรูปแบบการถ่ายโอนข้อมูลเป็นแบบข้อความ แต่คุณต้องการถ่ายโอนข้อมูลไบนารี นี่คือที่มาของการเข้ารหัส Base64 เพื่อป้องกันการตีความสัญลักษณ์ไบนารีผิดเมื่อส่งข้อมูลผ่านอินเทอร์เน็ต จำเป็นต้องเข้ารหัสเป็นอักขระ แอปพลิเคชั่นทั่วไปของการเข้ารหัส Base64: โครงร่าง URI ข้อมูลสำหรับรูปภาพ (CSS, HTML, JavaScript); การถ่ายโอนรูปภาพและข้อมูลไบนารีอื่น ๆ ไปยัง XML เก็บภาพในฐานข้อมูล รวมรูปภาพลงในข้อความอีเมล

3. เบราว์เซอร์ใดบ้างที่รองรับ URI ของข้อมูล

Data URI เป็นวิธีที่เร็วและง่ายที่สุดในการฝังรูปภาพและไฟล์อื่นๆ บนหน้าเว็บของคุณ Data URI ได้รับการสนับสนุนโดยเบราว์เซอร์สมัยใหม่หลักๆ: Chrome, Firefox, Safari, Edge, Opera และ IE8+

4. การเข้ารหัส Base64 คืออะไร?

Base64 เป็นโครงร่างการเข้ารหัสแบบไบนารีเป็นข้อความที่แสดงข้อมูลไบนารีในรูปแบบสตริง ASCII โดยทั่วไปจะใช้การเข้ารหัส Base64 เมื่อจำเป็นต้องเข้ารหัสข้อมูลไบนารีที่ต้องจัดเก็บและถ่ายโอนผ่านสื่อที่ออกแบบมาเพื่อทำงานกับข้อมูลที่เป็นข้อความ

เริ่มต้นใช้งาน Aspose.SVG for .NET API

หากคุณสนใจในการพัฒนากราฟิกเวกเตอร์ที่ปรับขนาดได้และแอปพลิเคชัน ให้ติดตั้ง Aspose.SVG for .NET API ที่ยืดหยุ่นและความเร็วสูง พร้อมด้วยชุดอินเทอร์เฟซอันทรงพลังสำหรับ C# และภาษาการเขียนโปรแกรม .NET อื่นๆ
ติดตั้งจากบรรทัดคำสั่งเป็น nuget install Aspose.SVG หรือผ่าน Package Manager Console ของ Visual Studio ด้วย Install-Package Aspose.SVG หรือรับตัวติดตั้ง MSI แบบออฟไลน์หรือ DLL ในไฟล์ ZIP จาก ดาวน์โหลด Aspose.SVG for .NET API เป็นไลบรารีแบบสแตนด์อโลนและไม่ต้องอาศัยซอฟต์แวร์ใดๆ สำหรับการประมวลผลเอกสาร SVG
สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการติดตั้งไลบรารี C# และข้อกำหนดของระบบ โปรดดูที่ เอกสารประกอบ Aspose.SVG

ตัวเข้ารหัส Base64 อื่น ๆ ที่รองรับ

คุณสามารถแปลง Image เป็นสตริง Base64 รองรับรูปแบบ JPG, PNG, BMP, GIF, TIFF, ICO และ SVG:

JPG to Base64 (JPEG Image)
PNG to Base64 (Portable Network Graphics)
BMP to Base64 (Bitmap Image)
SVG to Base64 (Scalable Vector Graphics)
TIFF to Base64 (Tagged Image Format)
GIF TO Base64 (Graphical Interchange Format)
ICO to Base64 (Computer Icons Format)
Image to Base64 (Binary Image)