منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : مشكلة تحميل الصورة
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2 3
السـلام عليكم روحمة الله وبركاته 

عندي كود عبـاره عن تغيير مقاسات الصوره وهذا هو الكـود طبعاً وضعت الكود بعد التأكد من أختيار الصوره أقوم بتحويلها للمقاس وأرجاعها إلىأدارة الصور وأحفظ ويعمل الكود بالمره الأولى بشكل جميل 
لكن عند المحاوله مره أخرى دون أقفال البرنامج يعطيني خطأ 


كود :
Dim bm As New Bitmap(Prd_Photos.Image)
       Dim x As Int32 = 70
       Dim y As Int32 = 64
       Dim width As Integer = Val(x)
       Dim height As Integer = Val(y)

       Dim thumb As New Bitmap(width, height)

       Dim g As Graphics = Graphics.FromImage(thumb)
       g.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic
       g.DrawImage(bm, New Rectangle(0, 0, width, height), New Rectangle(0, 0, bm.Width, _
        bm.Height), GraphicsUnit.Pixel)
       g.Dispose()
       If IO.Directory.Exists(Application.StartupPath & "\Pics") = True Then
           thumb.Save(Application.StartupPath & "\Pices\" & Code_Prd.Text + ".PNG", _
      System.Drawing.Imaging.ImageFormat.Png)
           Prd_Photos.Load(Application.StartupPath & "\Pices\" & Code_Prd.Text + ".PNG")
           g.Dispose()
           bm.Dispose()
           thumb.Dispose()
       Else
           IO.Directory.CreateDirectory(Application.StartupPath & "\Pics")
           thumb.Save(Application.StartupPath & "\Pices\" & Code_Prd.Text + ".PNG", _
           System.Drawing.Imaging.ImageFormat.Png)
           Prd_Photos.Load(Application.StartupPath & "\Pices\" & Code_Prd.Text + ".PNG")

       End If
       bm.Dispose()
       thumb.Dispose()
       g.Dispose()


كود الحفظ

كود :
               Dim MS As New MemoryStream

               Prd_Photos.Image.Save(MS, Prd_Photos.Image.RawFormat)
               Dim Pic() As Byte = MS.ToArray
               Parma(8) = New SqlParameter("@Prd_Photos", SqlDbType.Image) With {.Value = Pic}


نص الخطأ 

كود :
An unhandled exception of type 'System.Runtime.InteropServices.ExternalException' occurred in System.Drawing.dll

Additional information: حدث خطأ عام في +GDI.


صورة الخطأ 

[attachment=24309]


[attachment=24310]
السلام عليكم اخي الكريم
تفضل هذا مثال لتحجيم الصور وحفظها
http://vb4arb.com/vb/showthread.php?tid=34127
(02-04-20, 04:04 PM)ابراهيم ايبو كتب : [ -> ]السلام عليكم اخي الكريم
تفضل هذا مثال لتحجيم الصور وحفظها
http://vb4arb.com/vb/showthread.php?tid=34127

شكراً لمرورك وتعليقك زادني علم وأطلاع وفائدة ومرور الأخوة كذالك و ـــ لكن
نفس المشكله أخوي ولكني ما أعرف السب الكود الللي بالمشروع جميل ومختصر على الأخر ولكنه يؤدي إلى نفس المشكله



[attachment=24318]
السلام عليكم اخي الكريم
هل حدث تعارض بالحفظ في برنامجي ؟
ام انك استعنت بالكود في برنامجك؟
البرنامج الذي ارفقته لك يحفظ حتى ولو نفس الصور جرب بعد فتح الصور احفظ اكثر من مرة بنفس المجلد فقط اضغظ على حفظ 
اظني لديك مشكلة ما لا اعرف ماهي لكن اطلعت على اكوادك لماذا تجاول رسم الصورة وانشاء صورة وتلافي الدقة عند التحجيم بصراحة لم افهم الكود ا
السلام عليك اخوي 

الحل للخطأ الموجود في برنامجك وليس برنامج الاخ ابراهيم

اللي لاحظته ان عندك خطئين الاول هو انك وضعت  مجلد في مسار البرنامج واسمه pics
بهذا الكود

كود :
IO.Directory.CreateDirectory(Application.StartupPath & "\Pics")



لكنك في كود الحفظ والتحميل كتبت اسمه pices 
هذا الخطا الاول 

الخطا الثاني هو انك دائما تحاول حفظ الصورة بنفس الاسم لانك تستخدم النص الموجود في التكست بوكس Code_Prd.Text دائما

كود :
thumb.Save(Application.StartupPath & "\Pices\" & Code_Prd.Text + ".PNG", _
           System.Drawing.Imaging.ImageFormat.Png)


الان استخدم الكود المعدل التالي وان شاء الله يختفي الخطأ

كود :
 Private Sub BtnBrowse_Click(sender As Object, e As EventArgs) Handles BtnBrowse.Click
       'Try
       ChoosePitcerBox(Prd_Photos, Code_Prd.Text)
       Dim bm As New Bitmap(Prd_Photos.Image)
       Dim x As Int32 = 70
       Dim y As Int32 = 64
       Dim width As Integer = Val(x)
       Dim height As Integer = Val(y)

       Dim ID As String = Guid.NewGuid.ToString


       Dim thumb As New Bitmap(width, height)

       Dim g As Graphics = Graphics.FromImage(thumb)
       g.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic
       g.DrawImage(bm, New Rectangle(0, 0, width, height), New Rectangle(0, 0, bm.Width,
        bm.Height), GraphicsUnit.Pixel)
       g.Dispose()
       If IO.Directory.Exists(Application.StartupPath & "\Pics") = True Then
           thumb.Save(Application.StartupPath & "\Pics\" & ID + ".PNG",
      System.Drawing.Imaging.ImageFormat.Png)
           Prd_Photos.Load(Application.StartupPath & "\Pics\" & ID + ".PNG")
           g.Dispose()
           bm.Dispose()
           thumb.Dispose()
       Else
           IO.Directory.CreateDirectory(Application.StartupPath & "\Pics")
           thumb.Save(Application.StartupPath & "\Pics\" & ID + ".PNG",
           System.Drawing.Imaging.ImageFormat.Png)
           Prd_Photos.Load(Application.StartupPath & "\Pices\" & ID + ".PNG")

       End If
       bm.Dispose()
       thumb.Dispose()
       g.Dispose()
       'Catch ex As Exception
       '    MessageBox.Show(ex.Message.ToString())
       'End Try

   End Sub

هل تظن السبب هو الحفظ من دون امتداد؟
(02-04-20, 08:42 PM)ابراهيم ايبو كتب : [ -> ]السلام عليكم اخي الكريم
هل حدث تعارض بالحفظ في برنامجي ؟
ام انك استعنت بالكود في برنامجك؟
البرنامج الذي ارفقته لك يحفظ حتى ولو نفس الصور جرب بعد فتح الصور احفظ اكثر من مرة بنفس المجلد فقط اضغظ على حفظ 
اظني لديك مشكلة ما لا اعرف ماهي لكن اطلعت على اكوادك لماذا تجاول رسم الصورة وانشاء صورة وتلافي الدقة عند التحجيم بصراحة لم افهم الكود ا

لا ياغالي برنامج ممتاز ويعمل بكل حرافية 
ولكن أنت تتعامل مع الرابط بعد التأكد من أختيار الصوره 
وأنا أتعامل مع وضع الصوره في أدراه الصورة مباشره بعد التحويل والتأكد من أختيار الصوره تظهر هذه المشكلة 
مثلاً لو أخترت صورة وتأكدت من أختيار الصوره ووضعتها في اداه الصور بعدين غيرت الصوره بنفس الوقت يظهر الخطأ
تقريباً تعطلت فيها ثلاثه أيام إذا فيه حل عندك
اخي الكريم اظن والله اعلم ان الصورة الاولى بقيت معلقة بالبرنامج لانك تستخدم الصورة نفسها 
حتى انك لايمكنك حذفها 
ناحية اخرى بالنسبة لبرنامجي في الحفط اوردت كودين واحد للحفظ في مسار البرنامج والاخر حيتما تريد اختر احدهما واغلق الاخر
واظن انني وضعتع ككومنت
اخي في موضوع سابق لي كنت اعاني اطن من مشكلة مشابهة وقد تم حلها في الرابط التالي ولكن بالسي شارب
http://vb4arb.com/vb/showthread.php?tid=29235
(02-04-20, 08:58 PM)سعود كتب : [ -> ]

هل تظن السبب هو الحفظ من دون امتداد؟


هو يحفظها في الملف ملف مبهم ولكن في النظام تحفظ صوره جوده ممتازه ما أتوقع أنه الأمتداد 

المشكله لما أختار صوره وتنزل في أداة الصور 
وأرجع أغيرها يعطيني الخطأ ..!!
اخوي راجع ردي عليك
الصفحات : 1 2 3