منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] كيف تقوم بقص الصورة بشكل دائري و تحريكها في الفورم قبل طباعتها - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [VB.NET] كيف تقوم بقص الصورة بشكل دائري و تحريكها في الفورم قبل طباعتها (/showthread.php?tid=37938)



كيف تقوم بقص الصورة بشكل دائري و تحريكها في الفورم قبل طباعتها - Ali Naser - 05-03-21

السلام عليكم اخواني 

استفسار بسيط في الفيجوال بيسك - ويندوز فورم 

كيف تقوم بقص الصورة بشكل دائري بعد استدعائها و تحريكها في الفورم قبل طباعتها.

شكرا مقدما لكل من ينفع الاخرين بعلمه .


RE: كيف تقوم بقص الصورة بشكل دائري و تحريكها في الفورم قبل طباعتها - عبد الهادي بهاب - 06-03-21

ممكن تجد الاجابة في هذا الموضوع

https://www.dreamincode.net/forums/topic/379490-circular-image/

مثال بسيط ممكن بفيدك

ضع في فورم زر و ضورة ما 

في صفحة الاكواد امسح الكل و ازرع ما يلي

PHP كود :
Imports System.Drawing.Drawing2D
Public Class Form1

    Private Sub Button1_Click
(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button1.Click
        Dim selrect 
As New Rectangle(10050200100)
 
       CropEllipse(selrectPictureBox1)

 
   End Sub


    Private Sub CropEllipse
(ByVal EllipseRect As RectangleByVal PicBox As PictureBox)

 
       Using workBmp As New Bitmap(EllipseRect.WidthEllipseRect.Height)

 
           Dim setrect As New Rectangle(00EllipseRect.WidthEllipseRect.Height)

 
           Using grx As Graphics Graphics.FromImage(workBmp)

 
               grx.DrawImage(PicBox.ImagesetrectEllipseRectGraphicsUnit.Pixel)

 
               Using bm As New Bitmap(EllipseRect.WidthEllipseRect.Height)

 
                   Using grx2 As Graphics Graphics.FromImage(bm)

 
                       grx2.SmoothingMode SmoothingMode.AntiAlias

                        Using tb 
As New TextureBrush(workBmp)

 
                           tb.TranslateTransform(00)

 
                           Using gp As New GraphicsPath

                                gp
.AddEllipse(00workBmp.WidthworkBmp.Height)

 
                               grx2.FillPath(tbgp)

 
                           End Using

                        End Using

                    End Using

                    If PicBox
.Image IsNot Nothing Then PicBox.Image.Dispose()

 
                   PicBox.Image = New Bitmap(bm)

 
               End Using

            End Using

        End Using

    End Sub



End 
Class 

وجرب .......... غير ما تريد 
( للاسف لا افهم في الغرافيك )


RE: كيف تقوم بقص الصورة بشكل دائري و تحريكها في الفورم قبل طباعتها - asmarsou - 06-03-21

(06-03-21, 03:00 AM)عبد الهادي بهاب كتب : ممكن تجد الاجابة في هذا الموضوع

https://www.dreamincode.net/forums/topic/379490-circular-image/

مثال بسيط ممكن بفيدك

ضع في فورم زر و ضورة ما 

في صفحة الاكواد امسح الكل و ازرع ما يلي

PHP كود :
Imports System.Drawing.Drawing2D
Public Class Form1

    Private Sub Button1_Click
(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button1.Click
        Dim selrect 
As New Rectangle(10050200100)
 
       CropEllipse(selrectPictureBox1)

 
   End Sub


    Private Sub CropEllipse
(ByVal EllipseRect As RectangleByVal PicBox As PictureBox)

 
       Using workBmp As New Bitmap(EllipseRect.WidthEllipseRect.Height)

 
           Dim setrect As New Rectangle(00EllipseRect.WidthEllipseRect.Height)

 
           Using grx As Graphics Graphics.FromImage(workBmp)

 
               grx.DrawImage(PicBox.ImagesetrectEllipseRectGraphicsUnit.Pixel)

 
               Using bm As New Bitmap(EllipseRect.WidthEllipseRect.Height)

 
                   Using grx2 As Graphics Graphics.FromImage(bm)

 
                       grx2.SmoothingMode SmoothingMode.AntiAlias

                        Using tb 
As New TextureBrush(workBmp)

 
                           tb.TranslateTransform(00)

 
                           Using gp As New GraphicsPath

                                gp
.AddEllipse(00workBmp.WidthworkBmp.Height)

 
                               grx2.FillPath(tbgp)

 
                           End Using

                        End Using

                    End Using

                    If PicBox
.Image IsNot Nothing Then PicBox.Image.Dispose()

 
                   PicBox.Image = New Bitmap(bm)

 
               End Using

            End Using

        End Using

    End Sub



End 
Class 

وجرب .......... غير ما تريد 
( للاسف لا افهم في الغرافيك )

اضافة الى ما جاد به الاخ عبد الهادي بهاب اضيف اليك هذا المثال البسيط لتحريك الصورة في الاتجاهات الاربعة او بواسطة مؤقت....لعل هذا يكمل ما تقدمت به في سؤالك