bmp的格式比较好处理,图片内容都是以扫描行的形式存放的,
竖加的话直接把另一个文件的头信息去除,
追加到第一个文件的尾,
再改一下文件的头信息即可。附:(bmp文件头)
1)位图文件头数据结构包含BMP图象文件的类型、显示内容等信息。
  Typedef struct{
      Int bfType; //must be "BM"
      Long bfSize; //位图大小
      Int bfReserved1;//must be "0"
      Int bfReserved2;//must be "0"
      Long bfOffBits;//位图阵列的起始位置
  }BITMAPEFILEHEADER;2)位图信息数据结构由BITMAPINFOHEADER和RGBQUAD两个数据结构组成,
  typedef struct{
      BITMAPINFOHEADER bmiHeader;
      RGBQUAD bmiColors[];
  }BITMAPINFO

解决方案 »

  1.   

    我的位图来自图像采集卡,是存放在TBitmap中的,修改文件头的方法不太适用啊。
      

  2.   

    用TCanvas.CopyRect()方法可以将其他位图的内容copy过来并放到指定的框架里。
    //TBitmap里包含了一个Canvas对象。
    //例子:(delphi自带的)
    var
      Bitmap: TBitmap;
      MyRect, MyOther: TRect;
    begin  MyRect := Rect(10,10,100,100);  MyOther := Rect(10,111,100, 201);
      Bitmap := TBitmap.Create;
      Bitmap.LoadFromFile('c:\windows\tartan.bmp');
      Form1.Canvas.BrushCopy(MyRect, Bitmap, MyRect, clBlack);
      Form1.Canvas.CopyRect(MyOther,Bitmap.Canvas,MyRect);
      Bitmap.Free;
    end;