Мне нужно показать изображение из ОЗУ в pictureBox. Я трачу весь свой вчерашний день, чтобы попытаться заставить его работать. Вот небольшой код, чтобы показать вам, как я сейчас пытаюсь это сделать, но не могу заставить работать System::Drawing::Bitmap. Все, что я получаю, это пустой pictureBox. Я также записываю файл BMP на свой диск, и файл выглядит так, как задумано (шум в оттенках серого). Я был бы очень рад, если бы вы могли мне помочь!
unsigned char* imgData;
imgData = (unsigned char*)malloc(100 * 100 * sizeof(unsigned char)*3);
for (int i = 0; i < 100 * 100; i++){
memset(imgData+ i*3,rand()%255, 3); //generates a random pixel vaoue between 0 and 255 and then assigns all three colors of a pixel to it
}
// this->textBox1->Text += "Values: " + *(imgData + 1) + " \r\n";
const char* fname;
fname = "test.bmp";
write_bmp(fname, 100, 100, (char*)imgData); //writes 24-bit BMP File
System::Drawing::Bitmap ^mybm = gcnew System::Drawing::Bitmap(
100, 100, 100*sizeof(unsigned char)*3,
System::Drawing::Imaging::PixelFormat::Format24bppRgb,
(System::IntPtr) imgData);
this->pictureBox1->Image = mybm;
this->pictureBox1->Show();
free(imgData);
100*sizeof(unsigned char)*3
- person Alex F   schedule 15.05.2014Bitmap
из файлаtest.bmp
, что у вас получилось? - person Alex F   schedule 15.05.2014gcnew
;System::Drawing::Image::FromFile
— это статическая функция, а не тип. - person Rook   schedule 15.05.2014