แสดงข้อความโดยใช้ glyphs
โซลูชัน API C++ เพื่อแสดงข้อความด้วยฟอนต์ที่ต้องการ.
Aspose.Font API Solution มีความสามารถหลากหลายสำหรับการทำงานกับฟอนต์ รวมถึงการแปลง การจัดการ glyphs การตรวจจับสัญลักษณ์ละติน และอื่น ๆ บางคุณสมบัติเกี่ยวกับการจัดการ glyphs เช่นการเรนเดอร์ข้อความ.
Glyph คือการออกแบบที่เป็นเอกลักษณ์ของอักขระในแบบอักษรหรือการแสดงผลกราฟิกของสัญลักษณ์หรืออักขระ เพื่อทำความเข้าใจหน่วยฟอนต์นี้ให้ลึกขึ้น อ่านบทความ บทนำสู่ Glyph เพื่อทำความเข้าใจเพิ่มเติม.
หน้านี้อธิบายวิธีการแสดงข้อความโดยใช้ glyphs แต่การอธิบายอย่างละเอียดของฟังก์ชันนี้มีในบทความ การใช้วัตถุ Glyph . ที่นั่นคุณจะพบตัวอย่างโค้ด C++ เพิ่มเติมและเรียนรู้เกี่ยวกับความสามารถของ Aspose.Font สำหรับการทำงานกับ glyphs และวัตถุ Glyph โดยเฉพาะ คุณยังสามารถเรียนรู้ตัวอย่างเต็มและไฟล์ข้อมูลได้จากโครงการ โครงการ Github .
เพื่อพิมพ์ข้อความด้วย glyphs เราต้องการ:
Aspose.Font for C++ API ซึ่งเป็น API ที่เต็มไปด้วยฟีเจอร์ มีประสิทธิภาพและใช้งานง่ายสำหรับการจัดการเอกสารและการแปลง.
เปิดตัวจัดการแพคเกจ NuGet และค้นหา Aspose.Font แล้วติดตั้ง คุณยังสามารถใช้คำสั่งต่อไปนี้จาก Package Manager Console.
Package Manager Console Command
PM> Install-Package Aspose.Font
เรนเดอร์ข้อความด้วย glyphs ด้วย C++
ขั้นตอนต่อไปนี้โดยปกติจะต้องทำเพื่อเรนเดอร์ข้อความด้วย glyphs:
- โหลดไฟล์ฟอนต์เข้าสู่หน่วยความจำ ที่นี่คุณต้องสร้างอ็อบเจกต์ฟอนต์ เช่นอ็อบเจกต์ Type1Font และระบุเส้นทางไฟล์ฟอนต์.
- ถอดรหัสข้อความเป็น ID ของ glyph ที่สอดคล้อง สำหรับนี้ ส่งอักขระแต่ละตัวของข้อความผ่านอ็อบเจกต์การเข้ารหัสของฟอนต์และถอดรหัสเป็น ID ของ glyph ที่สอดคล้อง.
- รับโครงร่างของแต่ละ glyph โครงร่างเป็นพาธที่กำหนดรูปทรงของอักขระ สามารถทำได้โดยใช้เมธอด GetGlyphOutline() ของอ็อบเจกต์ Font .
- วาดโครงร่างของแต่ละ glyph ด้วยอ็อบเจกต์กราฟิก เช่นอ็อบเจกต์ GraphicsPath สร้างอ็อบเจกต์ที่ทำตามอินเทอร์เฟซ IGlyphOutlinePainter ซึ่งรับผิดชอบการวาดโครงร่างของ glyphs.
- แสดงข้อความโดยใช้กราฟิกอ็อบเจกต์เพื่อวาดโครงร่างของแต่ละ glyph สามารถทำได้โดยใช้เมธอด 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. คำใบ้แบบอักษรคืออะไร
คำใบ้สามารถช่วยรักษาความชัดเจนและความชัดเจนของข้อความ โดยเฉพาะในขนาดที่เล็กกว่าหรือบนหน้าจอที่มีความละเอียดต่ำ