| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2188 人关注过本帖
标题:求助:如何设置背景颜色
只看楼主 加入收藏
Evenchao
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2013-3-9
结帖率:62.5%
收藏
 问题点数:0 回复次数:12 
求助:如何设置背景颜色
如何设置背景颜色?  就是我在image上画了一些矩形、椭圆的图形,但是这时我要设置image的背景颜色。可是用image.canvas.fillrect(image.ClienRect);时,这时会把之前画的矩形、椭圆等图形给覆盖了。。如何解决这个问题。。。谢谢
搜索更多相关主题的帖子: 图形 如何 
2013-04-18 17:14
zcwthy
Rank: 2
等 级:论坛游民
威 望:1
帖 子:7
专家分:14
注 册:2013-5-3
收藏
得分:0 
先创建一个image放下面设置背景,再建一个image放上面用来画图形。
2013-05-03 22:59
Evenchao
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2013-3-9
收藏
得分:0 
回复 2楼 zcwthy
这样虽然可以实现,但是把这幅图存在文件的时候,怎么存到一个文件里呢???这样的话要存在两个文件里。。这该怎么办?
2013-05-04 09:15
zcwthy
Rank: 2
等 级:论坛游民
威 望:1
帖 子:7
专家分:14
注 册:2013-5-3
收藏
得分:0 
用截图功能将那个区域的画布保存就行了。
2013-05-04 13:06
Evenchao
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2013-3-9
收藏
得分:0 
回复 4楼 zcwthy
用代码怎么实现截图功能????? 我的意思是,当点击保存按钮的时候,就会把image1和image2保存到一个文件里,怎么实现?
2013-05-04 14:21
Evenchao
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2013-3-9
收藏
得分:0 
回复 4楼 zcwthy
请问下,能不能用层的概念实现,如何实现?
2013-05-04 14:23
zcwthy
Rank: 2
等 级:论坛游民
威 望:1
帖 子:7
专家分:14
注 册:2013-5-3
收藏
得分:0 
var FBmp: TBitmap;
begin
   FBmp:=TBitmap.Create;
   FBmp.Width:=image1.Width;
   FBmp.Height:=image1.Height;
   FBmp.PixelFormat:=pf24bit;
   FBmp.Canvas.CopyRect(Rect(0,0,FBmp.Width,FBmp.Height),
                             Form1.image1.Canvas,
                             Rect(0,0,FBmp.Width,FBmp.Height));
   SaveDialog1.Execute;
   FBmp.SaveToFile(SaveDialog1.FileName);
end;

或者用BitBlt也行
2013-05-04 17:06
Evenchao
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2013-3-9
收藏
得分:0 
回复 7楼 zcwthy
你好,再打扰下,你这种方法文件中只能存储一张image1上的图形,而底图的Image2颜色的设置并没有在存储在文件中。 我试了下,使用两次BitBlt也不行,也只能存储一个image上的图片。
2013-05-04 20:48
zcwthy
Rank: 2
等 级:论坛游民
威 望:1
帖 子:7
专家分:14
注 册:2013-5-3
收藏
得分:0 
背景用image控件,画图用PaintBox控件
var FBmp: TBitmap;
begin
   FBmp:=TBitmap.Create;
   FBmp.Width:=image1.Width;
   FBmp.Height:=image1.Height;
   FBmp.PixelFormat:=pf24bit;
   FBmp.Canvas.CopyRect(Rect(0,0,FBmp.Width,FBmp.Height),
                             Form1.PaintBox1.Canvas,     //这里改了
                             Rect(0,0,FBmp.Width,FBmp.Height));
   SaveDialog1.Execute;
   FBmp.SaveToFile(SaveDialog1.FileName);
end;
还不清楚可以加Q:壹零四零六零二一三四


[ 本帖最后由 zcwthy 于 2013-5-4 22:54 编辑 ]
2013-05-04 22:44
Evenchao
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2013-3-9
收藏
得分:0 
回复 9楼 zcwthy
我查了下。要先设置image.canvas.copymode := cmSrcAnd;  但是,这样的话,存储起来的时候,当底色与画上去的线条颜色相近的时候,存储起来的时候就不会有这条线,而且当有底色的时候,画了有颜色的矩形的时候,存储起来的时候矩形的颜色也变了。。  有什么更好的方法么??  而且把两个image合并为一个张图的时候,当读文件的时候,如何设置下面那个image呢???
2013-05-05 19:37
快速回复:求助:如何设置背景颜色
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016541 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved