แสดงผลข้อความโดยใช้ร่ายมนตร์
.NET API โซลูชั่น เพื่อแสดงข้อความด้วยแบบอักษรที่ต้องการ
โซลูชัน Aspose.Font API มีฟังก์ชันการทำงานที่หลากหลายเพื่อทำงานกับแบบอักษร การแปลง การปรับแต่งสัญลักษณ์ การตรวจจับสัญลักษณ์ละติน และอื่นๆ อีกมากมาย คุณลักษณะบางอย่างเชื่อมโยงกับการปรับแต่งด้วยร่ายมนตร์เช่นการแสดงข้อความ
ร่ายมนตร์คืออักขระที่ออกแบบเฉพาะตัวของแบบอักษรหรือการแสดงกราฟิกของสัญลักษณ์/อักขระ หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับหน่วยแบบอักษรนี้ โปรดอ่านบทความ Introduction to Glyph
หน้านี้อธิบายตัวเลือกเกี่ยวกับวิธีการแสดงข้อความ «สวัสดีชาวโลก» โดยใช้ร่ายมนตร์ แต่มีการอธิบายการทำงานทั้งหมดอย่างละเอียดใน การใช้วัตถุ Glyph บทความ คุณจะพบตัวอย่างโค้ด C# เพิ่มเติม และเรียนรู้การทำงานของ Aspose.Font สำหรับการทำงานกับร่ายมนตร์และอ็อบเจกต์ Glyph โดยเฉพาะ
ในการพิมพ์ข้อความด้วยร่ายมนตร์เราต้องการ:
Aspose.Font สำหรับ .NET API ซึ่งเป็น API การจัดการและการแปลงเอกสารที่มีคุณลักษณะหลากหลาย มีประสิทธิภาพ และใช้งานง่ายสำหรับแพลตฟอร์ม C#
เปิดตัวจัดการแพ็คเกจ NuGet และค้นหา Aspose.Font และติดตั้ง คุณสามารถใช้คำสั่งต่อไปนี้จาก Package Manager Console
Package Manager Console Command
PM> Install-Package Aspose.Font
ขั้นตอนในการแสดงข้อความ «สวัสดีชาวโลก» โดยใช้ C#
- สร้างคลาส GlyphOutlinePainter ซึ่งต้องใช้วัตถุประเภท System.Drawing.Drawing2D.GraphicsPath สำหรับการวาดภาพกราฟิก
- ใช้อินเทอร์เฟซ Rendering.IGlyphOutlinePainter เพื่อวาดร่ายมนตร์โดยใช้อินเทอร์เฟซนี้
- ระบบย่อยการเรนเดอร์จะเรียกเมธอดของ GlyphOutlinePainter เพื่อวาดสัญลักษณ์ ดังนั้นพาธภายในของ glyph จะถูกเรนเดอร์ไปยังอ็อบเจ็กต์ GraphicsPath อันเป็นผลมาจากการเรนเดอร์สัญลักษณ์ เพื่อให้ได้ภาพสัญลักษณ์ในการแสดงบิตแมป ผลลัพธ์ GraphicsPath จะต้องถูกวาดลงในวัตถุ System.Drawing.Bitmap
- หากต้องการดูตัวอย่างโค้ดที่มีรายละเอียดมากขึ้นพร้อมคำอธิบายที่ชัดเจน โปรดอ่านบทความ Text Rendering using TrueType Font
รหัส C# เพื่อแสดงวลี
using Aspose.Font.Rendering;
using Aspose.Font.RenderingPath;
class GlyphOutlinePainter: IGlyphOutlinePainter
{
private System.Drawing.Drawing2D.GraphicsPath _path;
private System.Drawing.PointF _currentPoint;
public GlyphOutlinePainter(System.Drawing.Drawing2D.GraphicsPath path)
{
_path = path;
}
public void MoveTo(MoveTo moveTo)
{
_path.CloseFigure();
_currentPoint.X = (float)moveTo.X;
_currentPoint.Y = (float)moveTo.Y;
}
public void LineTo(LineTo lineTo)
{
float x = (float)lineTo.X;
float y = (float)lineTo.Y;
_path.AddLine(_currentPoint.X, _currentPoint.Y, x, y);
_currentPoint.X = x;
_currentPoint.Y = y;
}
public void CurveTo(CurveTo curveTo)
{
float x3 = (float)curveTo.X3;
float y3 = (float)curveTo.Y3;
_path.AddBezier(
_currentPoint.X,
_currentPoint.Y,
(float)curveTo.X1,
(float)curveTo.Y1,
(float)curveTo.X2,
(float)curveTo.Y2,
x3,
y3);
_currentPoint.X = x3;
_currentPoint.Y = y3;
}
public void ClosePath()
{
_path.CloseFigure();
}
}
คำถามที่พบบ่อย
1. การแสดงข้อความคืออะไร?
ตาม Microsoft การแสดงข้อความคือกระบวนการแปลงสตริงเป็นรูปแบบที่ผู้ใช้อ่านได้ พูดง่ายๆ คือแสดงข้อความบนหน้าจอโดยใช้หน่วยแบบอักษร - ร่ายมนตร์
2. แบบอักษรแสดงผลอย่างไร
ในการแสดงแบบอักษรโดยใช้โซลูชัน API นี้ คุณจะต้องมีเอนทิตีของ Aspose.Font.Rendering และ Aspose.Font.Renderers เนมสเปซ ขั้นแรก ใช้เมธอด IGlyphOutlinePainter จากนั้นสร้างเมธอด DrawText() สร้างวิธียูทิลิตี้เพื่อคำนวณความกว้างของฟอนต์และเรียกใช้ฟังก์ชันการแสดงข้อความ
3. การจัดช่องไฟคืออะไร?
การจัดช่องไฟกำลังปรับช่องว่างระหว่างสัญลักษณ์เพื่อให้ข้อความดูนุ่มนวลขึ้น นอกจากนี้ยังช่วยลดความยาวของสตริงข้อความ