c# TransparentKey疑问

我找的几个图片都有白色作为背景,很麻烦,我想处理掉白色,应该怎么设置我再Form的属性TransparentKey设置为白色这张图是在design页面显示的但是这样设置了... 我找的几个图片都有白色作为背景, 很麻烦,我想处理掉白色, 应该怎么设置

我再Form的属性TransparentKey设置为白色
这张图是在design页面显示的

但是这样设置了之后把白色背景色搞定了, 但是白色背景成了透明的了, 怎么办?
我的这几个图片的背景是白色的,第一幅图里面可以看出来, 我想在程序运行的时候看不到白色背景, 我把FORM的TransparentKey设置为白色, 这样运行的时候图片的白色背景就没了, 但是运行情况是第2副图, 原来图片的白色背景现在成了透明的,比如我把B程序最大化,运行FORM,图片原来的白色背景因为透明, 显示的是B的界面, 如果我点击背景那部分, 程序就会切换到B。

我想让FORM运行的时候既不会显示图片的白色背景, 又不会像上面那样透明, 怎么做?
展开
 我来答
百度网友66a8d48e5
2013-06-19 · TA获得超过7687个赞
知道大有可为答主
回答量:3002
采纳率:12%
帮助的人:3892万
展开全部
中国话太难了——身为一个中国人,我汗颜啊!

什么叫“这样设置了之后把白色背景色搞定了, 但是白色背景成了透明的了“?

你所谓的:白色背景色与白色背景有什么区别?

TransparentKey只是将指定颜色做透明而已。读不懂您的意思啊!
更多追问追答
追问
确实我写的表意不清。
3个图片有白色的背景, 我想把他们去掉。

我再问题补充了里写了些, 你看看行不行。
追答
我总算明白你的确不少意思了!

因为你在设置Form的透明色时,看到了Form后窗体或是桌面的东西了。事实上是这样的,这上属性表示的的就是将某控件或窗体的某个颜色设置为透明,若设置Form白色透明,那自然是能看到Form后的东西的!而你真的意思就是想实现将图片透明,而不是窗体透明——那么设置窗体的白色透明肯定是不对的!所以说你还是没有搞定!

那么你可能是在想,如果三个图片有这个属性就好了!因为你要设置的是图片,而不是窗体,根本面向对象来说,设置图片背景透明与窗体背景透明是完全两码事!

很不幸的是,在WINFORM设计中pictruebox控件并不存在这样的属性,而且也不存在相关的滤镜,所以目前对于winform来说是无解——你可以考虑使用png图片的方式。如果存在大量的类似图片,建议你使用wpf开发,增加图片滤镜即可。bitmapeffice(图片效果)其中可以实现指定色透明或换色。

其实在winform中,透明色指定属性只是用来做不规格窗体实现的,如果在图片中也实现这样的功能,有点得不偿失的——要么使用wpf,要么你自己重写控件api,否则正常的情况下是无解的。为什么非要用jpe之类的图片呢使用有透明图层的png或tiff及ico不行么?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式