颜色模型浅谈 (转)
颜色模型浅谈 (转)[@more@]五、CYMK颜色模型 关于颜色模型的这组文章哟很长一段时间没写下去了(其实也写的差不多了)。前些时候有网友在留言板里提问RGB->CYMK的转换问题,我特别留意了一下,找到了一篇吴进辉写的关于CYMK的文章。现摘抄于此,算是一个补充吧。 一、概述 RGB及CMYK色彩空间至少从理论上是互补的。混合同等数量的青、品、黄也应该产生中性灰,而最大量的混合产生黑(CMYK色彩空间也被称为减色空间,它被应用于印刷技术,印刷品通过反射光线的原理再现色彩。原色的混合将产生更暗的颜色。)。显示器上可以模拟
颜色模型浅谈(四) (转)
颜色模型浅谈(四) (转)[@more@]三、直观颜色模型 前面讲解的颜色模型都是基于三基色的颜色模型,现在我们来看一种比较直观的颜色模型。可能大家都画过油画或是水粉画吧?还记得我们是怎么调配颜色的吗?我们总是从颜料中选取一种我们需要的色彩,然后如果我们需要暗淡一些就往里面添点黑色,需要颜色淡一点的话就往里面加点白色。显然,这种调配的方法对于我们来说比用三基色要直观的多,相对应的,我们也可以用这种直观的模型来描述颜色。 HSV颜色模型 这个模型中颜色的参数分别是:色彩(H),纯度(S),明度(V)。
用C++Builder创建数字签名 (转)
用C++Builder创建数字签名 (转)[@more@]用C++Builder创建数字签名 如果你在网络上传递一份数据,但却存在着种种不安全的因素,使你对数据能否原封不动地到达目的地而心存疑惑,这时,你就可以给数据加上数字签名,从而使对方可以通过验证签名来检查你所传过去的数据是否已被他人修改。 一、程序原理 数字签名的工作原理还是比较简单的,它是根据你所提供的原始数据,经过复杂的算法,产生特定的数据签名,对方通过同样的过程也产生签名,如果数据已被修改,那么就不可能得到两份一模一样的签名,从而就可判
颜色模型浅谈(五) (转)
颜色模型浅谈(五) (转)[@more@]四、光强度的显示 (一)、强度等级的分配 有没有人想过这样一个问题,即为什么我们常用的RGB模型中的亮度等级是线性变化的?亮度等级又是如何分配到RGB(0,0,0)致RGB(255,255,255)的呢?下面我们将来探讨这些问题。 对于RGB三个分量表示的一个像素,显示卡将其先通过D/A转化为电信号,再经过显示器最终输出到屏幕上,那么我们先来看看我们是怎样把亮度等级分配到0到1的范围内的。首先,我们对于光强度的感觉和声音强度的感觉是相同的,即按对数等级变化。这表示若两个强度的比率和另两个
颜色模型浅谈(二) (转)
颜色模型浅谈(二) (转)[@more@]二、三基色颜色模型 下面我们就开始具体的讲解颜色模型。 众所周知,当我们将两种不同的颜色按一定比例混合可以生成另一种颜色,通过混合三种不同的颜色我们就可以得到我们想要的颜色,这就是三基色颜色模型的基本原理。但是理论表明在实际的基色组中,没有一种组合能生成所有的颜色。以我们常用的RGB为例,如下图: 这是一张颜色匹配图,该图表示了生成某一光谱颜色所需要的R、G、B配比,从图中可以看到500nm附近的光波颜色中R为负值,因此RGB显示器是无法500nm附近的光波颜色的。 XYZ颜
即时战略游戏中寻径(Path-finding)算法的原理及实现技术 (转)
即时战略游戏中寻径(Path-finding)算法的原理及实现技术 (转)[@more@] 前几年,我在学校上学时,经常与同学在宿舍里网络对战“红色警报”,玩多了也一直在探索象“红色警报”这类即时战略游戏背后隐藏的编程奥秘。最近,找到一段空闲时间,终于把以前的想法付诸实施,用VC写了一个即时战略游戏的雏形(执行程序在附件中,采用了本文介绍的算法)。在此把即时战略游戏中寻径(Path-finding)算法的原理及实现技术写给大家。 想象一下,当你兴致勃勃地坐在电脑前,正指挥着屏幕上的千军万马时,突然发现那些坦克车一碰到障碍物便停止行动
颜色模型浅谈(一) (转)
颜色模型浅谈(一) (转)[@more@]一、光的电磁理论 众所周知,光是一种电磁波,它是由交替变化的电场和磁场组成的。由理论证明,对人眼以及感光仪器起作用的是电场强度E。对于光的强度一般用平均能流密度Î来描述,它是和电场强度振幅A的平方成正比,即: Î∝A2 一般我们用来描述光源的三个基本要素分别是:色彩,纯度和亮度。 光有单色光和复色光之分,光的颜色是由它的频率决定的,若一束光中只包含单一的频率,则它就是单色光(通常所说的光谱颜色红、橙、黄、绿、青、靛、紫就是单色光);反之若包含多种频
.色调变换(Hue change)源程序 (转)
.色调变换(Hue change)源程序 (转)[@more@]<html> <head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><meta name="GENERATOR" content="microsoft FrontPage 3.0"><title>Java</title></head> <body bgcolor="#000000" text="#0000FF" link="#FF00FF"> <p align="center"><font face="宋体" color="#00FF00"><big><strong><big><big>色调变换</big></big></strong></big></font></p
VB编程的一些心得 (转)
VB编程的一些心得 (转)[@more@]VB编程的一些心得 在大学作毕业设计的课题是编制一个教学软件, 所以很自然地和VB这种易学、易懂、界面友好漂亮的语言打上了交道。 在编写的过程中当然遇到了许多的问题, 这里将一些简单的小程序写下来与喜爱编程的朋友们分享。一、封面封面的设计是这样的,先出现一窗体,上面为你喜欢的图案。 然后出现一艘从左向右行驶着的船。 屏幕上方从两侧分别移动出“欢迎”两个字。具体的制作方法是:把预先选好的背景图案装入封面窗体中, 窗体命名为CAI。再分别在三个图像控件(image) 中装入预先制作好的位图“
给你的应用程序添加动态鼠标 (转)
给你的应用程序添加动态鼠标 (转)[@more@] 鼠标是一个应用程序与用户交互的主要手段,因此如果在应用程序里能显示一些比较“酷”的鼠标(如动态鼠标)的话,无疑能使软件更加友好。但是我们在一般情况下用VC++都是调用系统提供的鼠标或生成一些静态鼠标,而且资料上也很少有提到动态鼠标的,那么怎么才能生成及利用动态鼠标呢? ---- 幸好Visual C++已为我们准备好了一个很好的编辑动态鼠标的工具AniEdit,并且还提供了它的全部原代码。检索一下VC++安装盘的DevStudioVCSamplesSDKSDKTOOLS目录,你就会找到它的。你
水纹效果(Water)源程序. (转)
水纹效果(Water)源程序. (转)[@more@]<html> <head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><meta name="GENERATOR" content="microsoft FrontPage 3.0"><title>立方体</title></head> <body bgcolor="#000000" text="#0000FF" link="#FF00FF"> <p align="center"><font color="#00FF00"><strong><big><big><big>立方体</big></big></big></strong></font></p> <p align
利用MFC编程在工具条中增加组合框控件 (转)
利用MFC编程在工具条中增加组合框控件 (转)[@more@]---- windows UI技术一直是程序设计人员尤其是用户接口程序设计人员最关心的技术。显然新颖美观的界面会给用户留下深刻的印象。Windows操作系统的流行也在于其用户界面的不断创新与改进。Office 97、Visual Studio 97、Outlook、IE等每一个新的软件的推出都能够给人新的感觉。尤其是这些软件工具条十分丰富美观,如3D形式的工具条、飞行tips,这些小技巧既富于吸引力,又方便了使用者。我们知道,Visual C++所提供的标准工具条中基本上只有一些简单的诸如文档打开、存储以及一些编辑功能
Windows下DLL编程技术及应用 (转)
Windows下DLL编程技术及应用 (转)[@more@]windows下DLL编程技术及应用 摘 要: 本文介绍了DLL技术在Windows编程中的基本运用方法及应用,给出了直接内存访问及端口I/O的两个实用DLL的全部源代码。关键词: DLL Windows编程 内存访问 I/O 一 、引 言由于Windows为微机提供了前所未有的标准用户界面、图形处理能力和简单灵便的操作,绝大多数程序编制人员都已转向或正在转向Windows编程。在许多用户设计的实际应用系统的编程任务中,常常要实现软件对硬件资源和内存资源的访问,例如端口I/O、DMA、中断、直接内存访问等等。若是
VC实现对话框上信息的显示 (转)
VC实现对话框上信息的显示 (转)[@more@]VC实现对话框上信息的显示 利用 VC的AppWizard,可以很容易地实现工具条和菜单项的ToolTip,或在状态条上显示帮助信息,但要在对话框的控件上显示ToolTip和在状态条上显示控件信息并不容易实现。现在,我们用VC中的WM_SETCURSOR 与TTN_NEEDTEXT消息就可达到目的。具体操作如下: 一、利用 VC的 MFC AppWizard 生成一个 SDI 或 MDI 的应用程序 二、编辑对话框控件的字符串资源 例如:IDC_dbBUTTON1 = “This is 肖天鹏的第一自制按钮 天鹏", 其中字符串“This is肖天鹏的第
闲聊设计模式和类 (转)
闲聊设计模式和类 (转)[@more@]以下纯属闲聊,不过仁者见仁,智者见智,希望给大家一个思考. 2001-04-08 22:38:06 梦郎必须更改数据库,我们第一必须保证数据库是符合程序的计算要求.否则无法判断错误在哪 2001-04-08 22:42:01 Leeseon那就先这样吧,以后我建议把半成品单独做成一个类,来封装它的逻辑会好一些 2001-04-08 22:41:27 梦郎以后很可能在程序中不分半成品还是材料,操作一致.把半成品单独列出来,可以考虑 2001-04-08 22:45:22 Leeseon做成从同一个接口类派生,用同样的接口来实现我想会更好 2001-04-08 22:43:40 梦郎你还记得
VC++中STL的使用 (转)
VC++中STL的使用 (转)[@more@]VC++中STL的使用 ---- Visaul C++作为一种优秀的编程工具,已越来越受到广大程序员的喜爱, 本人使用C&C++已有相当长的时间,发现C++语言博大精深,现只举一简单的例子: ---- 各位在编程中一定用过链表之类的数据结构,是否是自己重写整个代码? ---- 还是使用现成的模版?其实,Visual C++提供了非常好的STL供大家使用, 以链表为例: map>m_string ; 使用上面语句即构建了 一个如下结构的链表: typedef struct List { string name; string value ; List next ; }LIST ; map 的主要操作
Delphi代码优化(三) 浮点篇 (转)
Delphi代码优化(三) 浮点篇 (转)[@more@]撰文/杜嵩 月光转载自程序员杂志第三期 忘掉extended extended很大(10字节,如果代码对齐就有12字节),读写运算都很慢,是优化的大敌。且Delphi2-4对extended的代码对齐有bug。因此,若非必要,不要用extended。 同时,在混合浮点类型的运算中,编译器为了不丢失精度,临时变量以extended类型存储,所以要避免混合浮点运算。 还有,用const定义的常量,如不加指明,则也默认为extended类型。解决办法是,配合$J指示字,定义指明类型常量(typed constand)。 改变FPU控制
Delphi代码优化 完结篇 (转)
Delphi代码优化 完结篇 (转)[@more@]撰文/杜嵩 月光转载自程序员杂志第四期 局部变量 与C不同的是Delphi没有类似register的指示字,无法显式地定义一个寄存器变量,因为Delphi编译器已将这一步智能化了。有些局部变量会被自动化为寄存器变量,当然到底是哪些变量,Delphi内部是有自己的标准的,一般来说,被引用的较多的变量总是能被优化。而全局变量则无此好处。当然也有例外,以简单变量为元素的数组,作为全局变量可节约一个寄存器,而像字符串、动态数组、对象这类“堆栈变量”也不一定特意将其局部化。(之所以称它们为“堆
VB与VC混合编程中处理消息的方法 (转)
VB与VC混合编程中处理消息的方法 (转)[@more@]VB与VC混合编程中处理消息的方法 现在越来越多的人采用VB与VC的混合编程:用VB快速开发出漂亮的界面以及外围处理程序,再用VC编写底层的各种操作,例如内存的操作、IO端口的操作等,VC中还可以嵌入汇编语言进行更底层的操作。 一般的做法是将VC程序编译成DLL,在VB中用Declare语句声明DLL中的函数,例如: Declare Function SendCommand Lib ″c:program filesdevstudiowjfprojectsHr0506dllMnsrdebugHr0506dllMnsr.dll″(CmdNum As Integer) As Boolean 声明以后,函数SendComma
用VB实现“百叶窗”的图形特效 (转)
用VB实现“百叶窗”的图形特效 (转)[@more@]在Powerpoint这样的软件中,各种各样的图形特效层出不穷,其中“百叶窗”的切换效果尤为新颖奇特。在VB中实现这样的图形特效十分简单方便。其方法是调用windows的api函数Bitblt。BitBlt函数就类似于C语言中的getimage、putimage两个函数的组合运用。BitBlt原意是“Bit Block Transfer”,其主要用途是位图的复制。用BitBlt函数显示图形特效,其原理十分简单,制作时先在表单中绘制两个图片框,将图片存入一个图片框,同时将另一个图片框设为空,然后调用BitBlt函数将第一个图片框中的图形一部分