• 0
  • مالي خلق
  • أتهاوش
  • متضايق
  • مريض
  • مستانس
  • مستغرب
  • مشتط
  • أسولف
  • مغرم
  • معصب
  • منحرج
  • آكل
  • ابكي
  • ارقص
  • اصلي
  • استهبل
  • اضحك
  • اضحك  2
  • تعجبني
  • بضبطلك
  • رايق
  • زعلان
  • عبقري
  • نايم
  • طبيعي
  • كشخة
  • النتائج 1 إلى 2 من 2

    الموضوع: الدرس السادس : إستخدام الدالة BitBlt

    1. #1
      التسجيل
      28-10-2002
      الدولة
      (السعودية)
      المشاركات
      1,042
      المواضيع
      71
      شكر / اعجاب مشاركة

      الدرس السادس : إستخدام الدالة BitBlt

      بسم الله الرحمن الرحيم

      السلام عليكم ...


      عندما نقوم بوضع شخصية داخل مربع صورة بخلفية سوداء ونضع مشهد بحر كخلفية للفورم ... فسينتج لدينا جزء أسود غير مرغوب به

      فمالعمل ؟
      هنالك طريقتين هي استخدام الدايركت اكس ، وبما أننا لم نتطرق عليها فسنتحدث عن طريقة اخرى وهي الدالة BitBlt
      أولاً من الأفضل أن يكون لديك خلفية عن عمل دوال API ... ولكني سأشرح شرحاً سريعاً للدالة ...

      التعريف الرئيسي للدالة (طبعاً نظعه في الأعلى(General) أو في موديل) :
      كود:
      Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
      BitBlt : الدالة
      gdi32 : المكتبة
      hDestDC : أين نريد وضع الصورة في مربع صورة أو في الفورم ....
      X : الاحداثي السيني لبداية الصورة
      Y : الاحداثي الصادي لبداية الصورة
      nWidth : عرض الصورة - لا يقوم البرنامج بتصغير العرض وإنما القص من الصورة الأصلية
      nHeight : طول الصورة - لا يقوم البرنامج بتصغير الطول وإنما القص من الصورة الأصلية
      hSrcDC : الصورة الأصلية
      xSrc : الإحداثي السيني لبداية القص من الصورة الأصلية
      ySrc : الإحداثي الصادي لبداية القص من الصورة الأصلية
      dwRop : أوامر دالة BitBlt .. وسنأخذ كـبداية الأمر vbSrcCopy (أي نسخ الصورة) :

      أعتقد أنها واضحة فقط تحتاج إلى مراجعتها وما أن تعتاد عليها حتى يكثر إستخدامك لها

      حسناً سنقوم بعملية النسخ في الكود التالي :
      كود:
        BitBlt Picture2.hDC, 0, 0, 60, 60, Picture1.hDC, 0, 0, vbSrcCopy
      إفتح ملف التطبيق (6-1) لترى التطبيق وتراجعه جيداً ...

      إذن عرفنا أن الأمر vbSrcCopy يقوم بمهم النسخ فقط ... ولكن نحتاج إلى الشفافية

      حسناً سأشرح الأمرين SRCAND و MARGEPAINT ... ثم قم بفعل ما يحلو لك

      طبعاُ هنالك أوامر أخرى تستطيع البحث عنها في النت إذا أردت

      الأمر MargePaint يقوم بحذف اللون الأبيض ويجعل اللون الأسود أبيض

      الأمر SRCAND يقوم بحذف اللون الأبيض

      لقد كونت التطبيق (6-2) للأمرين الجديدين ..

      سأرفق التطبيقن (6-1) و (6-2)

      تحياتي
      الملفات المرفقة الملفات المرفقة
      التعديل الأخير تم بواسطة PRG of RPG ; 25-02-2003 الساعة 04:51 AM
      كود:
      Arabian Xtreme Designs : http://axdteam.com

    2. #2
      التسجيل
      07-01-2001
      الدولة
      KSA - Riyadh
      المشاركات
      2,201
      المواضيع
      241
      شكر / اعجاب مشاركة
      مشكوووور

    ضوابط المشاركة

    • لا تستطيع إضافة مواضيع جديدة
    • لا تستطيع الرد على المواضيع
    • لا تستطيع إرفاق ملفات
    • لا تستطيع تعديل مشاركاتك
    •