Как я могу взять массив байтов изображения в формате TIFF и превратить его в Систему. Рисование. Объект изображения?

tolist() отлично работает даже при обнаружении вложенного массива, например pandas DataFrame;

my_list = [0,1,2,3,4,5,4,3,2,1,0]
my_dt = pd.DataFrame(my_list)
new_list = [i[0] for i in my_dt.values.tolist()]

print(type(my_list),type(my_dt),type(new_list))
5
задан Community 10 September 2008 в 00:13
поделиться

2 ответа

Править: Предположение ниже не корректно, у меня был шанс разжечь мой IDE позже и протестированный с и без Записи, и оба заполнили MemoryStream правильно.

Я думаю, что необходимо записать в MemeoryStream сначала.

Как будто моя память (никакая предназначенная игра слов) служит мне правильно это:

MemoryStream ms = new MemoryStream(byteArrayIn);

Создает поток памяти того размера.

Затем необходимо записать содержание массива байтов в поток памяти:

ms.Write(byteArrayIn, 0, byteArrayIn.Length);

Посмотрите, фиксирует ли это его.

2
ответ дан 14 December 2019 в 13:52
поделиться

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

То, что мне не удалось понять, было то, что строка была закодированным Base64. Вызов Convert.FromBase64String() вызванный это для превращений в массив байтов, который не уничтожил бы Image.FromStream() метод.

Так в основном это свелось к глупой ошибке с моей стороны. Но эй, код выше все еще полезен, и эта страница будет, вероятно, служить результатом Google относительно того, как избежать этой ошибки кому-то еще.

Кроме того, я нашел простой способ создать Многостраничный TIFF из моих массивов байтов здесь.

3
ответ дан 14 December 2019 в 13:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: