资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

vb.net颜色 vb中颜色设置

在vb.net中,如何获取Graphics中某一指定点(像素)的颜色值?(VB语言)

要使用GetPixel函数来取得像素的颜色值,代码如下:

10年的万源网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整万源建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“万源网站设计”,“万源网站推广”以来,每个客户项目都认真落实执行。

1

2

3

4

5

private void button1_Click(object sender, EventArgs e)

{

Color color = new Bitmap(pictureBox1.Image).GetPixel(10, 10);

MessageBox.Show(color.ToString());

vb.net怎么实现单击数字区域的按钮使按钮变红色,单击运算符按钮变蓝色同时数字区按钮还原?紧急在线等…

您好,这种方法可以通过按钮的MouseDown和MouseUp事件来实现,比如说,当单击按钮RedColor(RedColor为这个按钮的Name属性的属性值)的时候,要使按钮的颜色变成红色,这可以在代码视图中的控件选择下拉列表中选择RedColor这个控件,然后在右边的事件下拉列表中选择MouseDown事件(当按下鼠标时发生),这时,Visual Studio会自动生成如下代码:

Private Sub RedColor_MouseDown(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles RedColor.MouseDown

End Sub

接下来就在当前生成的代码中写入如下代码:

RedColor.BackColor = Color.FromArgb(255, 0, 0)

这句代码的作用是利用Color下的FromArgb方法来设置RGB颜色参数,在RGB颜色系统中,R代表红色,G代表绿色,B代表蓝色,根据这三种颜色的不同程度的调和,就会得到不同的颜色,如果您要得到深色的天蓝色,则可以设置FromArgb(0, 191, 255),这个颜色转换为HTML中的RGB颜色就是#00BFFF。

当然颜色还原最好是写在MouseUp事件里面,这样就不必在单击其他按钮时来还原上一次按下的按钮的颜色,在这里,为了方便描述,我们假设按钮的默认颜色为白色,也就是FromArgb方法设置为FromArgb(255, 255, 255)的时候,所标示的颜色就是白色

所以选择了RedColor按钮的MouseUp事件后,Visual Studio会自动生成下列代码:

Private Sub RedColor_MouseUp(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles RedColor.MouseUp

End Sub

MouseUp的含义是当鼠标弹起时发生,所以在这个事件就可以设置按钮颜色的还原,即添加下列代码来实现:

RedColor.BackColor = Color.FromArgb(255, 255, 255)

当然,这就编写好了一个按钮按下时变色,回弹时还原的功能,至于另外一个按钮的功能,这与这个按钮的功能一样,只是代码有一些细微的差别而已,假设这个按钮的Name属性的属性值为BlueColor,相应的代码对应如下:

Private Sub BlueColor_MouseDown(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles BlueColor.MouseDown

BlueColor.BackColor = Color.FromArgb(0, 0, 255) '蓝色的FromArgb

End Sub

Private Sub BlueColor_MouseDown(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles BlueColor.MouseDown

BlueColor.BackColor = Color.FromArgb(255, 255, 255)

End Sub

另外,为了避免代码的冗余,可以将RedColor和BlueColor的MouseUp事件进行合并,这合并后的代码如下:

Private Sub BlueColor_MouseDown(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles BlueColor.MouseDown, RedColor.MouseUp

BlueColor.BackColor = Color.FromArgb(255, 255, 255)

RedColor.BackColor = Color.FromArgb(255, 255, 255)

End Sub

当然,这个你只要分析了控件事件代码的基本结构,一切就一目了然了,控件事件代码的基本结构如下:

[作用域] Sub 事件名([参数列表]) Handles 控件事件1 [, 控件事件2, 控件事件3...]

[事件代码区域]

End Sub

如果此回答对您有帮助,别忘了采纳哦,如果没有解决您的问题,您可以在互联网上寻找更多关于此问题的解决方案,谢谢!

vb.net拾色器设计,要求:能获取图片任意位置的颜色

VB可使用Point方法来获取图片指定点的颜色。

Point 方法

按照长整数,返回在 Form 或 PictureBox 上所指定磅的红-绿-蓝 (RGB) 颜色。

语法

object.Point(x, y)

'窗体判色代码:

Private Sub Form1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

Text1 = X

Text2 = Y

Text3 = Point(X, Y)

Text4 = (Val(Text3) Mod 65536) Mod 256 'Red

Text5 = (Val(Text3) Mod 65536) \ 256 'Green

Text6 = Val(Text3) \ 65536 'Blue

Shape1.FillColor = RGB(Val(Text4), Val(Text5), Val(Text6))

End Sub

'PictureBox判色代码:

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

Text1 = X

Text2 = Y

Text3 = Picture1.Point(X, Y)

Text4 = (Val(Text3) Mod 65536) Mod 256 'Red

Text5 = (Val(Text3) Mod 65536) \ 256 'Green

Text6 = Val(Text3) \ 65536 'Blue

Shape1.FillColor = RGB(Val(Text4), Val(Text5), Val(Text6))

End Sub

vb.net png 减少图片颜色位数

基于具有 能处理 256色或 256色以上的视频适配器和显示驱动程序的系统, vb 可支持 256 种颜色。VB 中的颜色设置 界面上的彩色图形能够产生更强的视觉效果,因而越来越受到用户的重视。 在 Visual Basic 中,窗体、控件、图形以及文字信息都可以用不同的颜色显示。 对于所有的颜色属性和图形方法,每种颜色都由一个 Long 整数表示。对于多媒体应用程序, 或对于那些需要显示接近相片质量图 像的应用程序来说,具有同时显示 256 色的功能是特别有价值的。 第一种: 打开画图板,颜色里面调出你要的颜色以后,记下红绿蓝的数值 然后vb中用xxx.forecolor(或者backcolor之类)=rgb(红,绿,蓝) 这种办法好处就是很简单 不好之处就是不能在设计的时候更改 第二种: 打开画图板,调好颜色以后 记下红绿蓝 打开计算器 分别翻译成16进制 然后vb中用xxx.forecolor = H蓝绿红 例如蓝色255 16进制就是FF 红色0 16进制是0 绿色128 16进制是80 然后颜色就是HFF8000 (0要补齐) 第三种: 打开专业的制图软件(photoshop/fireworks) 直接获取16进制颜色 比如说#AABBCC 然后对应的VB种颜色就是HCCBBAA


当前题目:vb.net颜色 vb中颜色设置
文章出自:http://cdkjz.cn/article/ddosjjo.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220