غالبًا ما يتم مشاهدة التغييرات الديناميكية في الترجمة أو الصور في الأفلام أو التلفزيون عند إنتاج مستندات العروض التقديمية متعددة الوسائط مثل برامج تدريس الوسائط المتعددة أو الإعلانات، غالبًا ما تكون هناك حاجة إلى تغييرات ديناميكية في الرسومات والنصوص. باعتباره أداة تطوير قوية لبرامج Windows، يتمتع VB6.0 بإمكانيات تطبيق واسعة في برمجة الوسائط المتعددة. تتناول هذه المقالة استخدام مؤقتات VB6.0 المدمجة مع وظائف Windows API لتحقيق تأثيرات خاصة مثل القياس الديناميكي وتلاشي الصور أو النصوص.
1. طريقة البرمجة لتحقيق تأثيرات القياس الديناميكي والتلاشي للرسومات والنصوص
1. واجهة البرنامج
قم بتسمية النموذج Form1 وقم بتعيين الخاصية Windowstate الخاصة به إلى 2. قم بتعيين عناصر التحكم والخصائص التالية في النموذج Form1: عنصر تحكم التسمية Label1، الذي يساوي لونه الخلفي اللون الخلفي لـform1، ويكون الحجم التلقائي صحيحًا. صورة التحكم في الصورة 1، كل من Stratch وVisible كلاهما صحيح؛ Bordstyle هو 0. يتحكم مربعان للصور في Picture1 وPicture2، الخاصية Visible Picture1 هي False وPicture2 هي True؛ وخاصية AutoRedraw Picture1 هي True وPicture is False؛ وخاصية ScaleModel كلاهما بكسل؛ ثلاثة عناصر تحكم في المؤقت Timer1، وTimer2، وTirner3؛ ومصفوفة التحكم بزر أمر cmd(0)،...,Cmd(4)، وسماتها التوضيحية هي: "تكبير النص"، و"تكبير الصورة"، و"إخفاء النص"، و"الصورة". "إخفاء"، و"خروج".
2. التحجيم الديناميكي للنص
من خلال تغيير خاصية الحجم للنص بشكل منتظم من خلال التحكم في مؤقت VB6.0، يمكن تحقيق تأثير تكبير النص أو تصغيره ديناميكيًا. في البرنامج، يتم التحكم في حجم نص سمة التسمية التوضيحية الخاصة بالتسمية Label1 من خلال عملية الموالف الخاصة بـ timer1. يقوم الحدث cmd_click الذي تم تشغيله بواسطة cmd(0) بتشغيل عملية timer1_time، التي تتحكم في طريقة تغيير النص من خلال متغير منطقي 1(0) (عنصر الصفيف). عندما يكون 1(0)=صحيح، يتم تكبير الخط ديناميكيًا، ومتى 1(0)=خطأ جعل الخطوط أصغر ديناميكيًا.
3. التحجيم الديناميكي للرسومات
قم بتعيين خاصية التمدد لعنصر تحكم الصورة image1 على true، بحيث يتغير حجم الصورة في عنصر التحكم مع تغير حجم عنصر تحكم الصورة. من خلال تغيير حجم التحكم في الصورة بشكل منتظم من خلال عملية موالف المؤقت 2، يتم تحقيق تأثير القياس الديناميكي للصورة. سيؤدي الحدث cmd_click الذي تم تشغيله بواسطة cmd(1) إلى تشغيل عملية timer2_time، التي تتحكم في طريقة تغير الصورة من خلال المتغير المنطقي 1(1) عندما يكون 1(1)=صحيح، فإنه يتحكم في التكبير الديناميكي للصورة (1)=خطأ، فهو يتحكم في التصغير الديناميكي للصورة.
4. تأثير تلاشي النص وتلاشيه
خذ عدة كلمات من السلسلة كقيمة التسمية التوضيحية للتسمية Label1. إذا زاد عدد الكلمات المعترضة من السلسلة (حتى يساوي العدد الإجمالي للكلمات في السلسلة)، فسيتم تحقيق تأثير تلاشي النص يتم تقليل عدد الكلمات التي تم اعتراضها (من عدد الكلمات في السلسلة)، ويتم تقليل إجمالي عدد الأحرف في السلسلة إلى 0)، ويتم تحقيق تأثير تلاشي النص. يتم تحقيق هذا التأثير من خلال التغيير المنتظم لعدد الكلمات التي تم اعتراضها خلال الوقت: عملية المؤقت 3. يتم تشغيله بواسطة cmd(2). يقوم الحدث md_click بتشغيل عملية timer3_time، ويتحكم في طريقة تغير النص من خلال المتغير المنطقي 1(2). عندما يكون 1(2)=صحيح، يتلاشى النص، وعندما يكون 1(2)=خطأ، يتلاشى النص. .
5. تأثير التلاشي والتلاشي للرسومات
يتم تحقيق ذلك باستخدام وظيفة Windows API BitBlt لنسخ الصور. استخدام وظيفة BitBlt هو:
معنى كل معلمة هو: يمثل hDestDC وhSrcDC مقبض جدول وصف الجهاز الهدف ومقبض جدول وصف الجهاز المصدر على التوالي. وذلك لنسخ الصورة من hSrcDC إلى hDestDC. الخاصية hDC الخاصة بعنصر التحكم Picturellox هي مؤشر سياق الجهاز الذي نريد استخدامه. يمثل x وY موضع الزاوية اليسرى العليا للهدف، ويمثل nWidth وnHeight عرض الهدف وارتفاعه. بمعنى، أين يجب نسخ الصورة في جدول سياق الجهاز المستهدف، وما مدى عرضها وارتفاعها. يمثل xsrc وySrc موضع الزاوية اليسرى العليا في الصورة المصدر، أي مكان بدء النسخ. تمثل المعلمة DwRop أسلوب رسم، ويتم استخدام أسلوب النسخ المباشر بشكل شائع في هذه الحالة.
2. كود البرنامج لتحقيق القياس الديناميكي للصور والنصوص والمؤثرات الخاصة للتلاشي والتلاشي
تم تصحيح أخطاء البرنامج أعلاه ضمن بيئات VB6.0 وWindows98/2000.
->