PDA

View Full Version : دلیل ( A generic error occurred in GDI+.) در هنگام دخیره عکس با وی بی نت؟



farhad85
جمعه 06 دی 1392, 17:04 عصر
سلام دوستان
من یک فرم دارم که یک پیکچرباکس و سه تاکلید به نام اسکن و یکی به نام ذخیره تصویر و یکی بنام 1 در اون وجود داره!
مثل تصویر زیر:
وقتی کلید 1 رو کلیک میکنم کادر اوپن باز میشه و ازم یه عکس میخواد که انتخاب کنم و بعد از انتخاب عکس نمایان شدن آن در پیکچرباکس دکمه دخیره تصویر رو میزنم وعکس انتخابی در بانکم بدون هیچ مشکلی ثبت مبشه .
حالا با زدن دکمه اسکن نرم افزار مخصوص اسکن ویندوز باز مبشه و بعد اسکن عکس بلا فاصله در پیکچرباکسم نشان داده میشه ولی( وقتی روی کلید ذخیره تصویر کلیک میکنم با پیغام زیر روبرو میشم)
A generic error occurred in GDI+.
لطفا در این مورد راهنماییم کنید

behrooz69
شنبه 07 دی 1392, 01:01 صبح
سورستو بذار دوست من تا بچه ها کمکت کنن

farhad85
شنبه 07 دی 1392, 10:34 صبح
سلام
کد ذخیره سورس خودته آقا بهروز ولی سورس اسکن نه!

کد دخیره:
Dim my_cn1 As New SqlConnection("Data Source=(local);Initial Catalog=keshavarz;Integrated Security=True;Pooling=true")
If PicBoxInReg.Image Is Nothing Then
MsgBox("لطفا تصویر را انتخاب نمایید")
Exit Sub
End If

If my_cn1.State = ConnectionState.Closed Then
my_cn1.Open()
End If
Try
Dim my_cm1 As New SqlCommand("insert into moshakhasat(pic,code_meli) values (@pic,@code_meli)", my_cn)
my_cm1.Parameters.Add("@code_meli", SqlDbType.NVarChar).Value = TextBox1.Text

Dim ms As New MemoryStream
Me.PicBoxInReg.Image.Save(ms, Imaging.ImageFormat.Jpeg)
Dim arrPic() As Byte = ms.GetBuffer
my_cm1.Parameters.Add("@Pic", SqlDbType.VarBinary).Value = arrPic
my_cn1.Close()
my_cn1.Open()
If my_cn1.State = ConnectionState.Open Then
my_cm1.ExecuteNonQuery()

my_cn.Close()
MessageBox.Show(" اطلاعات عکس مورد نظر ثبت شد")
End If
Catch ex As Runtime.InteropServices.ExternalException
MsgBox("حجم فایل زیاد است")

End Try


کد اسکن:

Dim d As New CommonDialog
Dim p As New ImageFile
Dim img As String = Application.StartupPath & "\temp.BMP"
Try
p = d.ShowAcquireImage(WiaDeviceType.ScannerDeviceType , WiaImageIntent.ColorIntent, WiaImageBias.MaximizeQuality, , False, False, False)
If p IsNot Nothing Then
If IO.File.Exists(img) = True Then
IO.File.Delete(img)
End If
p.SaveFile(img)
PicBoxInReg.Load(img)

End If
Catch ex As Exception
MsgBox("دستگاه اسکنر را جهت ورود عکس بررسی نمایید!؟ .همچنین از روشن بودن دستگاه و وصل بودن کابل دیتای آن اطمینان حاصل فرمایید ")
End Try

farhad85
یک شنبه 08 دی 1392, 12:45 عصر
کسی نمی تونه کمکی بکنه!

behrooz69
یک شنبه 08 دی 1392, 21:04 عصر
نه داداشی کار نکردم تا حالا شرمنده 2 شنبه شب بهت میگم داش . واسه چی عکسو بعد ذخیره اسکن میکنی؟

farhad85
دوشنبه 16 دی 1392, 22:53 عصر
کمک کنید لطفا

boveiryghasem
سه شنبه 17 دی 1392, 07:45 صبح
سلام لینک های زیر بنده هایی هستند با مشکل شما که نتیجه گرفتن یه سر بزن ببین بدرد میخورن:

http://www.vbforums.com/showthread.php?654615-RESOLVED-A-generic-error-occurred-in-GDI
http://www.codeproject.com/Questions/672546/A-generic-error-occurred-in-GDIplus-VB-NET-WHILE-s