vb:Cg色彩精灵 第一部分:使用到的知识

vb 专栏收录该内容
14 篇文章 0 订阅

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。
    翻出来以前写的一篇文章:Cg色彩精灵,这是用vb6来写的

 

    搞图像创作都有那么个难题,就是在上色时候老是配不好颜色,不是显得红了就是偏蓝,不得不参考别人的配色或者翻看颜色参考书,为什么不尝试自己做一个保存颜色的程序,把觉得好的颜色存储起来,方便在配色时参看使用。
    程序实现目标:1、程序可以配色;2、实现颜色的存储;3、屏幕取色。

 

    第一部分:使用到的知识
    一、Vb与颜色有关的部分基本知识
    Vb中使用颜色的三种方法,1、使用QbColor(Color)函数,其中参数Color是0-15的整型,因此这个函数只能选择16种颜色;2、使用RGB(red, green, blue)函数,每个参数的值是0-255的整型,构成256×256×256=1677万种颜色,例如使用该语句定义窗体的背景色为白色:Form.BackColor=RGB(255, 255, 255);3、使用Long型数值,比如设置窗体的背景色为白色:Form.BackColor= 16777215,或者:Form.BackColor=”&HFFFFFF”。
    颜色是由红色(R)、绿色(G)、蓝色(B)按照一定比例组成的,每个颜色分量的大小是0-255,例如,白色的构成是:R:255;G:255;B:255。对于颜色可以通过调整RGB分量来获得,也可以将颜色还原为三个分量的值,具体方法如下:
    红色分量:= 颜色值 And &HFF
    绿色分量:= (颜色值 And CLng("&HFF00")) / 256
    蓝色分量:= (颜色值 And &HFF0000) / 65536
    在Vb中取色可以使用Object.Point(X,Y)函数,X、Y表示该Object上的坐标点位置,比如在Form上坐标点(1890,3660)的位置取色:Form.Point(1890,3660)。但是这个函数只能在本程序中使用,如果我们要在屏幕上取色的话,就不得不求助于Windows Api 函数中的GetPixel 函数(参看第二部分)。
    二、Vb和数据库方面的知识
    程序要考虑存储颜色值,实际需要的数据包含:颜色的名称、颜色所属类型、颜色的值。程序中使用的数据并不复杂,因此使用Access的数据库。
    启动Access,新建数据库Color.mdb ,建立两个数据表:


表1:ColorNameTable:
Index   自动编号  长整型 颜色自动编号
ColorName  文本   50  颜色名称
ColorType  文本   10  颜色类型
ColorValue  文本   10  颜色数值


表2:ColorTypeTable
ColorType  文本   10  颜色类型

 

    此外,为了防止别人修改数据库,应该对数据库进行加密,选择“工具/安全/设置数据库密码”,然后根据提示输入密码。
     Vb提供了多种数据库访问技术,Ado(ActiveX数据访问对象)的功能非常强大,可以访问多种数据源,在程序中建议采用Ado来完成数据操作。首先需要在工程中引用“Microsoft ActiveX Data Objects 2.1 Library” ,然后是进行一些比较固定的操作:


Public Conn As ADODB.Connection '建立ADODB.Connection对象
Public Rs As ADODB.Recordset  '建立ADODB.Recordset对象
Public StrSql As String    '操作Recordset 的Sql语句
Set Conn = New Connection
Set Rs = New Recordset
Conn.CursorLocation = adUseClient '使用由本地游标库提供的客户端游标
Conn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=color.mdb; DefaultDir=" & App.Path & "\;Uid=;Pwd=;" 
'打开到数据源的连接,如果有用户和密码的话,需要在Uid和Pwd后面加入
Rs.ActiveConnection = Conn   ' 设置Rs到Conn对象的连接
Rs.CursorType = adOpenDynamic '设置游标类型为动态游标
'在程序中使用Rs.Open StrSql进行数据操作

 

以上部分需要大家记住,可以说是Vb操作(*.mdb)数据库的必备过程。

 

 

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:酷酷鲨 设计师:CSDN官方博客 返回首页

打赏作者

VB.Net

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值