منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : برنامج لصنع صور متحركة بصيغة gif
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم إخواني الكرام
كيف حالكم ؟

هذا الموضوع ملك للأستاذ Mohammed Asaad وقد طلبت منه أن أنقل مشاركاته ووافق بحمد اللهSmile

السلام عليكم ورحمة الله وبركاته
في هذا البرنامج نقوم بصنع صورة بصيغة GIF باستخدام مكتبة وجدتها في أحد المواقع وهىGif.Components.dll
لعمل البرنامج يجب استدعاء المكتبة ووضعتها في المسار \bin\debug

ووضعت لكم الكود مع الشرح
   
رمز برمجي:
   
كود :
'يجب استدعاء المجالات التالية
Imports System
Imports System.Drawing
Imports System.Drawing.Imaging
Imports Gif.Components



Public Class MainForm



   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        'تعيين أنواع الملفات التي يمكن فتحها
       openDialog.Filter = "كل الملفات |*png;*bmp;*jpg"

       If openDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
            'في حال تحقق شرط ضغط الزر OK يتم أضافة مكان الصورة إلى القائمة
           lstPictures.Items.Add(openDialog.FileName)


       End If

   End Sub




   Private Sub lstPictures_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lstPictures.Click
        'عند الضغط على أي مسار يتم عرض الصورة في الخانة الأولى
       picFrame.ImageLocation = lstPictures.SelectedItem
   End Sub


   Private Sub lstPictures_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lstPictures.SelectedIndexChanged
        'عند الضغط على أي مسار يتم عرض الصورة في الخانة الأولى
       picFrame.ImageLocation = lstPictures.SelectedItem
   End Sub

   Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        'الملف TestImage سيتم جعله منصة التجربة ليتم حفظ الصورة بداخله
       Dim TestImage As String = Application.StartupPath & "\test.gif"
        'الأداة AnimatedGifEncoder تجدونها داخل المكتبة GIF التي قمنا باضافتها للمراجع
       Dim GifEncoder As New AnimatedGifEncoder()
        'يتم حفظ الصورة القديمة
       Kill(TestImage)
        'نخبر الأداة ببداية عملها بتحديد مسار الملف التجربة
       GifEncoder.Start(TestImage)
        'هنا يتم تحديد الوقت الفاصل بين كل إطارين
       GifEncoder.SetDelay(updownDelay.Value * 1000)
       GifEncoder.SetRepeat(0)

        'نصنع هنا حلقة يتم فيها إضافة الأطر واحدا واحدا بمساعدة الأداة إلى ملف TestImage
       Dim i As Integer
       For i = 0 To lstPictures.Items.Count - 1 Step 1
           GifEncoder.AddFrame(Image.FromFile(lstPictures.Items.Item(i)))
       Next
        'نخبر الأداة بانتهاء عملها في عملية التحويل
       GifEncoder.Finish()
        'هنا نعرض نتيجة التحويل
       picGIF.ImageLocation = TestImage



   End Sub

   Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        'في هذا الحدث يتم حفظ الصورة التي قمنا بصنعها في أي مكان نريد باستخدام SaveFileDialog ونقوم فقط بنسخ الصورة التجريبية ولا تلزم عملية التحويل مرة أخرى
       Dim TestImage As String = Application.StartupPath & "\test.gif"
       saveDialog.Filter = "GIF |*.gif"

       If saveDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
           FileCopy(TestImage, saveDialog.FileName)

       End If
   End Sub

   Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        'اغلاق البرنامج
       Me.Close()
   End Sub
End Class



والبرنامج وضعته في المرفقات
واي استفسار أنا جاهز
السلام عليكم اخي العزيز

بارك الله فيك وجزاك خيراSmile
sajad كتب :السلام عليكم اخي العزيز

بارك الله فيك وجزاك خيراSmile

وعليكم السلام
يعطيك العافية أخي الكريم
أنا لا أستحق الشكر " فقد نقلت الموضوع فقط " :d
تحياتي لك
بارك الله فيك اخي الكريم
بارك الله فيك اخي Omar Mekkawy ولاخ Mohammed Asaad
بارك الله فيك اخي
السلام عليكم ورحمة الله وبركاته
جزاك الله خيرا أخي الكريم
وزادك من علمه

بالتوفيق
جزاك الله خيرا
ياليت المرفق مرة اخرى
السلام عليكم

تم

يعطيك العافية
الصفحات : 1 2