الموضوع السابق   الموضوع التالي 

طباعة نص مائل

Procedure: WriteAngularText

الغرض
طباعة نص يميل عن الاتجاه الموجب للمحور الأفقي بزاوية معينة.


الصيغة

procedure WriteAngularText(
    Canvas: TCanvas;
    Text: string;
    X, Y: Integer;
    Angle: Integer;
    FontName: string = '';
    FontSize: Integer = 10;
    FontColor: TColor = clBlack;
    FontBold: Boolean = False;
    FontItalic: Boolean = False;
    FontUnderline: Boolean = False;
    FontStrikeOut: Boolean = False;
    RTLReading: Boolean = True);

procedure WriteAngularText(
    Canvas: TCanvas;
    Text: string;
    X, Y: Integer;
    Angle: Integer;
    Font: TFont;
    RTLReading: Boolean = True);


الوسائط (Parameters)

Canvas كائن من النوع TCanvas و الذي ستتم طباعة النص عليه.
Text النص الذي ستتم طباعته.
X, Y الإحداثي الأفقي و العمودي للنقطة التي ستبدأ عندها الطباعة.
Angle زاوية ميل النص عن الاتجاه الموجب للمحور الأفقي. القيمة صفر تعني أنه ستتم طباعة النص بشكل طبيعي (دون ميلان).
FontName بارامتر اختياري يحدد اسم الخط الذي سيُطبع به النص. القيمة الافتراضية نص فارغ (Empty String) و تعني أنه سيتم استعمال الخط الحالي للكائن Caanvas.
FontSize بارامتر اختياري يحدد حجم الخط. الحجم الافتراضي 10 نقاط (Points).
FontColor بارامتر اختياري يحدد لون الخط. اللون الافتراضي أسود.
FontBold بارامتر اختياري يحدد ما إذا سيكون النص سميكاً أم لا. القيمة الافتراضية هي False و تعني أن النص سيكون عادياً.
FontItalic بارامتر اختياري يحدد ما إذا ستكون حروف النص مائلة أم لا. القيمة الافتراضية هي False و تعني أن النص سيكون عادياً.
FontUnderline بارامتر اختياري يحدد ما إذا سيكون النص مسطراً أم لا. القيمة الافتراضية هي False و تعني أن النص سيكون عادياً.
FontStrikeOut بارامتر اختياري يحدد ما إذا سيكون النص مشطوباً أم لا. القيمة الافتراضية هي False و تعني أن النص سيكون عادياً.
Font (في الصيغة الثانية) يحدد مواصفات الخط الذي سيطبع به النص. إذا كانت قيمته nil فإن الإجراء يستعمل خط الكائن Canvas (أي Canvas.Font).
RTLReading بارامتر اختياري يحدد ما إذا سيكون اتجاه قراءة النص من اليمين إلى اليسار (مثل العربية) أم لا. القيمة الافتراضية هي True و تعني أن اتجاه القراءة سيكون من اليمين إلى اليسار.

الشرح
يقوم هذا الإجراء بطباعة نص على لوحة رسم (Canvas) بحيث يمكن إدارة النص بأي زاوية. قياس الزوايا يبدأ من الاتجاه الموجب للمحور الأفقي للكائن Canvas و انطلاقاً في اتجاه عكس عقارب الساعة. الزاوية صفر تعني أن النص سيظهر في الاتجاه المعتاد، و الزاوية 45 مثلاً ستجعل النص مائلاً باتجاه أعلى اليمين. كذلك يمكن أن تكون الزاوية بالسالب، فالدرجة -45 مثلاً ستجعل النص مائلاً إلى أسفل اليمين.
إذا كانت قيمة البارامتر FontName نصاً فارغاً (Empty String) فإن الإجراء يستعمل الخط الحالي للعنصر Canvas (أي Canvas.Font.Name).
لإظهار النصوص العربية بشكل صحيح يجب أن تكون قيمة البارامتر RTLReading هي True.
العديد من مكونات دلفي (مثل النموذج Form و مكون الصورة Image، و كذلك الطابعة Printer) تحتوي على الخاصية Canvas (لوحة رسم) و التي يمكن من خلالها استعمال المناهج الرسومية (Graphics Methods) لطباعة النصوص و الرسوم و الصور.
ملاحظة:
قبل أن يقوم الإجراء بتعديلات على خط العنصر Canvas لطباعة النص فإنه يحتفظ بالمواصفات الأصلية لخط العنصر Canvas ثم يستعيدها بعد طباعة النص.


 أعلى الصفحة
 الموضوع السابق   الموضوع التالي