تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
سؤالي عن a generic error occurred in gdi+
#1
السلام عليكم يا مجتمع الفيجوال بيسك 
عندي PictureBox تأخذ في الصورة من السكانير شغالة 100% بدون مشاكل تظهر الصورة على PictureBox 
و لكن عند الحفظ او الإظهار في الريبورت تظهر لي هذه الرسالة 
a generic error occurred in gdi+ 

مع العلم عند فتح صورة من الجهاز يشتغل الكود طبيعي المشكلة في الصورة المعمول عليها مسح من السكانير فقط 



الكود المستخدم لحفظ الصورة 
كود :
PictureBox1.Image.Save(Application.StartupPath & "\Imgs\" & txtjobno.Text & ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg)



الكود المستخدم لتمرير الصورة للريبورت 
كود :
Dim ms As New System.IO.MemoryStream
           Dim byt() As Byte = ms.ToArray
           PictureBox1.Image = New Bitmap(Image.FromStream(ms))
           Dim bmpImage As New Bitmap(PictureBox1.Image)
           bmpImage.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg)
           byt = ms.ToArray()
           ms.Close()
الرد }}}
تم الشكر بواسطة:
#2
لله الحمد انحلت معي القصة ..
سأترك هنا الحل لعل غيري يستفيد منه ولا نريد إلا الدعاء 
المشكلة كانت في الكتابة على نفس الملف .. بينما إذا كان صورة جديدة بإسم جديد فإن الكود يشتغل تمام 

الحل هو بمجرد أن أقوم بإنشاء صورة نقطية Bitmap من صورة ، فإنني أتخلص من الصورة النقطية  Bitmap الأصلية 
ومن ثم فأنا قادر على الكتابة فوق نفس الملف بالصورة النقطية المحدثة.


كود :
Dim oBitmap As Bitmap
oBitmap = New Bitmap("c:\\example.jpg")
Dim oGraphic As Graphics
' Here create a new bitmap object of the same height and width of the image.
Dim bmpNew As Bitmap = New Bitmap(oBitmap.Width, oBitmap.Height)
oGraphic = Graphics.FromImage(bmpNew)
oGraphic.DrawImage(oBitmap, New Rectangle(0, 0, _
bmpNew.Width, bmpNew.Height), 0, 0, oBitmap.Width, _
oBitmap.Height, GraphicsUnit.Pixel)
' Release the lock on the image file. Of course,
' image from the image file is existing in Graphics object
oBitmap.Dispose()
oBitmap = bmpNew

Dim oBrush As New SolidBrush(Color.Black)
Dim ofont As New Font("Arial", 8 )
oGraphic.DrawString("Some text to write", ofont, oBrush, 10, 10)
oGraphic.Dispose()
ofont.Dispose()
oBrush.Dispose()
oBitmap.Save("c:\\example.jpg", ImageFormat.Jpe



ارجو ان اكون قد وفقت في شرح الحل
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , ابراهيم ايبو
#3
السلام عليكم ورحمة الله وبركاته
الاخ الطيب أحمد الورفلي
بارك الله فيك ولك وجزاك أحسن الجزاء
هكذا يجب ان نكون نعطي اكثر مما نأخذ
شكرا لك من كل قلبي
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة: ahmed_elwerfalli , Taha Okla
#4
(01-02-22, 02:52 PM)ابراهيم ايبو كتب : السلام عليكم ورحمة الله وبركاته
الاخ الطيب أحمد الورفلي
بارك الله فيك ولك وجزاك أحسن الجزاء
هكذا يجب ان نكون نعطي اكثر مما نأخذ
شكرا لك من كل قلبي

انتم من تستحقون الشكر لجعل هذه المساحة متوفرة للجميع ... 
نسأل الله ان يكون علمكم و علمنا من العلم النافع عند الله 
ننفع به غيرنا و ننتفع منهم 
فائق التقدير و الإحترام لحضرتكم
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو



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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم