如何将C#绘制的图片保存为透明背景?

liuyu5131 2010-01-28 06:19:19
如题所述~

我用如下代码新建绘图区域
Graphics g = this.panel1.CreateGraphics();
g.Clear(Color.Transparent);
MyImg = new Bitmap(this.panel1.ClientRectangle.Width, this.panel1.ClientRectangle.Height);
graphics = Graphics.FromImage(MyImg);
graphics.Clear(Color.Transparent);
但是绘图区的背景是黑色,并非透明 求解~~
...全文
834 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
snowmumu 2010-01-29
  • 打赏
  • 举报
回复
同感,自己设计的时候背景是黑色,但运行的时候却是透明的。
liuyu5131 2010-01-29
  • 打赏
  • 举报
回复
顶起求救~
liuyu5131 2010-01-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 jocli 的回复:]
panel1.BackColor=Color.Transparent;
[/Quote]
不是这个的问题
liuyu5131 2010-01-28
  • 打赏
  • 举报
回复
6楼的东西看不明白 我菜鸟 麻烦解释解释 或者直接帮我解决一下我的问题~
谢谢
liuyu5131 2010-01-28
  • 打赏
  • 举报
回复
panel控件的背景色设置的就是Transparent
不行 还是黑的
xiaogug01 2010-01-28
  • 打赏
  • 举报
回复
private void button1_Click(object sender, EventArgs e)
{
//以不同的透明度显示图像
Graphics g = this.panel1.CreateGraphics();
g.SmoothingMode = SmoothingMode.AntiAlias;
TextureBrush MyBrush = new TextureBrush(MyBitmap);
g.FillRectangle(MyBrush, his.panel1.ClientRectangle);
for (int i = 0; i < 255; i++)
{//由透明变为不透明
g.FillRectangle(new SolidBrush(Color.FromArgb(i,Color.DarkSlateGray)), this.panel1.ClientRectangle);
System.Threading.Thread.Sleep(100);
}
}
ouc_ajax 2010-01-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 liuyu5131 的回复:]
恩 保存我已经解决了,只要保存为PNG格式就可以 ,但是绘图时候显示还是不行,背景依然全黑。
[/Quote]

全黑是因为控件的背景颜色吧? 如果透明,而默认的背景是黑色,那么显示的不就是全黑?
liuyu5131 2010-01-28
  • 打赏
  • 举报
回复
恩 保存我已经解决了,只要保存为PNG格式就可以 ,但是绘图时候显示还是不行,背景依然全黑。
tianliang1 2010-01-28
  • 打赏
  • 举报
回复
保存为透明的背景,是不是要设置保存的格式问题,好像是Png格式。。。
JOCLI 2010-01-28
  • 打赏
  • 举报
回复
panel1.BackColor=Color.Transparent;
nixiang12 2010-01-28
  • 打赏
  • 举报
回复
关注..我也想知道

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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