تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مساعدة في حفظ الصورة
#9
اضافات للافادة
جرب هذا

كود :
Private Sub btnScale_Click(ByVal sender As System.Object, _
   ByVal e As System.EventArgs) Handles btnScale.Click
   ' Get the scale factor.
   Dim scale_factor As Single = Single.Parse(txtScale.Text)

   ' Get the source bitmap.
   Dim bm_source As New Bitmap(picSource.Image)

   ' Make a bitmap for the result.
   Dim bm_dest As New Bitmap( _
       CInt(bm_source.Width * scale_factor), _
       CInt(bm_source.Height * scale_factor))

   ' Make a Graphics object for the result Bitmap.
   Dim gr_dest As Graphics = Graphics.FromImage(bm_dest)

   ' Copy the source image into the destination bitmap.
   gr_dest.DrawImage(bm_source, 0, 0, _
       bm_dest.Width + 1, _
       bm_dest.Height + 1)

   ' Display the result.
   picDest.Image = bm_dest
End Sub

او هذا

كود :
Public Shared Function ResizeImage(ByVal InputImage As Image) As Image
       Return New Bitmap(InputImage, New Size(64, 64))
End Function

او هذا

كود :
Dim source As New Bitmap("C:\image.png")
Dim target As New Bitmap(size.Width, size.Height, PixelFormat.Format24bppRgb)

Using graphics As Graphics = Graphics.FromImage(target)
   graphics.DrawImage(source, new Size(48, 48))
End Using



هذا ربما يكون الافضل من بينها

كود :
#Region " ResizeImage "
   Public Overloads Shared Function ResizeImage(SourceImage As Drawing.Image, TargetWidth As Int32, TargetHeight As Int32) As Drawing.Bitmap
       Dim bmSource = New Drawing.Bitmap(SourceImage)

       Return ResizeImage(bmSource, TargetWidth, TargetHeight)
   End Function

   Public Overloads Shared Function ResizeImage(bmSource As Drawing.Bitmap, TargetWidth As Int32, TargetHeight As Int32) As Drawing.Bitmap
       Dim bmDest As New Drawing.Bitmap(TargetWidth, TargetHeight, Drawing.Imaging.PixelFormat.Format32bppArgb)

       Dim nSourceAspectRatio = bmSource.Width / bmSource.Height
       Dim nDestAspectRatio = bmDest.Width / bmDest.Height

       Dim NewX = 0
       Dim NewY = 0
       Dim NewWidth = bmDest.Width
       Dim NewHeight = bmDest.Height

       If nDestAspectRatio = nSourceAspectRatio Then
           'same ratio
       ElseIf nDestAspectRatio > nSourceAspectRatio Then
           'Source is taller
           NewWidth = Convert.ToInt32(Math.Floor(nSourceAspectRatio * NewHeight))
           NewX = Convert.ToInt32(Math.Floor((bmDest.Width - NewWidth) / 2))
       Else
           'Source is wider
           NewHeight = Convert.ToInt32(Math.Floor((1 / nSourceAspectRatio) * NewWidth))
           NewY = Convert.ToInt32(Math.Floor((bmDest.Height - NewHeight) / 2))
       End If

       Using grDest = Drawing.Graphics.FromImage(bmDest)
           With grDest
               .CompositingQuality = Drawing.Drawing2D.CompositingQuality.HighQuality
               .InterpolationMode = Drawing.Drawing2D.InterpolationMode.HighQualityBicubic
               .PixelOffsetMode = Drawing.Drawing2D.PixelOffsetMode.HighQuality
               .SmoothingMode = Drawing.Drawing2D.SmoothingMode.AntiAlias
               .CompositingMode = Drawing.Drawing2D.CompositingMode.SourceOver

               .DrawImage(bmSource, NewX, NewY, NewWidth, NewHeight)
           End With
       End Using

       Return bmDest
   End Function
#End Region
الرد }}}
تم الشكر بواسطة: asemshahen5 , ابراهيم ايبو , alshandodi


الردود في هذا الموضوع
مساعدة في حفظ الصورة - بواسطة alshandodi - 10-11-19, 10:09 AM
RE: مساعدة في حفظ الصورة - بواسطة AbdoDabak - 10-11-19, 11:55 AM
RE: مساعدة في حفظ الصورة - بواسطة alshandodi - 10-11-19, 02:56 PM
RE: مساعدة في حفظ الصورة - بواسطة alshandodi - 11-11-19, 07:21 AM
RE: مساعدة في حفظ الصورة - بواسطة 3booody - 11-11-19, 04:04 PM
RE: مساعدة في حفظ الصورة - بواسطة alshandodi - 11-11-19, 08:36 PM
RE: مساعدة في حفظ الصورة - بواسطة asemshahen5 - 12-11-19, 07:13 AM
RE: مساعدة في حفظ الصورة - بواسطة viv - 21-12-19, 12:26 PM
RE: مساعدة في حفظ الصورة - بواسطة alshandodi - 26-01-20, 08:24 AM


التنقل السريع :


يقوم بقرائة الموضوع: