翻出来以前写的一篇文章:Cg色彩精灵,这是用vb6来写的
搞图像创作都有那么个难题,就是在上色时候老是配不好颜色,不是显得红了就是偏蓝,不得不参考别人的配色或者翻看颜色参考书,为什么不尝试自己做一个保存颜色的程序,把觉得好的颜色存储起来,方便在配色时参看使用。
程序实现目标:1、程序可以配色;2、实现颜色的存储;3、屏幕取色。
第二部分:工程项目以及使用到的api函数
一、建立的窗体(请参看附表一:主要控件及属性说明表)包括:
1、FormMain:参看图1,主窗体,进行主要操作;
图1
2、FormAE:参看图2,增加或者修改颜色窗体;
3、FormPick:参看图3,屏幕取色窗体。
一、建立的窗体(请参看附表一:主要控件及属性说明表)包括:
1、FormMain:参看图1,主窗体,进行主要操作;
图1
2、FormAE:参看图2,增加或者修改颜色窗体;
3、FormPick:参看图3,屏幕取色窗体。
图2 图3
二、建立的模块包括:
1、Module1:主要存放数据库操作的函数以及公有变量的定义;
2、Module2:主要存放屏幕取色的函数以及公有变量的定义。
三、使用到的Api函数以及简要说明:
1、Public Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
说明:获取指定窗口的设备场景句柄。若参数hwnd为0,则获取整个屏幕的DC。
1、Module1:主要存放数据库操作的函数以及公有变量的定义;
2、Module2:主要存放屏幕取色的函数以及公有变量的定义。
三、使用到的Api函数以及简要说明:
1、Public Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
说明:获取指定窗口的设备场景句柄。若参数hwnd为0,则获取整个屏幕的DC。
2、Public Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long,ByVal hdc As Long) As Long
说明:释放由调用GetDC函数获取的指定设备场景句柄。
说明:释放由调用GetDC函数获取的指定设备场景句柄。
3、Public Declare Function GetCapture Lib "user32" () As Long
说明:窗口接收鼠标的输入,无论光标是否在其范围内。
说明:窗口接收鼠标的输入,无论光标是否在其范围内。
4、Public Declare Function ReleaseCapture Lib "user32" () As Long
说明:当前线程中的窗口释放鼠标捕获,并恢复通常的鼠标输入处理。捕获鼠标的窗口接收所有的鼠标输入(无论光标的位置在哪里),除非点击鼠标键时,光标热点在另一个线程的窗口中。
说明:当前线程中的窗口释放鼠标捕获,并恢复通常的鼠标输入处理。捕获鼠标的窗口接收所有的鼠标输入(无论光标的位置在哪里),除非点击鼠标键时,光标热点在另一个线程的窗口中。
5、Public Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long,ByVal X As Long,ByVal Y As Long) As Long
说明:在指定的设备场景中取得一个像素的RGB值。
说明:在指定的设备场景中取得一个像素的RGB值。
6、Public Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
说明:获取鼠标指针的当前坐标位置。其中,PointApi类型定义如下:
Public Type POINTAPI
X As Long
Y As Long
End Type
说明:获取鼠标指针的当前坐标位置。其中,PointApi类型定义如下:
Public Type POINTAPI
X As Long
Y As Long
End Type
7、Public Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long,ByVal hWndInsertAfter As Long,ByVal Y As Long,ByVal cx As Long,ByVal cy As Long,ByVal wFlags As Long) As Long 说明:为窗口指定一个新位置和状态。其中使用到的参数hWndInsertAfter、wFlags使用如下常量: Public Const HWND_TOPMOST = -1 '设置窗口在最顶部 Public Const SWP_NOSIZE = &H1 '保持当前大小(cx和cy会被忽略)