Dobrý den, snažím se programovat v Microsoft Visual C++. Mám konzolovou aplikaci, která vypisuje velikost BMP obrázku z jeho hlavičky, je funkční a zdrojový kód vypadá takto:
#include "stdafx.h"
#include "iostream"
#include "stdlib.h"
#include "stdio.h"
using namespace std;
unsigned char* data = NULL;
unsigned char* readBMP(char* filename)
{
int i;
FILE* f = fopen(filename, "rb");
unsigned char info[54];
fread(info, sizeof(unsigned char), 54, f); // read the 54-byte header
// extract image height and width from header
int width = *(int*)&info[18];
int height = *(int*)&info[22];
cout << width << endl;
cout << height << endl;
int size = 3 * width * height;
data = new unsigned char[size]; // allocate 3 bytes per pixel
fread(data, sizeof(unsigned char), size, f); // read the rest of the data at once
fclose(f);
for(i = 0; i < size; i += 3)
{
unsigned char tmp = data[i];
data[i] = data[i+2];
data[i+2] = tmp;
}
return data;
}
int main(array<System::String ^> ^args)
{
readBMP("D:/pokus.bmp");
for(int i = 0; i< 100; i++)
{
cout << *(char*)&data[i];
}
system("pause");
return 0;
}
Potřebuji vědět, jak v okenní aplikaci vypíši to samé, ale do labelu.
Předem děkuji za odpověď.