آمل التكرم بتجربة المثال وتصحيح الخطا
كلمة المررو saudpass
الخطا لا يظهر الا بعد مدة من التصوير جرب التشغيل من الاستوديو وليس من الملف التنفيذي
غالبا الصورة التي تستخدمها لتعريف الجرافكس قد تكون قيمتها تساوي Nothing
وبالتالي الجرافكس التي تستخدمها لتصوير الشاشة ليس لها قيمة مطلقا
تأكد أن المستطيل المستخدم في تكوين الصورة قيمته لا تساوي Nothing
أو الأفضل أن تتأكد أن جميع المتغيرات مثل المستطيل و الصورة و الجرافكس قيمتها لا تساوي Nothing
أيضا عليك بعد أن تحفظ الصورة في المصفوفة تقوم بعمل Dispose للجرافكس ثم للصورة
أنت لا تحتاج أن تحدد PixelFormat الخاص بالصورة لأن اي صورة يتم التقاطها لشاشة الكمبيوتر يكون pixel format الخاص بها يساوي Format32bppArgb
يكفي أن تعرف الصورة كما في الكود أدناه
كود :
screenshot = New System.Drawing.Bitmap(bounds.Width, bounds.Height)
ايضا الكود الخاص بتصوير الشاشة يكفيك أن تكتبه كالتالي
كود :
g.CopyFromScreen(bounds.X, bounds.Y, 0, 0, bounds.Size)
بالنسبة لتعريف المستطيل الأدق لك أن تقوم بتعريف New Rectangle من الفورم رقم 2 او من workingArea
بارك الله فيك
لكن انا مستغرب انه يعمل ويصور وعند مدة معينة يتوقف...هذا جعلني اشك ان المسالة ضمن مصفوفة الصور.
ساعمل بنصيحتك
شكر الله لك.
تبين ان الخطا له علاقة بمحدودية مصفوفة الصور فبعد ان استبدلتها ب، DataTable زال الاشكال عن كل من المسجل و المشغل