كيفية عمل تأثير Zooming على الصور فى PictureBox

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

كيفية عمل تأثير Zooming على الصور فى PictureBox

مُساهمة من طرف المبرمج الطموح في السبت أغسطس 24, 2013 12:41 pm

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

فى هذا المقال التعليمى سنتعلم كيفية تكبير و تصغير Zooming على الصور ...بقليل من التعليمات البرمجية :

1_ أفتح الفجوال بيسك 2008 و أنشىء مشروع جديد Windows Application


2_قم باضافة عنصر التحكم PictureBox بحيث أن يكون الاسم البرمجى picBox


3_قم بإضافة عنصر التحكم TrackBar بحيث أن يكون الاسم البرمجى zoomSlider وسوف يتم استخدام عنصر التحكم Trackbar للتمرير وتكوين قيمة التكبير و التصغير للصورة


4_نقوم بكتابة التعليمات البرمجية على النحو التالى :

_ فى قسم التصريحات نقوم بكتابة الكود التالى :

الرمز:
Private imgOriginal As Image

الرمز:
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs)

      ' set image location

      imgOriginal = Image.FromFile("C:\New Folder\picture1.jpg")

      picBox.Image = imgOriginal
     ' set Picture Box Attributes
      picBox.BackgroundImageLayout = ImageLayout.Stretch
     ' set Slider Attributes
      zoomSlider.Minimum = 1
      zoomSlider.Maximum = 5
      zoomSlider.SmallChange = 1
      zoomSlider.LargeChange = 1
      zoomSlider.UseWaitCursor = False
     ' reduce flickering

      Me.DoubleBuffered = True

End Sub



و التعليمات البرمجية أعلاه هو لتعين بعض خصائص عناصر التحكم

_ نقوم بانشاء وظيفية لعمل تأثيرات التكبير و التصغير للصورة و ليكن بأسم PictureBoxZoom ...وذلك على النحو التالى :

الرمز:



Public Function PictureBoxZoom(ByVal img As Image, ByVal size As Size) As Image


      Dim bm As Bitmap = New Bitmap(img, Convert.ToInt32(img.Width * size.Width), Convert.ToInt32(img.Height * size.Height))


      Dim grap As Graphics = Graphics.FromImage(bm)


      grap.InterpolationMode = InterpolationMode.HighQualityBicubic


      Return bm


End Function


في التعليمات البرمجية أعلاه، قمنا بإنشاء مثيل جديد من فئة Bitmap باستخدام الصور التي تم تمريرها إلى الدالة. ويتم تحجيم هذه الصورة لحجم معين ويتم أخذ إلى كائن الرسومات حيث prefiltered الصورة باستخدامInterpolationMode.HighQualityBicubic لضمان جودة تحويل الصور بدقة عالية عند التكبير أو التصغير

_والخطوة الأخيرة هي تمرير قيمة عنصر التحكم TrackBar واستدعاء وظيفة التكبير كما هو مبين أدناه :

الرمز:
Private Sub zoomSlider_Scroll(ByVal sender As Object, ByVal e As EventArgs)
      If zoomSlider.Value > 0 Then
            picBox.Image = Nothing
            picBox.Image = PictureBoxZoom(imgOriginal, New Size(zoomSlider.Value, zoomSlider.Value))
      End If
End Sub

المبرمج الطموح
الاشراف
الاشراف

تاريخ التسجيل : 18/02/2011
المساهمات : 117
النقاط : 213
التقيم : 6
الدولة : مصر
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: كيفية عمل تأثير Zooming على الصور فى PictureBox

مُساهمة من طرف السنى في الجمعة أغسطس 30, 2013 5:20 pm

جزالك الله خيرا أخى الكريم

السنى
.......
.......

تاريخ التسجيل : 18/02/2011
المساهمات : 186
النقاط : 346
التقيم : 18
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: كيفية عمل تأثير Zooming على الصور فى PictureBox

مُساهمة من طرف أيمن الإبراهيم في الجمعة أغسطس 30, 2013 5:58 pm

مشكور

أيمن الإبراهيم
........
........

تاريخ التسجيل : 19/03/2013
المساهمات : 251
النقاط : 397
التقيم : 0
الدولة : سوريا
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

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


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى