★★★快来抢100分★★★:用canvas画图的怪事,你碰到过没有?

deak 2001-08-27 04:30:12
代码如下:
with image1.canvas do
begin
brush.Style :=bssolid;
brush.Color :=clwhite;
ellipse(100,100,110,110);
brush.Color :=clred;
ellipse(200,200,210,210);
end;

当brush.Color 设为白色时,不能显示画出的图形,
设为其他颜色时,却能显示画出的图形,why?
form背景为黑色

...全文
219 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
deak 2001-08-28
  • 打赏
  • 举报
回复
thank you,佩服佩服!!!
chechy 2001-08-28
  • 打赏
  • 举报
回复
Image当然是透明的,但是Image的Canvas的底色却是白色。所以我的代码无非是将底色改成兰色而已。这样你就能看见白圈了。否则白色的底色怎么能看到白圈呢?就像在黑屋子里面抓一只黑猫一样。
deak 2001-08-28
  • 打赏
  • 举报
回复
to tikkypeng:把Form底色设成白色照样是能看到有一个黑圈
但把Form底色设成黑色却不能看到有一个白圈,why?
这是关键所在!


deak 2001-08-28
  • 打赏
  • 举报
回复
我用的是delphi6+win98
to chechy:你是说image1的底色还是form1.的底色
image1的底色是透明的,form1.的底色为黑色;
你那种方法虽然可行,但为什么要先FillRect(Rect(0, 0, image1.Width, image1.Height));
透明的难道不行吗?
yqh 2001-08-27
  • 打赏
  • 举报
回复
奇怪,我怎么好使。肯定是你的系统有错误
qiandeng 2001-08-27
  • 打赏
  • 举报
回复
是不是调色板乱了
tikkypeng 2001-08-27
  • 打赏
  • 举报
回复
不对~~他的程序就是把Form底色设成白色照样应该能看到有一个黑圈
chechy 2001-08-27
  • 打赏
  • 举报
回复
如果是白色,当然看不出来了。你试试这个代码:

with image1.canvas do
begin
Pen.Color := clGreen;
brush.Style := bssolid;
brush.Color := clBlue;
FillRect(Rect(0, 0, image1.Width, image1.Height));
brush.Color := clwhite;
ellipse(100, 100, 110, 110);
brush.Color := clred;
ellipse(200, 200, 210, 210);
end;
chechy 2001-08-27
  • 打赏
  • 举报
回复
你的底色是白色吗?还是其他颜色?
deak 2001-08-27
  • 打赏
  • 举报
回复
to chechy:我是说画出的图形的填充颜色,当brush.Color 设为白色时,不能显示画出的图形的
的填充颜色为白色,
设为其他颜色时,却能显示画出的图形的填充颜色
monsterking 2001-08-27
  • 打赏
  • 举报
回复
底色是白色的啦。
chechy 2001-08-27
  • 打赏
  • 举报
回复
你的问题总是那么奇怪,为什么我就没碰见呢?
不行你就加一句
Pen.Color := clYellow;

5,927

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧