C#Form编程的问题,往Form放一张背景图片,将图片中指定的颜色处理成透明,该如何做,希望有人能帮我解决
private void button1_Click(object sender, EventArgs e)
{
//处理背景图片
string bitpath = @"你的背景图片路径";
Bitmap bg = new Bitmap(bitpath);
bg.MakeTransparent(Color.FromArgb(0,0,0));//设置透明颜色,这里(0,0,0)是RGB,黑色
//设置Form属性:
this.BackColor = Color.Blue;//背景色
this.BackgroundImage = bg;//设置背景图片
}
执行的结果就是背景图片的黑色透明,看到背景蓝色。
winform编程中,怎样设置控件的背景包为透明色
1.要实现C# WinForm中的控件与背景的透明,可以通过设置控件的BackColor属性为Transparent,同时设置其父控件。因为在C#中,控件的透明指对父窗体透明。
如果不设置Parent属性,那么控件将只对Form透明,显示的时候都会把Form的背景色(默认为Control)重刷一遍作为自己的背景。
2.在控件比较多的情况下,可以使用Panel控件,将某一组的控件都放到Panel中,然后只对此panel设置背景透明即可,则其他控件都跟着实现了背景透明。
3.如,现有一PictureBox控件,十多个Label以及Button,那么只将这些Label和Button放入Panel中。同时在Form_Load事件中加入如下代码即可实现背景透明:
this.picturebox1.SendToBack();//将背景图片放到最下面
this.panel1.BackColor = Color.Transparent;//将Panel设为透明
this.panel1.Parent = this.picturebox1;//将panel父控件设为背景图片控件
this.panel1.BringToFront();//将panel放在前面
4.以上代码即可实现所有的控件都对PictueBox背景图片透明
C#中绘制图片及透明图片清空问题
第一:
Bitmap bmp = new Bitmap(PBox.Width, PBox.Height);
Graphics g = Graphics.FromImage(bmp);
g.DrawImage(m_ValueLayr, 0, 0);
PBox.Image=bmp;//缺少这句话就只是在内存内绘制了图片,但是没有让它显示到控件里;
g.Dispose();
第二:
你是否可以换个思路,先把原图产生在内存里作为一张底图,然后在内存中把改变的部分修改好,然后一并显示?
推荐阅读
- ○ CFO总变成CEO这背后是隐藏着什么秘密呢?
- ○ qq估价器在线查询
- ○ 淘宝店铺装修代码大全
- ○ 街拍齐b小短裙
- ○ 苹果12Pro参数
- ○ 淘宝返利网怎么用
- ○ acfun下载
- ○ 斗战神嗜血牛加点
- ○ baidu翻译
- ○ dnf悲叹之塔耳环
最新文章
- ○ CFO总变成CEO这背后是隐藏着什么秘密呢?
- ○ qq估价器在线查询
- ○ 淘宝店铺装修代码大全
- ○ 街拍齐b小短裙
- ○ 苹果12Pro参数
- ○ 淘宝返利网怎么用
- ○ acfun下载
- ○ 斗战神嗜血牛加点
- ○ baidu翻译
- ○ dnf悲叹之塔耳环