for (int i = 0; i < bt.Length; i++)
            {
                raw_data[i] = bt[i];
                raw_data[i + 1] = bt[i];
                raw_data[i + 2] = bt[i];
            }
这是闹哪样?

解决方案 »

  1.   

    byte[] raw_data = new byte[640 * 480 * 3];
    你也不管相机传上来的数据是多少,就直接给固定长度了?
    相机传上来的不是应该ARGB格式,4个字节表示一个像素么,为什么是*3?总之逻辑很混乱,完全不明白你到底想干什么.
      

  2.   

    没改过来,                raw_data[3*i] = bt[i];
                    raw_data[3*i + 1] = bt[i];
                    raw_data[3*i + 2] = bt[i];
      

  3.   

    想让图片大小以640*480显示,乘以3,是因为每个像素颜色数据格式按照RGB显示的
      

  4.   

    你确定这3个变量赋值成同一个值?
    即使不是ARGB而是RGB(3个字节代表一个像素),每个字节也都是有意义的啊.
    除非你上传的图很小,你想等比例放大.