我用一个image导入显示一个bmp图,在上面又放了一个image,画了几条线,我现在想把此时的效果图保存在bmp里,该怎么做呢?
解决方案 »
- 我想问问,如何在自己程序点击一个按钮,调用外部程序的回车功能?
- IT人生:程序员喝酒的计算机文化
- 我用query1查询多个表。修改查询数据问题
- 求能同时显示jpg和动态gif的控件
- 我用ftp传文件到一个远程机器上的文件夹里,这个文件夹可能不存在,问一个,怎么样才能判断文件夹不存在呀
- FastReport报表打印太慢,不知是何原因?
- 如何在 dbgrid 和 stringGrid 中实现不,当按完回车键,焦点移到下一格或右边的一格。
- delphi做的动态库,读取excel的数据,然后返回数组,出现问题
- 请问如何在delphi程序中为一个mdb文件设置密码?
- 急急急!!!各位大虾,如何把文字转化为位图,又怎样把位图转化为二进制流?
- 高分请教!--delphi下如何开发虚拟设备驱动?
- 如何在Frame中编写事件
读取的时候同时读取不就行了吗?
如果是这个意思的话.看看下面的代码..我随手写的.不严格了:
要画透明的BMP的话.找到透明色.可以用 BMP.CANVAS.PIXEL[X,Y],次方法返回该点像素的RGB值;
然后化该透明图的时候.用CANVAS.BRUSHCOPY(DRC,SRCCANVAS,SRC,COLOR);COLOR就是透明色.
比如说.BMP1,BMP2;
BMP1是背景图.BMP2为前景图.BMP2有部分是透明的.透明色为左下角像素.
PROCEDURE DRAW;
VAR
C:TCOLOR;
BEGIN
C:=BMP2.CANVAS.PIXEL[0,BMP2.HEGHT-1];
BMP1.CANVAS.BRUSHCOPY(RECT(0,0,32,32),BMP2.CANVAS,RECT(0,0,32,32),C);END;
BMP1就是最后的合成图了。
with Bmp1.Canvas do begin
Brush.Style:=bsClear;
BrushCopy(DstRc,Bmp2.Canvas,SrcRc,clRed);//具体参数写的时候看。我可能有错。
// 就把线贴到了BMP1上。红色部分被透明了。
end;