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

نسخة كاملة : out of memory ? -_-
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم , 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)
و كان الخطأ يظهر في اول سطر اعلاه ..
شكرا لكم :*
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() 
شكرا اخي لكن ليَّ سؤالان ..
الاول اين اضع السطر بالضبط ؟ و الثاني ما السبب اصلا لكتابة هذا السطر ؟
شكرًا
H111er كتب :شكرا اخي لكن ليَّ سؤالان ..
الاول اين اضع السطر بالضبط ؟ و الثاني ما السبب اصلا لكتابة هذا السطر ؟
شكرًا

PHP كود :
Dim bmpx As New Bitmap(x)
bmpx.dispose()
 
bmpx = New Bitmap(bmpxwidthheight 
السبب هو انك عندما تنشأ كائن bitmap من مصدر (X) فانه يمنع الوصول الى هذا المصدر من اي كائن اخر ولتحرير هذا المصدر حتى تستطيع كائنات اخرى القراءة منه تستخدم Dispose()
ربما تكون ههذه هي المشكلة وربما لا
جرب واخبرني بالنتيجة
جربت لكن لم تحل المشكلة .. لكني قمت بصنع متغير اخر وضعت فيه الصورة الجديدة بناءً على ما قلته و عمل الحمد لله ^_^
كود :
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