标题:如何用VB实现颜色替换
只看楼主
klj123
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2008-6-22
 问题点数:0 回复次数:5 
如何用VB实现颜色替换
在PictureBOX中,已用画笔画有一些蓝色和红色的圆,圆不填充,要实现的功能:

在PictureBOX上用右键单击蓝色像素点,所有蓝色的圆变成PictureBOX背景色(白色),而红色的圆则不变.
或实现象Photoshop中的替换颜色功能,望提供完整代码,先谢了!


有人提供过思路"你如果要用任一种颜色替换图片框中某种任意颜色的所有点,请用API   来试试,请看看GetPixel()和SetPixel(),如果你能记住该种颜色所绘轨迹就更好了!
但不知道如何写,请高手帮忙!

[[it] 本帖最后由 klj123 于 2008-6-22 19:04 编辑 [/it]]
搜索更多相关主题的帖子: 颜色 PictureBOX 像素 蓝色 单击 
2008-06-22 18:58
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
得分:0 
Function Point(X As Single, Y As Single) As Long
    Member of VB.PictureBox
    Returns, as an integer of type Long, the RGB color of the specified point on a Form or PictureBox object.
用Point方法可以得到某一点的颜色

Sub PSet(Step As Integer, X As Single, Y As Single, Color As Long)
    Member of VB.PictureBox
    Sets a point on an object to a specified color.
似乎用PSet方法可以设置一点的颜色

至于怎么保存下来,我不清楚。
2008-06-22 19:22
klj123
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2008-6-22
得分:0 
版主啊,总的来说,就是如何将PictureBOX的蓝色变成白色,但我通过改变Picture1.BackColor = RGB(0, 0, 255),达到删除蓝色线条,但这样红线条也被删除了,哎....
2008-06-22 19:29
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
得分:0 
你现在要针对每个点操作,你改背景色干什么?
2008-06-22 19:30
klj123
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2008-6-22
得分:0 
总之将已画的蓝色圆去除,而红的留下就达到目的了,请版主尽力帮忙!!!!
2008-06-22 20:49



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-220549-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.160134 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved