我想做一个以image1为底image2 image3都小于image1并且都在image1范围内,我想以image2,image3,image1合成图像,并保持image2,image3与image1的相对位置不知怎么编写程序(image1只设定大小不载入图像,image2和image3以textout输出文字大小与文字一样大)
_______________________________
| image1 |
| |
| ______ _______________ |
| |image2 | | image3 | |
| | | | | |
| |__________| |_____________| |
| |
|_____________________________________________________________|
_______________________________
| image1 |
| |
| ______ _______________ |
| |image2 | | image3 | |
| | | | | |
| |__________| |_____________| |
| |
|_____________________________________________________________|
Image1.Canvas.Handle, 0, 0, SRCCOPY);Image2.Picture.Assign(Image1.Picture);
是这样??
在窗体显示事件里面执行一行代码即可将合成图片保存在C盘根目录:GetFormImage.SaveToFile('c:\'+FormatDatetime('YYYYMMDDhhnnsszzz', Now)+'.bmp');如果想要更好的代码请考虑加分。
在窗体显示事件里面执行一行代码即可将合成图片保存在C盘根目录: GetFormImage.SaveToFile('c:\'+FormatDatetime('YYYYMMDDhhnnsszzz', Now)+'.bmp');
我的image 是放在scrollbox里的所以你的方法不行
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.
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');