تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
out of memory ? -_-
#1
السلام عليكم , Smile
اعذروني على الغيبة الطويلة لكنها الدراسة :\ .. انتهيت منها الحمد لله و ها انا عائد Smile , و عدت بفكرة لبرنامج له علاقة بالتصوير الفوتوغرافي ..
و في احد اوامره يقوم باستدعاء صورة بعد اخرى ( loop ) .. و يعالجها و يحفظها ..
لكن كان خطأ يظهر لي الا و هو " out of memory " !!
لم اعلم طريقة الحل , هل من معين ؟ Sad
و ها هو الكود :
كود :
Dim bmpx As New Bitmap(x)                bmpx = New Bitmap(bmpx, width, height)
                If Not now = count - 1 Then
                    Dim h As Integer = once * (i)
                    Dim r As New Rectangle(0, h, width, once)
                   g.DrawImage(bmpx, 0, h, r, GraphicsUnit.Pixel)
و كان الخطأ يظهر في اول سطر اعلاه ..
شكرا لكم :*
الشمس اجمل في بلادي من سواها .. و الظلام
حتى الظلام هناك اجمل فهو يحتضن العـــراق :o
الرد }}}
تم الشكر بواسطة:
#2
H111er كتب :السلام عليكم , Smile
اعذروني على الغيبة الطويلة لكنها الدراسة :\ .. انتهيت منها الحمد لله و ها انا عائد Smile , و عدت بفكرة لبرنامج له علاقة بالتصوير الفوتوغرافي ..
و في احد اوامره يقوم باستدعاء صورة بعد اخرى ( loop ) .. و يعالجها و يحفظها ..
لكن كان خطأ يظهر لي الا و هو " out of memory " !!
لم اعلم طريقة الحل , هل من معين ؟ Sad
و ها هو الكود :
كود :
Dim bmpx As New Bitmap(x)                bmpx = New Bitmap(bmpx, width, height)
                If Not now = count - 1 Then
                    Dim h As Integer = once * (i)
                    Dim r As New Rectangle(0, h, width, once)
                   g.DrawImage(bmpx, 0, h, r, GraphicsUnit.Pixel)
و كان الخطأ يظهر في اول سطر اعلاه ..
شكرا لكم :*

جرب قبل تحميل المتغير bmpx بقيمة جديدة كتابة السطر
PHP كود :
bmpx.Dispose() 
الرد }}}
تم الشكر بواسطة:
#3
شكرا اخي لكن ليَّ سؤالان ..
الاول اين اضع السطر بالضبط ؟ و الثاني ما السبب اصلا لكتابة هذا السطر ؟
شكرًا
الشمس اجمل في بلادي من سواها .. و الظلام
حتى الظلام هناك اجمل فهو يحتضن العـــراق :o
الرد }}}
تم الشكر بواسطة:
#4
H111er كتب :شكرا اخي لكن ليَّ سؤالان ..
الاول اين اضع السطر بالضبط ؟ و الثاني ما السبب اصلا لكتابة هذا السطر ؟
شكرًا

PHP كود :
Dim bmpx As New Bitmap(x)
bmpx.dispose()
 
bmpx = New Bitmap(bmpxwidthheight 
السبب هو انك عندما تنشأ كائن bitmap من مصدر (X) فانه يمنع الوصول الى هذا المصدر من اي كائن اخر ولتحرير هذا المصدر حتى تستطيع كائنات اخرى القراءة منه تستخدم Dispose()
ربما تكون ههذه هي المشكلة وربما لا
جرب واخبرني بالنتيجة
الرد }}}
تم الشكر بواسطة:
#5
جربت لكن لم تحل المشكلة .. لكني قمت بصنع متغير اخر وضعت فيه الصورة الجديدة بناءً على ما قلته و عمل الحمد لله ^_^
كود :
Dim x As String = "C:\uip-merges\" & (i + 1).ToString() & ".jpg"            Dim bmpx As New Bitmap(x)
            Dim bmpx1 As New Bitmap(bmpx, width, height)
شكراً Smile
الشمس اجمل في بلادي من سواها .. و الظلام
حتى الظلام هناك اجمل فهو يحتضن العـــراق :o
الرد }}}
تم الشكر بواسطة:



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


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