本帖最后由 xiaojunjun1202 于 2011-07-30 16:20:24 编辑

解决方案 »

  1.   


    #define Gray(x, y) 你自己的获得Gray值的代码int x = 用户x坐标
    int y = 用户y坐标int cx = 选择的宽度
    int cy = 选择的高度int x0 = x - cx / 2;
    int y0 = y - cy / 2;int x2 = x + cx / 2;
    int y2 = y + cy / 2;unsigned char *Bits = new unsigned char [cx * cy * sizeof(int)]
    for (int y = y0; y < y2; y++)
    for (int x = x0; x < x2; x++)
    {
    Bits[y*cx + x] = Gray(x, y);
    }Bits保存的就是那些灰度值, 大小为x * cy * sizeof(int);
      

  2.   

    如果是显示225个灰度,用什么控件显示方便些????
    225个static?太夸张了
    listbox?
      

  3.   

    vector <vector <int>> pointvec;就可以存贮int的2维数组。vector <vector <RGBNODE>> pointvec;RGBNODE定义为一个存贮颜色的结构。
      

  4.   

    你一个像素是8位,正好一个字节。
    ilengthofbits
    PBYTE _p;
    _p=(PBYTE)malloc(ilengthofbits+1);
    这样得到一个地址是_p的大小是ilengthofbits的内存。