سؤال

هناك طريقة لتحديد أنني تمرير صفيف بايت الصحيح إلى ميموريستريم إذا كنت ترغب في إنشاء صورة من صفيف بايت.

MemoryStream mStream = new MemoryStream();
mStream.Write(byteArray, 0, byteArray.Lenth);
Image imgObj = Image.FromStream(mStream);

كيف يمكنني ، إن أمكن صحيح البايتراي أنه بايتراي صالح للصورة?

هل كانت مفيدة؟

المحلول 4

إليك الإجابة معالجة الصور للدمى مع C # و GDI +

ot: لا أعرف كيفية وضع روابط على التعليقات حتى أضعها في الإجابات.

نصائح أخرى

هذا سؤال مشؤوم حقا, بالتأكيد يجب أن تعرف من أين تقرأ بياناتك?عند إنشاء صورة باستخدام Image.FromStream, ، وهو ArgumentException سيتم طرحه إذا لم يتمكن من التعرف على التنسيق.لماذا لا تستخدم هذه الآلية لتحديد تيار غير صحيح من البيانات, بدلا من إعادة اختراع العجلة?

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

بعد قراءة أسئلتك وتعليقاتك ، وأعتقد أن ما كنت تحاول هو التلاعب في الصورة عن طريق التلاعب في مجموعة بايت قبل وضعه في فئة الصورة.والآن أنت تدعي أن صفيف البايت الخاص بك تالف لتنسيق الصورة هذا وكيف يمكنك تصحيحه.

لذا فإن الإجابة على هذا السؤال ستكون:لقد أفسدته ، ستصلحه.

ولكن لحل مشكلتك حقا ، إذا كان هدفك هو التلاعب في الصورة نفسها ، مجرد تحميله في إنتيريمس Image واستخدام Graphics الطبقة للتلاعب صورتك.بعد ذلك وضع النتيجة في حقيقي كائن الصورة الذي يعجبك.جاهز ، دون أي متاعب حول العمل على صفيف البايت.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top