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

طباعة نص بظل ساقط

Procedure: WriteProjectedText

الغرض
طباعة نص بظل ساقط متصل به و ممتد خلفه لمسافة محددة.


الصيغة

procedure WriteProjectedText(
    Canvas: TCanvas;
    Text: string;
    X, Y, Direction, Extent: Integer;
    TextColor: TColor = clBlack;
    ShadowColor: TColor = clGray;
    FontName: string = '';
    FontSize: Integer = 10;
    FontBold: Boolean = False;
    FontItalic: Boolean = False;
    FontUnderline: Boolean = False;
    FontStrikeOut: Boolean = False;
    RTLReading: Boolean = True);

procedure WriteProjectedText(
    Canvas: TCanvas;
    Text: string;
    X, Y, Direction, Extent: Integer;
    Font: TFont;
    ShadowColor: TColor = clGray;
    RTLReading: Boolean = True);


الوسائط (Parameters)

Canvas كائن من النوع TCanvas و الذي ستتم طباعة النص عليه.
Text النص الذي ستتم طباعته.
X, Y الإحداثي الأفقي و العمودي للنقطة التي ستبدأ عندها الطباعة.
Direction اتجاه سقوط الظل، و هو زاوية الظل اعتباراً من الاتجاه الموجب للمحور الأفقي و باتجاه عكس عقارب الساعة. القيم المقبولة هي:
SHADOW_DIR_0 = الزاوية صفر (الاتجاه الموجب للمحور الأفقي).
SHADOW_DIR_45 = انحراف بمقدار 45 درجة.
SHADOW_DIR_90 = انحراف بمقدار 90 درجة (الاتجاه السالب للمحور العمودي).
SHADOW_DIR_135 = انحراف بمقدار 135 درجة.
SHADOW_DIR_180 = انحراف بمقدار 180 درجة (الاتجاه السالب للمحور الأفقي).
SHADOW_DIR_225 = انحراف بمقدار 225 درجة.
SHADOW_DIR_270 = انحراف بمقدار 270 درجة (الاتجاه الموجب للمحور العمودي).
SHADOW_DIR_315 = انحراف بمقدار 315 درجة.
Extent مقدار امتداد الظل خلف النص.
TextColor بارامتر اختياري يحدد لون النص. الافتراضي أسود.
ShadowColor بارامتر اختياري يحدد لون الظل. الافتراضي رمادي.
FontName بارامتر اختياري يحدد اسم الخط الذي سيُطبع به النص. القيمة الافتراضية نص فارغ (Empty String) و تعني أنه سيتم استعمال الخط الحالي للكائن Caanvas.
FontSize بارامتر اختياري يحدد حجم الخط. الحجم الافتراضي 10 نقاط (Points).
FontBold بارامتر اختياري يحدد ما إذا سيكون النص سميكاً أم لا. القيمة الافتراضية هي False و تعني أن النص سيكون عادياً.
FontItalic بارامتر اختياري يحدد ما إذا ستكون حروف النص مائلة أم لا. القيمة الافتراضية هي False و تعني أن النص سيكون عادياً.
FontUnderline بارامتر اختياري يحدد ما إذا سيكون النص مسطراً أم لا. القيمة الافتراضية هي False و تعني أن النص سيكون عادياً.
FontStrikeOut بارامتر اختياري يحدد ما إذا سيكون النص مشطوباً أم لا. القيمة الافتراضية هي False و تعني أن النص سيكون عادياً.
Font (في الصيغة الثانية) يحدد مواصفات الخط الذي سيطبع به النص. إذا كانت قيمته nil فإن الإجراء يستعمل خط العنصر Canvas (أي Canvas.Font).
RTLReading بارامتر اختياري يحدد ما إذا سيكون اتجاه قراءة النص من اليمين إلى اليسار (مثل العربية) أم لا. القيمة الافتراضية هي True و تعني أن اتجاه القراءة سيكون من اليمين إلى اليسار.

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


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