bcb 6.0 里怎么通过一批数据来显示图像

bcb 6.0 里如何通过一批数据来显示图像
bcb 6.0 里怎么通过一批数据来显示图像
我现在从一个模块里采集得到一批数据,数据的大小是256X288个像素,我在BCB6.0里想用Image控件来显示这张图片,这要怎么弄。得到的数据是16进制的数据。谢谢各位!

------解决方案--------------------
用tchart画曲线,可以直接从数据库加载数据。
------解决方案--------------------
1、确认图片格式
2、创建对应格式的空文件
3、把数据存到新创建的文件里
4、加载该文件
------解决方案--------------------
加文件头。
借花献佛,下面的是灰度图像,你参考一下吧,建议先搜索一下bmp的文件头看看


unsigned int buffer[sizeof(BITMAPINFOHEADER) + 1024];
    BITMAPINFO* bmi = (BITMAPINFO*)buffer;
    int bmp_w = pImage->m_nWidth;
    int bmp_h = pImage->m_nHeight;

    BITMAPINFOHEADER* bmih = &(bmi->bmiHeader);

    memset( bmih, 0, sizeof(*bmih));
    bmih->biSize   = sizeof(BITMAPINFOHEADER);
    bmih->biWidth  = bmp_w;
    bmih->biHeight = -abs(bmp_h);
    bmih->biPlanes = 1;
    bmih->biCompression = BI_RGB;

    SetStretchBltMode( pDC->GetSafeHdc(), HALFTONE );

    unsigned char* imageData;
    bool deleteImageData;

     imageData = (unsigned char*)pImage->GetDataPtr();
     deleteImageData = false;
//if image is not a true color one, such as grayscale image, we should create a grayscale pallette
     if( pImage->m_nChannels == 1 )
    {
           bmih->biBitCount = 8;
           RGBQUAD* palette = bmi->bmiColors;
           int i;
           for( i = 0; i < 256; i++ )
           {
                palette.rgbBlue = palette.rgbGreen = palette.rgbRed = (BYTE)i;
palette.rgbReserved = 0;
           }
      }
      else
     {
bmih->biBitCount = pImage->m_nChannels * 8;
      }

      int sw = (bmp_w > 0) ? bmp_w : 0;
      int sh = (bmp_h > 0) ? bmp_h : 0;

      int res = StretchDIBits(
              pDC->GetSafeHdc(),//dc
              0,                //x dest
              0,                //y dest