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

نسخة كاملة : مشروع برنامج لعرض الصور
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
هذه هى واجهة البرنامج



أنهيت وظيفة زر load لاختيار وعرض الصورة فى picturebox
والمفترض أن يقوم زر next بعرض الصورة التالية بشكل أوتوماتيكى دون اللجوء ل open file dialog مرة أخرى
ونفس الشىء بالنسبة لزر previous
ولكنى لم أتوصل لطريقة أحدد بها الملف السابق أو التالى لما تم اختياره عن طريق open file dialog
المشروع بالكامل فى المرفقات
اتمنى ان يكون ذو فائدة لك اخي العزيز 

لقد قمت بعمل تحديد للصور من عدة اماكن  في ليست بوكس ولكن احتاج الى كود اضافة الليست الى السيتنج 
ولك جزيل الشكر والتقدير
تفضل اخي الكريم

المصادر :
https://stackoverflow.com/questions/2331...the-folder
شكر خاص للاستاذ انس محمود واعتذر منه ساضيف في حاله التغيير تلقائي ويضع في تايمير 
كود :
  Dim i As Integer
       i = Images.IndexOf(CurrentImage) + 1
       If i < Images.Count Then
           CurrentImage = Images(i)

           Try
               PictureBox1.Image = Image.FromFile(CurrentImage)
           Catch ex As Exception
               'الصورة ليست صالحة او لم تعد كذلك
           End Try
       Else
           CurrentImage = Images(0)
           PictureBox1.Image = Image.FromFile(CurrentImage)

       End If
شكراً أخى alshandodi
الجزء الخاص بالتايمر مفيد جداً

شكراً أخى Anas Mahmoud
هذا ما كنت أريده وبعد بعض التعديلات حصلت على ما أريده

كنت أريد إضافة خاصية zoom
جربت هذه الطريقة ولكنها لم تنجح:
كود :
   Private Sub GetZoom(zoomSize As String, MyPicbox As PictureBox)

       Dim bmp As New Bitmap(MyPicbox.Image)
       Dim newWidth As Integer = MyPicbox.Image.Width / zoomSize
       Dim newHeight As Integer = MyPicbox.Image.Height / zoomSize
       Dim bmpNew As Bitmap = New Bitmap(newWidth, newHeight)
       Dim gr As Graphics = Graphics.FromImage(bmpNew)
       gr.DrawImage(bmp, 0, 0, bmpNew.Width, bmpNew.Height)
       MyPicbox.Image = bmpNew

   End Sub

فهى تضعف جودة الصورة إذا تم تصغيرها ثم تكبيرها مجدداً
السلام عليكم ورحمة الله وبركاته
اخي الكريم 
ابسط طريقة لعمل زوم للصورة هو التالي :
1 تجعل خاصية الاحتواء للصورة StretchImage  او Zoom ضروري
وتلغي ال Border الخاص بالصورة ان احببت
2- تضع  بوتون عدد 2 واحد للتكبير والثاني للتصغير
للتكبير * 2 في كل مرة
كود :
PictureBox1.Width = PictureBox1.Width * 2
           PictureBox1.Height = PictureBox1.Height * 2
وللتصغير /2 في كل مرة
كود :
PictureBox1.Width = PictureBox1.Width / 2
       PictureBox1.Height = PictureBox1.Height / 2
في هذه الطريقة انت تقوم بتكبير كونترول الصورة نفسها وبما ان خاصية الاملاء هي التمدد فحتما ستتمدد الصورة لتملأ الكونترول
وانت هنا لاتقوم بتغيير اي شيء للصورة الاصلية (الحجم يبقى على حاله في التصغير والتكبير) فقط زوم مشاهدة
اما طريقة اعادة انشاء صورة فهذا يعني انك تغير من الحجم الحقيقي للصورة عند التكبير سيزداد حجمها ... وقد يصل الىارقام كبيرة
وعند التصغير ايضا تقوم بتصغير الحجم مما يؤدي الى فقدان الصورة لدقتها عند اعادة تكبيرها
ارجو ان اكون قد افدتك