hoodlum1980 ( 發發 ) 的技术博客

——浙江大学 112 周年 ( 1897 - 2009 )
posts - 72, comments - 87, trackbacks - 1, articles - 1

2009年5月28日

     摘要: 【声明和备注】本例子属于转载来源于《C高级实用程序设计》(王士元,清华大学出版社)第11章,菜单设计与动画技术,第11.5节,一个动画例子。 本例讲解的是在一个繁星背景下,一个由经纬线组成的蓝色地球,并环绕有红色光环,一蓝色宇宙飞船从左至右缓缓飞过,周而复始,给人一种遨游太空的神秘感。本例属于C语言图形程序,使用 Turbo C 2.0 编译。   阅读全文

posted @ 2009-05-28 17:13 hoodlum1980 阅读(60) | 评论 (0)编辑

2009年5月25日

     摘要: 最近和小徒弟玩QQ游戏中的“美女找茬”,这个游戏也就是给你两幅差不多的图片,让你找出几个不同的地方(一般是五个)。可惜我老眼昏花比较反应迟钝,总是输,被小徒弟取笑。不禁一时心血来潮,既然作为普通玩家赢不了,何不...!于是我琢磨了一下,不过就是两幅图片比较一下吗,对计算机来说当然很简单。也不需要考虑什么算法。 所以我就做了这样一个小程序,纯属贪图好玩。我首先找到游戏窗口,然后把这个窗口“截屏”下来,在内存里判断两幅图片的不同之处,然后把结果输出到一个半透明窗口上,并且把这个半透明窗口准确的覆盖到左侧图片上。这个半透明窗口的背景是一个白色矩形,两幅图不同的地方用红色填充出来。   阅读全文

posted @ 2009-05-25 01:59 hoodlum1980 阅读(197) | 评论 (2)编辑

2009年5月23日

     摘要: 在上一篇文章里,我们讲解了为滤镜添加术语资源,从而使我们的滤镜可以被PS的scripting system感知和描述,这样即友好支持了PS的“动作”面板。在这一篇文章中,我们将对此前的DEMO进行进一步的细化,例如在参数对话框上增加实时预览的小缩略图等。对话框的引入主要是给用户一个机会和接口,设置或调节滤镜使用的图像处理算法。通常作为UI的友好性,在对话框上应该提供预览图,这样可以直观的把参数对结果产生的影响反馈给用户,指导他们调整参数。而不是要用户必须反复执行滤镜命令才能看到效果然后去调节参数。 此前我觉得“添加缩略图”这样的功能应该不是很困难,但当我尝试这样去做,我很快发现它的难度远远超过了以往我写的文章中的讲解。因为当我们尝试使用PS提供的回调函数去显示缩略图时,我们必须对PS提供的接口细节完全清楚,包括影响缩放的参数设置,数据分布,扫描行等细  阅读全文

posted @ 2009-05-23 15:59 hoodlum1980 阅读(131) | 评论 (1)编辑

2009年5月16日

     摘要: 在第一篇文章中我们建立了一个没有UI的基本滤镜框架,并且引入PIPL资源使之能被PS加载到菜单。在第二篇文章中我们又引入了滤镜参数和相应的对话框资源,并且讲解了对话框在滤镜调用流程中的显示时机。这一篇文章我们将使滤镜支持动作记录和回放,也就是通过添加“术语资源”,使我们的滤镜参数被PS的脚本系统所获知,并能够记录和回放。关于PS的 Scripting ,其来源是 PS 对苹果系统的事件和脚本机制的继承和支持,PS 的开发同时针对两种操作系统平台。这里我们介绍如何使我们的滤镜被PS脚本系统接纳。  阅读全文

posted @ 2009-05-16 01:20 hoodlum1980 阅读(60) | 评论 (0)编辑

2009年5月14日

     摘要: 在上一篇文章中,我们讲解了怎样创建一个Photoshop滤镜的项目,以及如何为滤镜嵌入PIPL资源使滤镜可以被PS识别和加载。并且我们已经建立了一个最简单最基本的滤镜框架。在这篇文章中,我们将细化滤镜和PS之间的调用流程,我们将为滤镜引入一个对话框资源,使用户可以对滤镜进行自定义参数的配置。并且我们将看到当用户从不同菜单位置发起滤镜调用时的流程区别,然后我们还将为我们的滤镜参数引入PS脚本描述系统的读写支持,将我们的参数存入PS的脚本系统中,并在以后的调用中读取出这些参数。  阅读全文

posted @ 2009-05-14 03:40 hoodlum1980 阅读(83) | 评论 (0)编辑

2009年5月11日

     摘要: 这是我偶然在 http://stackoverflow.com/questions/ 网页上发现的一个问题(类似博客园的博问),问题主要是关于询问应该怎样使用,以及何时使用C++里面的这几种类型转换操作符:static_case, dynamic_cast,以及 reinterpret_cast 。我想这是一个非常典型的问题,因此我就想把这篇帖子转载到我的博客上,也是我第一篇转载的文章。  阅读全文

posted @ 2009-05-11 11:48 hoodlum1980 阅读(67) | 评论 (0)编辑

     摘要: 在很久前我曾经写过一篇文章简要讲述了photoshop的滤镜开发的基本概念,并描述了滤镜和PS之间的协作关系,也提供了一个雨滴效果滤镜的Demo。但是缺少源代码。而且我们将要产生疑问,我们如何从头开始编写一个Photoshop滤镜呢?我们如何建立一个最简单的Ps滤镜插件的基本框架,然后在这个基础上继续添加我们想要的功能呢?这里,我就以回答一个网友向我提出的问题为例,从最基本的建立项目开始讲起。这个例子(也是这个网友的问题)是,他想做一个最简单的滤镜,也就是仅仅把图像填充为“红色”。对于PS用户来说,这当然是非常简单容易的事情,只需要一个快捷键操作而已,(滤镜通常是用于完成比较复杂的任务的),我们就从这个最基本的例子出发讲解编写滤镜的过程。  阅读全文

posted @ 2009-05-11 04:03 hoodlum1980 阅读(191) | 评论 (0)编辑

2009年4月30日

     摘要: 在一个很小的应用程序中,我想加入记录日志的功能,已辅助分析判断一些诸如登录被拒绝等事件的原因。由于这个小程序是一个对话框程序,基本都是在内存中运行的,而记录日志则需要频繁的开闭文件,写文件,从“自觉”感觉我有一点担心记录日志会影响运行效率。因此为了不影响UI线程的响应性能,我决定新开一个单独的线程专门做这件事,称其为“日志线程”。  阅读全文

posted @ 2009-04-30 18:46 hoodlum1980 阅读(63) | 评论 (0)编辑

2009年4月18日

     摘要: 在Vista系统的侧边栏有很多好用的桌面小工具,不过长期以来最吸引我的还是那个用显示的CPU和存储占用的指针仪表盘,一直觉得这是一个很不错的创意控件。所以现在我用VC6来写一个很小的对话框程序模拟这个控件。作为Demo,我只是做了显示CPU的,效果如下所示:  阅读全文

posted @ 2009-04-18 04:28 hoodlum1980 阅读(498) | 评论 (0)编辑

2009年4月15日

     摘要: 这一篇是和具体技术没什么关系的帖子(我尽量少发和技术无关的贴),是2008年在做项目验收时期,心里想到什么就随便在一篇文档里记些什么,很随意,没有什么规范。长期以来,我一直在考虑的主题是:用户最需要什么?用户的需求是什么?所谓的“技术”应该怎么样去影响和帮助别人,也就是怎么样把我所掌握和研究的单纯的“技术”去转换为最终对人们有益的价值。因此长期以来,我也一直非常关注用户体验。同时因为我见过太多有理想有朝气有勇气有理想的“技术人员”,对他们从事的职业或项目拥有非常乐观的期待和希望,所以相对而言从用户角度考虑,我也有非常“现实”,非常“冷静”,非常“苛刻”的观点。我写过一些小工具,给自己玩的居多,也设计和编写过一些较大规模的模块,在这些过程中也使我越来越得到更深的认识,包括如何保持设计质量,如何让项目可维护而避免陷入维护成本急剧增长的深渊。  阅读全文

posted @ 2009-04-15 22:37 hoodlum1980 阅读(46) | 评论 (0)编辑