如题:
1、有两张图片,一张是红色的点,一张是蓝色的点,两张图片叠加在一起,红色点和蓝色点相交部分变为黑色,怎样在DELPHI中实现?
2、假如有一张图,图中是个黑色的箭头,背景是白色的,用程序产生离子,如何确定离子投影出来的是箭头的图形?如何在delphi中实现?
如图:
http://www.bababian.com/photos/20060215/D2AF3B6E3A5282ABE532AD6403480A6F_500.jpghttp://www.bababian.com/photos/20060124/015F00D558B4D197E0E4FE2DE669BFE2_500.jpg请大家帮帮小弟,先多谢了!
1、有两张图片,一张是红色的点,一张是蓝色的点,两张图片叠加在一起,红色点和蓝色点相交部分变为黑色,怎样在DELPHI中实现?
2、假如有一张图,图中是个黑色的箭头,背景是白色的,用程序产生离子,如何确定离子投影出来的是箭头的图形?如何在delphi中实现?
如图:
http://www.bababian.com/photos/20060215/D2AF3B6E3A5282ABE532AD6403480A6F_500.jpghttp://www.bababian.com/photos/20060124/015F00D558B4D197E0E4FE2DE669BFE2_500.jpg请大家帮帮小弟,先多谢了!
解决方案 »
- 今天重装Delphi7.0,发现在安装到输入注册码时,输完后,点下一步程序没有反应,也没任何提示,就老停留下输入注册码的界面???
- 有人做过工厂管理用的数据库吗?
- 如何将光标移到StringGrid的最后一行?谢谢各位大哥了(在线等)
- 急!!!如何在一次操作中同时更新两个sqlserver数据库。
- 关于ACCESS数据库的问题
- 一个很怪的问题!关于LeftStr 和 RightStr提取字符串问题!
- 我又做错了什么?请告诉我。谢谢 。
- 關于Tquery的用法!這里不知道哪里錯啦!
- Delphi 7事件的多处理机制
- 英文精品计算机技术网站推荐:
- 数据显示的问题?
- ++++++++++++++高手帮忙,看看我这个两层和简单树,为什么会出错?++++++++++++++++
procedure TForm1.Button1Click(Sender: TObject);
begin
Canvas.CopyMode := cmSrcCopy;
Canvas.CopyRect(
Rect(0, 0, Image1.Picture.Bitmap.Width, Image1.Picture.Bitmap.Height),
Image1.Picture.Bitmap.Canvas,
Rect(0, 0, Image1.Picture.Bitmap.Width, Image1.Picture.Bitmap.Height)
); Canvas.CopyMode := cmSrcAnd;
Canvas.CopyRect(
Rect(0, 0, Image2.Picture.Bitmap.Width, Image2.Picture.Bitmap.Height),
Image2.Picture.Bitmap.Canvas,
Rect(0, 0, Image2.Picture.Bitmap.Width, Image2.Picture.Bitmap.Height)
);
end;//第二个问题没看明白,两张图片看不出有什么区别,目标效果图是什么样的?
begin
Image3.Picture.Bitmap.Width := Image1.Picture.Bitmap.Width;
Image3.Picture.Bitmap.Height := Image1.Picture.Bitmap.Height;
Image3.Canvas.FillRect(Image3.Canvas.ClipRect); Image3.Canvas.CopyMode := cmSrcCopy;
Image3.Canvas.CopyRect(
Rect(0, 0, Image1.Picture.Bitmap.Width, Image1.Picture.Bitmap.Height),
Image1.Picture.Bitmap.Canvas,
Rect(0, 0, Image1.Picture.Bitmap.Width, Image1.Picture.Bitmap.Height)
); Image3.Canvas.CopyMode := cmNotSrcErase;
Image3.Canvas.CopyRect(
Rect(0, 0, Image2.Picture.Bitmap.Width, Image2.Picture.Bitmap.Height),
Image2.Picture.Bitmap.Canvas,
Rect(0, 0, Image2.Picture.Bitmap.Width, Image2.Picture.Bitmap.Height)
); Image4.Picture.Bitmap.Width := Image1.Picture.Bitmap.Width;
Image4.Picture.Bitmap.Height := Image1.Picture.Bitmap.Height;
Image4.Canvas.FillRect(Image3.Canvas.ClipRect); Image4.Canvas.Brush.Color := $000FFF;
Image4.Canvas.FillRect(Canvas.ClipRect);
Image4.Canvas.CopyMode := cmSrcErase;
Image4.Canvas.CopyRect(
Rect(0, 0, Image3.Picture.Bitmap.Width, Image3.Picture.Bitmap.Height),
Image3.Picture.Bitmap.Canvas,
Rect(0, 0, Image3.Picture.Bitmap.Width, Image3.Picture.Bitmap.Height)
); Canvas.CopyMode := cmSrcCopy;
Canvas.CopyRect(
Rect(0, 0, Image1.Picture.Bitmap.Width, Image1.Picture.Bitmap.Height),
Image1.Picture.Bitmap.Canvas,
Rect(0, 0, Image1.Picture.Bitmap.Width, Image1.Picture.Bitmap.Height)
); Canvas.CopyMode := cmNotSrcErase;
Canvas.CopyRect(
Rect(-1, -1, Image1.Picture.Bitmap.Width - 1, Image1.Picture.Bitmap.Height - 1),
Image4.Picture.Bitmap.Canvas,
Rect(0, 0, Image1.Picture.Bitmap.Width, Image1.Picture.Bitmap.Height)
); Canvas.CopyMode := cmNotSrcErase;
Canvas.CopyRect(
Rect(+1, +1, Image1.Picture.Bitmap.Width + 1, Image1.Picture.Bitmap.Height + 1),
Image4.Picture.Bitmap.Canvas,
Rect(0, 0, Image1.Picture.Bitmap.Width, Image1.Picture.Bitmap.Height)
);
end;