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

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

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

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

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

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

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

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

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

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
end.sub
end.sub
.....
.....

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

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

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

ََ

مواضيع ذات صلة


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