aarif moh shaikh Ответов: 2

как преобразовать IntPtr в изображение на языке C#


Всем Привет.
я хочу обратиться
IntPtr
к
Image
.

я уже попробовал это сделать. но не дали мне сканировать изображение.

IntPtr img = (IntPtr) pics[ i ];
Bitmap _img = new Bitmap(2450, 2450, 2452, PixelFormat.Format32bppRgb, img)
pictureBox1.Image = _img;

Sergey Alexandrovich Kryukov

Совершенно очевидно, что Вы имеете в виду систему.Рисование.Растровое изображение, но вам нужно указать полное имя типа, чтобы уменьшить путаницу и значительно повысить ваши шансы получить помощь.
—СА

2 Ответов

Рейтинг:
2

Sergey Alexandrovich Kryukov

Говорить здесь о "преобразовании" неверно; и, что еще важнее, мы не знаем, что это такое. pics. Скорее всего, тип литья к IntPtr было бы непрактично абсурдно; этот тип используется для передачи указателей на неуправляемую память или дескрипторы объектов.

Но в сущности, я могу себе представить, что у вас есть некоторые структуры данных, описывающие цвет (или цвет+Альфа) для каждого пикселя, и вам нужно поместить эти данные в растровое изображение. Тогда ответ довольно очевиден: https://msdn.microsoft.com/en-us/library/system.drawing.bitmap.lockbits%28v=vs.110%29.aspx[^].

Вы найдете полный пример кода на странице справки MSDN по одному из этих подобных методов.

—СА


Рейтинг:
1

Komron Nouri

Система.Рисование.Изображение.FromHbitmap(вход IntPtr)