首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过取色排除图像的一部分

通过取色排除图像的一部分
EN

Stack Overflow用户
提问于 2013-04-05 19:36:18
回答 2查看 406关注 0票数 2

我的问题很简单,但我不能处理它。我有一个yin-yang.jpg文件,我想只得到圆形(没有矩形的其余部分,这应该是不可点击的),更重要的是,整个白色改变为红色的一个,黑色的部分也应该从图像中排除(不可点击)。

该图像将作为我的窗体的背景,我希望在应用程序开始时显示它。

代码语言:javascript
复制
private void hello_form_Paint(object sender, PaintEventArgs e)
    {
        Form f = (Form)sender;
        f.BackgroundImage = global::TicTacToe.Properties.Resources.ying_yang1;
        GraphicsPath formPath = new GraphicsPath();
        Rectangle newRectangle = f.ClientRectangle;
        e.Graphics.DrawEllipse(System.Drawing.Pens.Black, newRectangle);
        newRectangle.Inflate(-5, -5);
        formPath.AddEllipse(newRectangle);
        f.Region = new Region(formPath);

    }

我在窗体上显示的Paint事件使它们变圆,但这并不是我必须做的所有事情。如何从背景中排除黑色部分,以及如何将白色部分转换为红色部分?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-05 20:01:48

考虑到您所描述的内容,您可能会发现:

http://msdn.microsoft.com/en-us/library/system.drawing.bitmap.maketransparent(v=vs.71).aspx

Bitmap.MakeTransparent()是一种有用的探索方法,它允许你将图像中给定的颜色变成透明的。

票数 1
EN

Stack Overflow用户

发布于 2013-04-05 19:44:28

如果您使用具有透明背景的文件,如.png或.gif,当您将其设置为窗体背景时,您应该只能看到圆形的阴阳形状。你可以很容易地用GIMP或Photoshop编辑.jpg,使矩形在圆圈外透明。

编辑:这是你想要做的吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15832944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档