نسخ جزء من صورة في PictureBox جديد

اذهب الى الأسفل

نسخ جزء من صورة في PictureBox جديد

مُساهمة من طرف end.sub في الثلاثاء ديسمبر 24, 2013 7:42 am

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

_ لنتعلم كيفية نسخ جزء محدد من صورة موجودة فى PictureBox الى مربع PictureBox جديد نتبع الخطوات التالية :

1_ إنشاء مشروع نوافذ جديد 
2_ نقوم باضافة عدد 2 مربع صورة PictureBox 
3_ نقوم بإضافة عدد 4 مربع نص وذلك لادخال ابعاد الجزء المراد نسخة فى تلك المربعات كالطول و العرض و الارتفاع ...الخ
4_ إضافة زر امر 
5_ إضافة صورة معينة فى مربع الصورة PictureBox الاول 

الشكل العام للنافذة على النحو التالى :


6_ نقوم بكتابة الكود التالى فى حدث النقر لزر الامر

_ الاعلان عن متغيرات لتخزين قيم العرض الطول الارتفاع الاعلى
الكود:
Dim top As Integer = Integer.Parse(txtTop.Text)
        Dim left As Integer = Integer.Parse(txtLeft.Text)
        Dim width As Integer = Integer.Parse(txtWidth.Text)
        Dim height As Integer = Integer.Parse(txtHeight.Text)

_ نقوم بانشاء صورة نقطية على النحو التالى :
الكود:
Dim bm As New Bitmap(width, height)

_نقوم بربط كائن الرسومات بالصورة النقطية مع تحديد بيانات الصورة المصدر كالطول و العرض ...الخ ثم نسخ الجزء الذى تم تحديدة على النحو التالى :
الكود:
 Using gr As Graphics = Graphics.FromImage(bm)
            '
            Dim src_rect As New Rectangle(left, top, width, _
                height)
            Dim dst_rect As New Rectangle(0, 0, width, height)


            gr.DrawImage(picOriginal.Image, dst_rect, src_rect, _
                GraphicsUnit.Pixel)
        End Using

_ حيث ان picOriginal هو مربع الصورة الذى يحتوى على الصورة المصدر

_ اخير نقوم بعرض الجزء المحدد فى مربع الصورة الثانى :
الكود:
picResult.Image = bm

و الكود الكامل كما يلى :

الكود:

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim top As Integer = Integer.Parse(txtTop.Text)
        Dim left As Integer = Integer.Parse(txtLeft.Text)
        Dim width As Integer = Integer.Parse(txtWidth.Text)
        Dim height As Integer = Integer.Parse(txtHeight.Text)


        Dim bm As New Bitmap(width, height)

        Using gr As Graphics = Graphics.FromImage(bm)
            '
            Dim src_rect As New Rectangle(left, top, width, _
                height)
            Dim dst_rect As New Rectangle(0, 0, width, height)


            gr.DrawImage(picOriginal.Image, dst_rect, src_rect, _
                GraphicsUnit.Pixel)
        End Using

        picResult.Image = bm
    End Sub
avatar
end.sub
.....
.....

تاريخ التسجيل : 15/08/2013
المساهمات : 70
النقاط : 131
التقيم : 9
الدولة : مصر
الجنس : ذكر

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

الرجوع الى أعلى الصفحة


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