2010-05-10 4 views
1

это мой код. Здесь i hv сформировал массив байтов img, я пытаюсь добавить некоторое vlue в этот байт-массив say 10, и я позабочусь, чтобы значение не превышало 255. позже, если я попытаюсь перерисовать изображение с помощью следующего кода i Я получаю сообщение об ошибке на этой линии ... что может быть проблема .. без изменений, если я пытаюсь нарисовать изображение оно приходит, но если я cahnge какое-то значение это не рисунок ..ошибка при преобразовании массива байтов в изображение, после изменения массива байтов и массива байтов берется из самого изображения в C#

public Image btoi(byte[] bt) 
{ 
    ms = new MemoryStream(bt, 0, bt.Length); 
    img = Image.FromStream (ms, true); // error at this line 
    ms.Close(); 

    return img; 
} 
+3

Если у вас есть байтовый прием, почему вы хотите добавить к нему дополнительные байты? и какую ошибку вы получаете? –

ответ

1

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

Если вы измените весь блок памяти, вы, вероятно, перепишете значения, указывающие ширину и высоту изображения.

Смежные вопросы