مكتبة نصية من OpenGL الحديثة لـ Opentk.
متشعب من مكتبة Swax/QuickFont. المكتبة الأصلية Qfont
يمكنك تثبيت هذه المكتبة عبر Nuget.
تم اختبار QuickFont وتشغيله على Windows و Linux و OSX.
إصدار OpenGL المدعوم الحد الأدنى هو 3.0
ملاحظة ، يجب تغيير مشروع المثال للبناء بشكل صحيح على OSX ، نظرًا لأن Apple تقوم بشكل افتراضي بإرجاع سياق OpenGL 2.1 إذا لم يتم تحديد إصدار معين.
ما عليك سوى استبدال مُنشئ Game.CS بـ:
public Game ( )
: base ( 800 , 600 , GraphicsMode . Default , "QuickFont Example" , GameWindowFlags . Default , DisplayDevice . Default , 3 , 2 , GraphicsContextFlags . Default )سيؤدي ذلك إلى تحديد إصدار OpenGL> = 3.2 (عادة 4.1).
FreeTypeFontQFontDrawing لا ينفذ IDisposableQVertexArrayObject في طريقة onload () قم بإنشاء Qfont الخاص بك و qfontdrawing
_myFont = new QFont ( "Fonts/HappySans.ttf" , 72 , new QFontBuilderConfiguration ( true ) ) ;
_myFont2 = new QFont ( "basics.qfont" , new QFontBuilderConfiguration ( true ) ) ;
_drawing = new QFontDrawing ( ) ;استدعاء بعض أساليب الطباعة أو إنشاء بدايات الرسم بنفسها. أضفها إلى الرسم.
_drawing . DrawingPrimitives . Clear ( ) ;
_drawing . Print ( _myFont , "text1" , pos , FontAlignment . Left ) ;
// draw with options
var textOpts = new QFontRenderOptions ( )
{
Colour = Color . FromArgb ( new Color4 ( 0.8f , 0.1f , 0.1f , 1.0f ) . ToArgb ( ) ) ,
DropShadowActive = true
} ;
SizeF size = _drawing . Print ( _myFont , "text2" , pos2 , FontAlignment . Left , textOpts ) ;
var dp = new QFontDrawingPrimitive ( _myFont2 ) ;
size = dp . Print ( text , new Vector3 ( bounds . X , Height - yOffset , 0 ) , new SizeF ( maxWidth , float . MaxValue ) , alignment ) ;
drawing . DrawingPrimitives . Add ( dp ) ;
// after all changes do update buffer data and extend it's size if needed.
_drawing . RefreshBuffers ( ) ;ثم في حلقة السحب الخاصة بك:
_drawing . ProjectionMatrix = proj ;
_drawing . Draw ( ) ;
SwapBuffers ( ) ;في نهاية البرنامج ، تخلص من موارد QuickFont:
protected virtual void Dispose ( bool disposing )
{
_drawing . Dispose ( ) ;
_myFont . Dispose ( ) ;
_myFont2 . Dispose ( ) ;
}شاهد مشروع المثال المضمن للمزيد!
فيما يلي قائمة غير شاملة للأشخاص الذين ساهموا في QuickFont:
جيمس لوهر - منشئ المكتبة الأصلية (http://www.opentk.com/project/quickfont)
جون (Swax) Marshall - إضافة دعم المخزن المؤقت
باتريك (أوبكون) ييتس - المشرف الحالي
روبرتوفون - فئة QFONT متجانسة
Martinay - دعم OpenGL ES 2.0
جان بولاك
جوناثان
مرخصة بموجب معهد ماساتشوستس للتكنولوجيا ، يرجى الاطلاع على License.txt الملف في دليل جذر المشروع