แสดงผลข้อความโดยใช้ร่ายมนตร์

.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#

  1. สร้างคลาส GlyphOutlinePainter ซึ่งต้องใช้วัตถุประเภท System.Drawing.Drawing2D.GraphicsPath สำหรับการวาดภาพกราฟิก
  2. ใช้อินเทอร์เฟซ Rendering.IGlyphOutlinePainter เพื่อวาดร่ายมนตร์โดยใช้อินเทอร์เฟซนี้
  3. ระบบย่อยการเรนเดอร์จะเรียกเมธอดของ GlyphOutlinePainter เพื่อวาดสัญลักษณ์ ดังนั้นพาธภายในของ glyph จะถูกเรนเดอร์ไปยังอ็อบเจ็กต์ GraphicsPath อันเป็นผลมาจากการเรนเดอร์สัญลักษณ์ เพื่อให้ได้ภาพสัญลักษณ์ในการแสดงบิตแมป ผลลัพธ์ GraphicsPath จะต้องถูกวาดลงในวัตถุ System.Drawing.Bitmap
  4. หากต้องการดูตัวอย่างโค้ดที่มีรายละเอียดมากขึ้นพร้อมคำอธิบายที่ชัดเจน โปรดอ่านบทความ 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. การจัดช่องไฟคืออะไร?

การจัดช่องไฟกำลังปรับช่องว่างระหว่างสัญลักษณ์เพื่อให้ข้อความดูนุ่มนวลขึ้น นอกจากนี้ยังช่วยลดความยาวของสตริงข้อความ