แสดงข้อความโดยใช้ร่ายมนตร์
โซลูชัน C++ API เพื่อแสดงข้อความด้วยฟอนต์ที่ต้องการ
โซลูชัน Aspose.Font API นำเสนอความสามารถมากมายสำหรับการทำงานกับฟอนต์ รวมถึงการแปลง การจัดการร่ายมนตร์ การตรวจจับสัญลักษณ์ละติน และอื่นๆ คุณสมบัติบางอย่างเกี่ยวข้องกับการปรับแต่งสัญลักษณ์ เช่น การแสดงข้อความ
สัญลักษณ์คือการออกแบบเฉพาะของอักขระในแบบอักษรหรือการแสดงกราฟิกของสัญลักษณ์หรืออักขระ หากต้องการทำความเข้าใจหน่วยแบบอักษรนี้ให้ลึกซึ้งยิ่งขึ้น โปรดอ่านบทความ
หน้านี้อธิบายวิธีแสดงข้อความโดยใช้สัญลักษณ์ แต่คำอธิบายที่ครอบคลุมเกี่ยวกับฟังก์ชันมีอยู่ในบทความ การใช้วัตถุสัญลักษณ์ คุณจะพบตัวอย่างโค้ด C++ เพิ่มเติมและเรียนรู้เกี่ยวกับความสามารถของ Aspose.Font สำหรับการทำงานกับ glyphs และ Glyph object โดยเฉพาะ คุณยังสามารถเรียนรู้ตัวอย่างและไฟล์ข้อมูลทั้งหมดได้ที่ Aspose Github Project
ในการพิมพ์ข้อความด้วยร่ายมนตร์เราต้องการ:
Aspose.Font สำหรับ C++ API ซึ่งเป็น API การจัดการและการแปลงเอกสารที่มีคุณลักษณะหลากหลาย ทรงพลัง และใช้งานง่าย
เปิดตัวจัดการแพ็คเกจ NuGet และค้นหา Aspose.Font และติดตั้ง คุณสามารถใช้คำสั่งต่อไปนี้จาก Package Manager Console
Package Manager Console Command
PM> Install-Package Aspose.Font
แสดงข้อความด้วยสัญลักษณ์โดยใช้ C++
ขั้นตอนต่อไปมักจะจำเป็นในการแสดงข้อความด้วยร่ายมนตร์:
- โหลดไฟล์ฟอนต์ลงในหน่วยความจำ ที่นี่คุณต้องสร้างวัตถุแบบอักษร เช่นวัตถุ Type1Font และส่งผ่านไปยังเส้นทางไฟล์แบบอักษร
- ถอดรหัสข้อความเป็น glyph ID ที่สอดคล้องกัน สำหรับสิ่งนี้ ให้ส่งอักขระแต่ละตัวของข้อความผ่านวัตถุเข้ารหัสของฟอนต์ และถอดรหัสให้เป็น ID ของสัญลักษณ์ที่สอดคล้องกัน
- รับโครงร่างของแต่ละสัญลักษณ์ เค้าร่างเป็นเส้นทางที่กำหนดรูปร่างของตัวละคร ซึ่งสามารถทำได้โดยใช้เมธอด GetGlyphOutline() ของอ็อบเจ็กต์ Font
- วาดโครงร่างของแต่ละสัญลักษณ์โดยใช้วัตถุกราฟิก เช่น วัตถุ GraphicsPath เพียงสร้างวัตถุที่ใช้อินเทอร์เฟซ IGlyphOutlinePainter ซึ่งมีหน้าที่ในการวาดโครงร่างของร่ายมนตร์
- แสดงข้อความโดยใช้วัตถุกราฟิกเพื่อวาดโครงร่างของแต่ละสัญลักษณ์ ซึ่งสามารถทำได้โดยใช้เมธอด DrawPath() ของวัตถุกราฟิก
รหัส C++ เพื่อแสดงข้อความ
using Aspose::Font::Glyphs;
using Aspose::Font::Rendering;
using Aspose::Font::RenderingPath;
class GlyphOutlinePainter: IGlyphOutlinePainter
RenderingText::GlyphOutlinePainter::GlyphOutlinePainter(System::SharedPtr<System::Drawing::Drawing2D::GraphicsPath> path)
{
_path = path;
}
void RenderingText::GlyphOutlinePainter::MoveTo(System::SharedPtr<Aspose::Font::RenderingPath::MoveTo> moveTo)
{
_path->CloseFigure();
_currentPoint.set_X((float)moveTo->get_X());
_currentPoint.set_Y((float)moveTo->get_Y());
}
void RenderingText::GlyphOutlinePainter::LineTo(System::SharedPtr<Aspose::Font::RenderingPath::LineTo> lineTo)
{
float x = (float)lineTo->get_X();
float y = (float)lineTo->get_Y();
_path->AddLine(_currentPoint.get_X(), _currentPoint.get_Y(), x, y);
_currentPoint.set_X(x);
_currentPoint.set_Y(y);
}
void RenderingText::GlyphOutlinePainter::CurveTo(System::SharedPtr<Aspose::Font::RenderingPath::CurveTo> curveTo)
{
float x3 = (float)curveTo->get_X3();
float y3 = (float)curveTo->get_Y3();
_path->AddBezier(_currentPoint.get_X(), _currentPoint.get_Y(), (float)curveTo->get_X1(), (float)curveTo->get_Y1(), (float)curveTo->get_X2(), (float)curveTo->get_Y2(), x3, y3);
_currentPoint.set_X(x3);
_currentPoint.set_Y(y3);
}
void RenderingText::GlyphOutlinePainter::ClosePath()
{
_path->CloseFigure();
}
System::Object::shared_members_type Aspose::Font::Examples::WorkingWithTrueTypeAndOpenTypeFonts::RenderingText::GlyphOutlinePainter::GetSharedMembers()
{
auto result = System::Object::GetSharedMembers();
result.Add("Aspose::Font::Examples::WorkingWithTrueTypeAndOpenTypeFonts::RenderingText::GlyphOutlinePainter::_path", this->_path);
result.Add("Aspose::Font::Examples::WorkingWithTrueTypeAndOpenTypeFonts::RenderingText::GlyphOutlinePainter::_currentPoint", this->_currentPoint);
return result;
}
คำถามที่พบบ่อย
1. แบบอักษรแสดงผลผ่าน Aspose.Font อย่างไร
ในการเรนเดอร์ฟอนต์โดยใช้โซลูชัน API นี้ คุณจะต้องมีเอนทิตีของ Aspose.Font.Rendering และ Aspose.Font.Renderers เนมสเปซ ขั้นแรก ปรับใช้เมธอด IGlyphOutlinePainter จากนั้นสร้างเมธอด DrawText() สร้างวิธีการอรรถประโยชน์เพื่อคำนวณความกว้างของแบบอักษรและเรียกใช้ฟังก์ชันการแสดงผลข้อความ
2. ปัจจัยใดที่คุณควรคำนึงถึงเมื่อแสดงข้อความด้วยสัญลักษณ์
เมื่อแสดงข้อความด้วยร่ายมนตร์ มีปัจจัยสำคัญหลายประการที่ต้องพิจารณาเพื่อให้แน่ใจว่าผลลัพธ์ถูกต้องและน่าดึงดูดสายตา เช่น การเลือกแบบอักษร การบอกใบ้ การจัดช่องไฟและการติดตาม ตัวชี้วัดของสัญลักษณ์ สีและคอนทราสต์ ฯลฯ
3. คำใบ้แบบอักษรคืออะไร
คำใบ้สามารถช่วยรักษาความชัดเจนและความชัดเจนของข้อความ โดยเฉพาะในขนาดที่เล็กกว่าหรือบนหน้าจอที่มีความละเอียดต่ำ