一个关于透明的问题 小弟在做一个画图程序 在橡皮擦功能这卡住了 本来想用底色来实现的 ,可是老板要求控件是透明的 在画图控件下要求可以透出图片,真的没方向了各位给个建议吧 谢谢各位~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 画图的时候往bitmap上面画,设置底色为透明色(MakeTransparent),重绘的时候用Graphics把bitmap往窗体上画试试。 真不知道你怎么想的,谁要你改下面的图片了,下面的图片当然不变。上层画图当然要另外创建一个bitmap,不仅如此,最好还要另外创建一个容器(窗体)放置在你所谓的背景(控件)上面 不过,也可以直接在paint中绘图,在paintbackground中画背景,都自己画就行了 上层控件我放的picturebox 可以画图的 但是 橡皮擦的功能是仅仅擦去我轨迹经过的笔迹 擦去后显示下面的图片 我在想能不能有个方法 只要我把轨迹经过的地方颜色设置为无象素就可以了 谢谢大家了 绘制为透明色 rgb不包含透明色 网上查了点 透明的地方其实就是无象素的地方 Bitmap是可以支持透明色的,可以设置任意颜色为透明色,在绘图的时候它会自动不绘制该颜色。很多其他格式的图片支持ARGB的。自己不去试,光在这理论有什么用 这个题好熟悉阿,我一个朋友公司的员工问过我呀,没告诉,嘿嘿,是不是一个人呢││博客空间:http://blog.csdn.net/lovingkiss││资源下载:http://download.csdn.net/user/lovingkiss││Email:loving-kiss@163.com││联系方式:Q66840199 项目、聊天、咨询、探讨、统统收费,呵呵......╚---------------------------------------------------------------------------------------------------------ō*︻$▅▆▇◤ 试过了,使用MakeTransparent是可以的,不过效率太低。把图片画到窗体的时候这么绘attributes = new ImageAttributes();attributes.SetColorKey(transparentColor, transparentColor);graphics.DrawImage(this, destRect, 0, 0, size.Width, size.Height, GraphicsUnit.Pixel, attributes, null, IntPtr.Zero);其中transparentColor就是图片的透明色,尽量将attributes,graphics等搞成成员变量,以提高性能。擦除的时候直接在图片上用transparentColor画完后再Invalidate就可以了 谢谢 各位帮我的朋友 谢谢lake_cx 我也在搞 成了贴出来 我已经做过demo了,是没问题的。 贪吃蛇的代码 SNDP winform 如何打开一个word流 二个小问题 一个需要多个表融合的问题 treeview 树控件在拖动节点的过程中,如何移动滚动条? 求助:关于C#如何取得某个进程的线程所有信息。 急速求救DataGrid绑定链接 100(分) 如何使用c#中FileSystemWatcher监控远程非共享文件夹 用递归求一给定目录下,所有文件大小的总合(包括子目录)! C#操作Excel时,单元格自动填充(AutoFill)的问题 IsolatedStorageFile中的文件之间的调用。。
上层画图当然要另外创建一个bitmap,不仅如此,最好还要另外创建一个容器(窗体)放置在你所谓的背景(控件)上面
很多其他格式的图片支持ARGB的。
自己不去试,光在这理论有什么用
││博客空间:http://blog.csdn.net/lovingkiss
││资源下载:http://download.csdn.net/user/lovingkiss
││Email:loving-kiss@163.com
││联系方式:Q66840199 项目、聊天、咨询、探讨、统统收费,呵呵......
╚---------------------------------------------------------------------------------------------------------ō*︻$▅▆▇◤
把图片画到窗体的时候这么绘
attributes = new ImageAttributes();
attributes.SetColorKey(transparentColor, transparentColor);
graphics.DrawImage(this, destRect, 0, 0, size.Width, size.Height, GraphicsUnit.Pixel, attributes, null, IntPtr.Zero);
其中transparentColor就是图片的透明色,尽量将attributes,graphics等搞成成员变量,以提高性能。
擦除的时候直接在图片上用transparentColor画完后再Invalidate就可以了