прохождение правильного кроварка на память поставки для изображения

StackOverflow https://stackoverflow.com/questions/3211414

Вопрос

Есть способ определить, что я передаю правый байтовый массив в MemoryStream, если я хочу создать изображение из массива байтов.

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

Как я могу, если это возможно исправить bytearray, что это действительный ByteAray для изображения?

Это было полезно?

Решение 4

Вот ответ Обработка изображений для манекенов с C # и GDI +

<Сильные> ОТ: Я не знаю, как поставить ссылки на комментарии, поэтому я положил его в ответы.

Другие советы

Это действительно зловещий вопрос, наверняка вы должны знать, откуда вы читаете ваши данные?Когда вы создаете изображение с помощью Image.FromStream, будет брошен генеракодицетагкод, если он не может распознать формат.Почему вы не используете этот механизм для идентификации неверного потока данных, а не восстанавливают колесо?

Я сделал немного программных манипуляций изображений.То, что вы захотите сделать, это найти спецификацию для формата изображения, который вы изменяете, и убедитесь, что вы должны делать все, что вы должны.Например, файлы PNG разбиваются и имеют контрольные суммы на каждом разделе, поэтому, если вы измените что-то в этом чане, вы должны пересчитать контрольную сумму в конце раздела.

После прочтения ваших вопросов и ваших комментариев, я думаю, что вы пытаетесь манипулировать изображением, манипулируя массивом байтов, прежде чем положить его в класс изображения.И теперь вы утверждаете, что ваш байтовый массив поврежден для этого формата изображения и как вы его можете исправить.

Так что ответ на этот вопрос будет: вы повредите его, вы исправите это.

Но чтобы по-настоящему решить вашу проблему, если ваша цель - манипулировать самим изображением, просто загрузите его в промежуточный генеракодицетагкод и используйте Image класс для манипулирования картинкой.После этого поместите результат в реальное объект Image .Готовы, без каких-либо хлопот о работе на байтовом массиве.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top