Scenery是一款简单的风景图片生成小程序,软件虽是英文,但简单的操作对于软件小白也能很快熟练使用。
软件说明:
代码移植过程为:
1、先在Windows XP下,用Turbo C 2.0调试原始代码(turboc_src\DRAW.C),去掉与Windows XP不兼容的部分(getimage、putimage),并且在原结果不变的情况下,对代码进行适当更改,使之更方便移植。更改后的源代码见turboc_src\DRAW_A.C。
2、将更改后的DRAW_A.C复制到VC目录下,更改成C++代码(DrawPic.cpp)。这里用类对原代码进行封装的理由是:
a). 便于实现接口。其实在标准C方面,Turbo C与VC++是一样的,不同的只是画图部分。所以在移植的时候,决定原先的软件结构、代码基本保持不变,只是把Turbo C下的几个画图函数用CDC重写一遍。函数原型、枚举量直接从Turbo C的头文件复制过来。
b). 避免重名。Turbo C下使用的枚举量、函数名说不定会与VC的重名,为了避免麻烦,干脆将所有定义封装到类里,将它们的作用域限制死。
c). 避免复杂的参数传递。封装成类后,某些参数,如CDC、Pen、Brush指针等,就可以通过类成员引用,避免在参数表中传来传去。
最后整个画图过程封装成一个唯一接口GetBitmap,而不是任何类成员,则是出于如下考虑:
1、调用起来方便。如果是类成员函数,除非是静态成员,否则至少需要先构造类对象,才能对对象成员进行访问。
2、便于生成DLL。DLL只能输出函数,不能输出类。
∨ 展开