在不破坏背景的情况下实现动态文字
2013-07-21 09:30
148 查看
一步一个脚印,先布置背景,再现实动态文字输出,再解决输出时破坏背景的问题,再优化代码。
利用保护现场输出文本再恢复现场的方式实现以及代码的封装,值得在其他程序中尝试。
利用保护现场输出文本再恢复现场的方式实现以及代码的封装,值得在其他程序中尝试。
// 实现动态文字.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "easyx.h" #include "conio.h" //将现场保护的功能封装 //x,y表示输出文字的位置 //s表示输出的字符串,如果s为NULL,则恢复背景 void MoveAndSave(int x,int y,LPCTSTR s) { int w,h; static IMAGE img; if(s==NULL)//如果s指针为NULL时,恢复现场 putimage(x,y,&img); else{ w=textwidth(s); h=textheight(s); getimage(&img,x,y,w,h);//保护现场 outtextxy(x,y,s);//输出文本 } } void main( ) { int i; //初始化绘图窗口 initgraph(640,480); //设置输出文字时的背景模式 setbkmode(TRANSPARENT); //设置文字颜色 setlinecolor(WHITE); //定义并初始化字符串变量 TCHAR s[]=_T("动态文字"); //定义保存图像的变量IMAGE 变量来保护现场 IMAGE img; //绘制背景 for(i=0;i<=640;i++)//竖线 { setlinecolor(HSLtoRGB((float)i,1,0.25));//实现绘制彩虹效果 line(i,0,i,480); } for(i=0;i<600;i++){ MoveAndSave(i,100,s);//保护现场并输出文本 Sleep(20); MoveAndSave(i,100,NULL);;//恢复现场 } //关闭绘图窗口 getch(); closegraph(); }
相关文章推荐
- php两张图片动态合成thinkphp实现二维码及文字水印合并拼接到背景图上
- SCC3实现文字背景动态滑动
- Android自定义Dialog实现文字动态加载效果
- 用Python实现动态的切换桌面背景
- CSS实现背景透明,文字不透明(各浏览器兼容)
- css实现div背景透明,文字不透明
- CSS实现背景透明文字不透明的可行方法(兼容各浏览器)
- jQuery动态背景图片效果实现方法
- Atitit 动态按钮图片背景颜色与文字组合解决方案
- JS实现背景透明度可变,文字不透明的效果
- css实现背景透明文字不透明
- jQuery实现动态文字搜索功能
- CSS实现背景透明,文字不透明(各浏览器兼容)
- Android 动态背景的实现以及SurfaceView中添加EditText控件
- CSS3实现多背景模拟动态边框的效果
- CSS实现背景透明而背景上的文字不透明
- CSS实现背景透明,Opacity定义了有背景的盒子透明度,但里面的文字也跟着透明
- oracle+mybatis 使用动态Sql在要insert的字段不确定的情况下实现批量insert
- C#实现动态桌面背景图片切换
- C#实现动态桌面背景图片切换(续)