我想做一个以image1为底image2 image3都小于image1并且都在image1范围内,我想以image2,image3,image1合成图像,并保持image2,image3与image1的相对位置不知怎么编写程序(image1只设定大小不载入图像,image2和image3以textout输出文字大小与文字一样大)
_______________________________
| image1                          |
|                               |
|      ______   _______________                   |
|            |image2    |   |   image3    |                   |
|            |          |   |             |                   |
|            |__________|   |_____________|                   |
|                                                             |
|_____________________________________________________________|

解决方案 »

  1.   

    把image2和image3的图像copy到image1上,然后保存image1
      

  2.   

       BitBlt(Image2.Canvas.Handle, 0, 0, Image2.Width, Image2.Height,
          Image1.Canvas.Handle, 0, 0, SRCCOPY);Image2.Picture.Assign(Image1.Picture);   
    是这样??
      

  3.   

    最简单的方法,只用一行代码实现!把你的三个image排好位置,然后把窗体设置为没有标题栏的,并且设置autosize为true。
    在窗体显示事件里面执行一行代码即可将合成图片保存在C盘根目录:GetFormImage.SaveToFile('c:\'+FormatDatetime('YYYYMMDDhhnnsszzz', Now)+'.bmp');如果想要更好的代码请考虑加分。
      

  4.   

    最简单的方法,只用一行代码实现! 把你的三个image排好位置,然后把窗体设置为没有标题栏的,并且设置autosize为true。 
    在窗体显示事件里面执行一行代码即可将合成图片保存在C盘根目录: GetFormImage.SaveToFile('c:\'+FormatDatetime('YYYYMMDDhhnnsszzz', Now)+'.bmp'); 
    我的image 是放在scrollbox里的所以你的方法不行
      

  5.   

    BitBlt(Image1.Canvas.Handle, 0, 0, Image1.Width, Image1.Height, 
          Image2.Canvas.Handle, 0, 0, SRCCOPY); Image1.Picture.Assign(Image2.Picture); 
    产生这样的错误:project project1.exe raised exception classeinvalidoperation with message'can only modify an image if it contains a bitmap',process stopped,use step or run to continue.
      

  6.   

    自己根据二楼解决  如果在image中加载图像应加bmp格式
    BitBlt(Image1.Canvas.Handle, 0, 0, Image1.Width, Image1.Height,
          Image2.Canvas.Handle, image2.left,image2.top, SRCCOPY);
    Image2.Picture.Assign(Image1.Picture);
     Image1.Picture.SaveToFile('C:\3.bmp');
      

  7.   

    GetFormImage.SaveToFile('c:\'+FormatDatetime('YYYYMMDDhhnnsszzz', Now)+'.bmp'); 这种方法支持jpg格式。代码就是一行,你写到定时器里都行。要是说不行,我单独给你做个工程发你信箱。留下联系方式。