CanvasRenderingContext2D คืออะไร
องค์ประกอบ HTML <canvas>
เป็นพื้นที่บิตแมปในหน้า HTML Aspose.HTML for .NET มีอินเทอร์เฟซ
ICanvasRenderingContext2D
ที่ใช้สำหรับการวาดรูปสี่เหลี่ยม ข้อความ รูปภาพ และวัตถุอื่นๆ ลงบนผืนผ้าใบ HTML โดยให้บริบทการเรนเดอร์ 2D สำหรับพื้นผิวการวาดภาพขององค์ประกอบ <canvas>
ด้วยความช่วยเหลือนี้ คุณสามารถวาดรูปร่าง เส้น เส้นโค้ง กล่อง ข้อความ และรูปภาพ ใช้สี การหมุน การแปลง และการปรับแต่งพิกเซลอื่นๆ
ขั้นแรก ตรวจสอบให้แน่ใจว่าคุณได้ Aspose.HTML for .NET ติดตั้ง ในโปรเจ็กต์ของคุณ กระบวนการติดตั้งไลบรารีนี้ค่อนข้างง่าย เปิดตัวจัดการแพ็คเกจ NuGet ค้นหา Aspose.HTML และติดตั้ง คุณยังอาจใช้คำสั่งต่อไปนี้จาก Package Manager Console:
ติดตั้ง Aspose.HTML for .NET
Install-Package Aspose.HTML
วิธีเรนเดอร์ HTML Canvas ใน C#
เนมสเปซ
Aspose.Html.Dom.Canvas
เป็นวิธีในการวาดภาพกราฟิกผ่านองค์ประกอบ <canvas>
ของ HTML และเน้นที่กราฟิก 2D เป็นส่วนใหญ่ ข้อมูลโค้ด C# ต่อไปนี้แสดงวิธีใช้คุณลักษณะการวาดภาพของ HTML5 Canvas เพื่อเรนเดอร์กราฟิก 2 มิติที่กำหนดเองพร้อมข้อความและรูปร่างที่เต็มไปด้วยการไล่ระดับสีแบบรัศมี:
รหัส C# เพื่อเรนเดอร์แคนวาส
using Aspose.Html;
using Aspose.Html.Converters;
using Aspose.Html.Rendering.Pdf;
using System.IO;
...
// Create an HTML document
using (var document = new HTMLDocument())
{
// Add a <canvas> element to the document
var canvas = (HTMLCanvasElement)document.CreateElement("canvas");
document.Body.AppendChild(canvas);
// Set the width, height and style attributes of the canvas
canvas.Width = 400;
canvas.Height = 400;
canvas.Style.Border = "1 solid #d3d3d3";
// Get the rendering context of the canvas (2d context)
var context = (Html.Dom.Canvas.ICanvasRenderingContext2D)canvas.GetContext("2d");
// Create a radial gradient
var gradient = context.CreateRadialGradient(200, 200, 40, 200, 200, 140);
gradient.AddColorStop(0, "#c11700");
gradient.AddColorStop(0.5, "orange");
gradient.AddColorStop(1, "#5a2100");
// Write the text
context.Font = "bold 28px serif";
context.FillText("Radial Gradient", 100, 40);
// Fill the rectangle with the radial gradient
context.FillStyle = gradient;
context.FillRect(50, 50, 400, 400);
// Prepare an output path
string outputPath = Path.Combine(OutputDir, "canvas-radial.pdf");
// Create the PDF output device
using var device = new PdfDevice(outputPath);
// Render HTML5 Canvas to PDF
document.RenderTo(device);
}
คำแนะนำทีละขั้นตอน – CanvasRenderingContext2D
- ใช้ตัวสร้าง HTMLDocument() เพื่อเริ่มต้นเอกสาร HTML ในตัวอย่าง เราสร้าง HTML ตั้งแต่เริ่มต้น แต่คุณสามารถโหลดเอกสารจากไฟล์หรือ URL ได้เช่นกัน
- สร้างองค์ประกอบ
<canvas>
โดยใช้เมธอด CreateElement() และผนวกเข้ากับเนื้อหาของเอกสาร HTML ตั้งค่าแอตทริบิวต์ที่จำเป็นสำหรับองค์ประกอบ<canvas>
เช่นwidth
,height
และstyle
- หากต้องการใช้บริบท 2d canvas คุณต้องเรียกใช้เมธอด
GetContext()
ในองค์ประกอบ
<canvas>
และใช้2d
เป็นอาร์กิวเมนต์ - ขั้นตอนต่อไปคือการวาดภาพบนผืนผ้าใบ HTML:
- การไล่ระดับสีแบบรัศมีถูกสร้างขึ้นโดยใช้วิธี CreateRadialGradient() โดยกำหนดการหยุดสีที่ตำแหน่งต่างๆ เพื่อสร้างการเปลี่ยนสีที่ราบรื่น
- ข้อความถูกเขียนบนผืนผ้าใบโดยใช้วิธี
FillText()
ใช้คุณสมบัติ
Font
ของบริบทการเรนเดอร์ 2D เพื่อตั้งค่าแบบอักษรสำหรับการแสดงข้อความ - สี่เหลี่ยมผืนผ้าใบถูกเติมด้วยการไล่ระดับสีแบบรัศมีที่สร้างขึ้นก่อนหน้านี้โดยใช้วิธี FillRect()
- เรนเดอร์ HTML5 Canvas เป็น PDF:
- ใช้หนึ่งในคอนสตรัคเตอร์ PdfDevice() เพื่อสร้างอ็อบเจ็กต์ของคลาส PdfDevice
- เรียกวิธี RenderTo(device) วิธีการนี้ใช้วัตถุของคลาส PdfDevice เป็นพารามิเตอร์
ดังนั้นโค้ด C# นี้จะสร้างเอกสาร PDF พร้อมข้อความและการไล่ระดับสีแบบรัศมีที่วาดบนผืนผ้าใบ ไฟล์ PDF ที่ได้จะถูกบันทึกไปยังเส้นทางเอาต์พุตที่ระบุ
โปรแกรมเรนเดอร์ HTML
เนมสเปซ Aspose.Html.Rendering นำเสนอคลาส HtmlRenderer ที่รับผิดชอบในการแสดงเอกสาร HTML ผ่านการใช้งานอินเทอร์เฟซ IDevice อุปกรณ์เรนเดอร์จะห่อหุ้มพื้นผิวการวาดภาพ 2 มิติ ปัจจุบัน Aspose.HTML for .NET API มีการใช้งานต่อไปนี้: PdfDevice, XpsDevice, DocDevice และ ImageDevice ซึ่งใช้ในการสร้างรูปแบบไฟล์ PDF, XPS, DOCX และ Image ตามลำดับ
ในตัวอย่างที่เราดูด้านบน เอกสาร HTML ถูกแสดงผลในรูปแบบ PDF แต่คุณสามารถเลือกอุปกรณ์แสดงผลอื่นและแปลงเอกสารเป็นรูปแบบอื่นที่คุณต้องการได้
Aspose.HTML for .NET – เอกสารประกอบ
Aspose.HTML for .NET เป็นไลบรารีการแยกวิเคราะห์ HTML ขั้นสูง เราสามารถสร้าง แก้ไข นำทางผ่านโหนด แยกข้อมูล รวมและแปลงไฟล์ HTML, XHTML, MD, EPUB และ MHTML เป็น PDF, DOCX, รูปภาพ และรูปแบบยอดนิยมอื่น ๆ นอกจากนี้ยังจัดการ CSS, HTML Canvas, SVG, XPath และ JavaScript ได้ทันทีเพื่อขยายงานการจัดการ สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการติดตั้งไลบรารี C# และข้อกำหนดของระบบ โปรดดูที่ เอกสาร Aspose.HTML
ในบทความ
แก้ไข HTML5 Canvas – С# ตัวอย่าง
คุณจะได้เรียนรู้เกี่ยวกับ HTML Canvas และวิธีการทำงานกับเอกสารที่มีองค์ประกอบ <canvas>
HTML5 โดยใช้ Aspose.HTML for .NET API
ในบท ตัวแปลงการปรับแต่งแบบละเอียด Aspose.HTML for .NET ให้ทางเลือกอื่นในการเรนเดอร์เอกสาร HTML ที่ให้คุณควบคุมกระบวนการเรนเดอร์ในแอปพลิเคชัน C# ของคุณได้มากขึ้น ไลบรารี C# ของเราใช้ชุดอุปกรณ์เรนเดอร์ – PdfDevice, XpsDevice, DocDevice และ ImageDevice แต่ละตัวเลือกมีชุดตัวเลือกเฉพาะที่นำไปใช้กับคลาส PdfRenderingOptions, XpsRenderingOptions, DocRenderingOptions และ ImageRenderingOptions ตามลำดับ
Aspose.HTML อื่นๆ ที่รองรับสำหรับฟีเจอร์ .NET API
ใช้ไลบรารี Aspose.HTML for .NET เพื่อแปลง ผสาน แก้ไขเอกสาร HTML, EPUB, MHTML, XHTML, MD, แยกข้อมูลจากเว็บ และอื่นๆ อีกมากมาย!