一个图形叠加的有关问题

一个图形叠加的问题
要在程序中实现 
在一张底图上叠加多个小图象。比如在地图上标注 五角星 类似的小图象或者小图标 



------解决方案--------------------
Tcanvas.draw()
Tcanvas.copyrect()

bitblt()

等等都可以实现。
------解决方案--------------------
procedure DrawTranImage(DestCanvas: TCanvas; LeftPos: Integer; TopPos: Integer; 
SourceImg: TBitmap; MaskImg: TBitmap); //绘制透明图像 
var 
OldCopyMode : LongInt; //原来的CopyMode设置值 
begin 
 //DestCanvas:目标画布 SourceImg:原始图像 MaskImg:和原始图像配套的掩模 
 with DestCanvas do 
 begin 
OldCopyMode := CopyMode; //保存原始的CopyMode设置 
CopyMode := cmSrcAnd ; //将复制模式改为AND 
Draw(LeftPos,TopPos,MaskImg); //绘制遮罩 
CopyMode := cmSrcPaint; //将复制模式改为OR 
Draw(LeftPos,TopPos,SourceImg); //绘制图象 
CopyMode := OldCopyMode; //恢复原始的CopyMode设置 
 end; 
end;