滚动字幕制作C语言示例

滚动字幕设计是程序界面设计方式之一,绘出方法详见下面设计的源码。我是用myspringc语言在手机上编写和测试的。

MySpringC不仅可以编写简单的C语言程序,而且它能读取手机中各种传感器的数值,控制各种多媒体设备,从而实现让普通用户用C语言控制手机,编写出意想不到的、适合自己使用的应用。
v.2.7是目前的完善版本。下面的代码就是用它在安卓手机上编写的,可制作成安卓手机桌面app应用程序。此样例可复制黏贴到编译器直接使用,亦可用VB6,C++ , java  改写。

MySpringC语言应用示例源码:
//**** 窗口 按钮 文件菜单 设计 *********
//**** 滚动字幕设计  
Canvas cs;
string sBarDes[10];
int nBarId[10];
string sMenu[50];
int nMenu[50];
float pi=3.1415926535;
float src[4];  //ClearDraw (cls) clear screen
string s,ss,ss1,ss2,ss3;
float x0,y0,x1,y1,x2,y2,x3,y3,x4,y4;
float sx,sy,px,py;
int dx,dy;
float sx1,sy1,sx2,sy2,sx3,sy3,sx4,sy4;   //draw
float a,L,L1,d,r;   //d degree
int btw,bth;
int drag[9];
FileInput filebox;
string fname;  //filename
int picw,pich;
int nOldFun;
int size[2];
double sn;
int i,j,n,t,k;    //t = times
 string s1,s2,s3,s4,s5,s6,s7,s8;    //text $
string s9,s10,s11,s12,s13,s14,s15;    //text $

main(){
setDisplay(1);
  cs.SetBackground(205,205,205);
  cs.Active();
   sBarDes[0]="演示图形";
   nBarId[0]=100;
   sBarDes[1]="测试  >>>";
   nBarId[1]=101;
   sBarDes[2]="清除图板";
   nBarId[2]=102;
   sBarDes[3]="显示图板";
   nBarId[3]=103;
   sBarDes[4]="退出程序";
   nBarId[4]=104;
   sBarDes[5]="V.";
   nBarId[5]=105;
   setToolBarHeight(6);
   setButtonTextSize(13);
   setToolBarBackgroundColor(255,192,192,192);
   setButtonColor(255,0,0,240);
   setButtonTextColor(255,255,255,0);
   setToolBar(100,myToolBarProc,sBarDes,nBarId,6);

sMenu[0]="新建文件";
   nMenu[0]=200;
   sMenu[1]="打开文件(*.bmp;*.jpg;*.png)";
   nMenu[1]=201;
   sMenu[2]="保存文件";
   nMenu[2]=202;
   sMenu[3]="选项";
   nMenu[3]=203;
   sMenu[4]="选项";
   nMenu[4]=204;
   sMenu[5]="关闭图板";
   nMenu[5]=205;
   sMenu[6]="显示图板";
   nMenu[6]=206;
   sMenu[7]="退出";
   nMenu[7]=207;
   setMenu(200,myMenuProc,sMenu,nMenu,8);
  setTitle("窗口设计-滚动字幕   ");
//**********
     // cs.SetColor (255,50,50,50);  //backcolor
  backpic ();
while (){}
 }//main ()

rolltext (){   //滚动字幕 
s1="国际歌";
s2="起来,饥寒交迫的奴隶,";
s3="起来,全世界受苦的人!";
s4="满腔的热血已经沸腾,";
s5="要为真理而斗争!";
s6="旧世界打个落花流水,";
s7="奴隶们起来起来!";
s8="不要说我们一无所有,";
s9="我们要做天下的主人!";
s10="这是最后的斗争,";
s11="团结起来到明天,";
s12="英特纳雄耐尔就一定要实现。";
s13="这是最后的斗争,";
s14="团结起来到明天,";
s15="英特纳雄耐尔就一定要实现!­";
k=3;  t=0;

re_play:
      //**** scroll the text *******
      backpic ();  //底图    
         cs.SetColor (255,250,0,0);
         cs.SetFillMode(1);
         cs.SetTextSize (100);
         cs.DrawText (s1,230,540);    
         cs.Update ();
         sleep (1000);
dx=80;  dy=1200;
    for (i=0;i<50;i++){     // 滚动设置
         cs.ClearDraw (0,src);       //清屏
         backpic ();  //底图
         cs.SetColor (255,200,200,200);
          cs.SetTextSize (70);        //文本阴影
         cs.DrawText (s1,dx+160+k,dy-i*40+k);    
         cs.SetTextSize (40);
         cs.DrawText (s2,dx+k,dy-i*40+60+k);    
         cs.DrawText (s3,dx+k,dy-i*40+120+k);    
         cs.DrawText (s4,dx+k,dy-i*40+180+k);    
          cs.DrawText (s5,dx+k,dy-i*40+240+k);    
         cs.DrawText (s6,dx+k,dy-i*40+300+k);    
         cs.DrawText (s7,dx+k,dy-i*40+360+k);    
         cs.DrawText (s8,dx+k,dy-i*40+420+k);    
         cs.DrawText (s9,dx+k,dy-i*40+480+k);    
         cs.DrawText (s10,dx+k,dy-i*40+540+k);    
         cs.DrawText (s11,dx+k,dy-i*40+600+k);    
         cs.DrawText (s12,dx+k,dy-i*40+660+k);    
         cs.DrawText (s13,dx+k,dy-i*40+720+k);    
         cs.DrawText (s14,dx+k,dy-i*40+780+k);    
         cs.DrawText (s15,dx+k,dy-i*40+840+k);    
 
        cs.SetColor (255,0,0,120);
          cs.SetTextSize (70);      //文本主体
         cs.DrawText (s1,dx+160,dy-i*40);    
         cs.SetTextSize (40);
         cs.DrawText (s2,dx,dy-i*40+60);    
         cs.DrawText (s3,dx,dy-i*40+120);    
         cs.DrawText (s4,dx,dy-i*40+180);    
          cs.DrawText (s5,dx,dy-i*40+240);    
         cs.DrawText (s6,dx,dy-i*40+300);    
         cs.DrawText (s7,dx,dy-i*40+360);    
         cs.DrawText (s8,dx,dy-i*40+420);    
         cs.DrawText (s9,dx,dy-i*40+480);    
         cs.DrawText (s10,dx,dy-i*40+540);    
         cs.DrawText (s11,dx,dy-i*40+600);    
         cs.DrawText (s12,dx,dy-i*40+660);    
         cs.DrawText (s13,dx,dy-i*40+720);    
         cs.DrawText (s14,dx,dy-i*40+780);    
         cs.DrawText (s15,dx,dy-i*40+840);    
       cs.Update ();
         sleep (300);
        }
    //t=t+1;
    //  if (t<5) goto re_play;    //replay 5 times
}//rolltext ()

backpic (){
     fname="/storage/emulated/0/ubordy.jpg";
     cs.DrawBitmap(fname,0,2);   //加底图
        cs.SetColor (255,240,100,0);
           cs.SetTextSize (30);    
        cs.DrawText ("国际歌 ",570,740);    
        cs.DrawText ("E · 鲍狄埃  词 ",530,800);    
        cs.DrawText ("P · 狄盖特  曲 ",530,850);    
     cs.Update ();

}//backpic()

myToolBarProc(int nBtn,int nContext){
      if(nBtn==100){//draw poline 
          cs.SetBackground(225,245,245);
          setDisplay (1);
      sn=doubleInput("选择演示图形",  "1.  测试......>>>  \n      输入 [ 空 ] 则取消 "  );
             //if (sn==0) return;    
             if (sn>0&&sn<9) rolltext ();  
             if (sn>9) return;    
                         }  
      if(nBtn==101){//test
            setDisplay (1);
            rolltext ();
         }
      if(nBtn==102){//关闭图板
            setDisplay (0);
         }
      if(nBtn==103){//显示图板
           setDisplay (1);
         }

if(nBtn==104){//退出程序
         clearOutput();
         cs.ClearDraw (0,src);
         setDisplay (0);
          exit (0);
         }
     if(nBtn==105){//@testdraw
          setDisplay (1);
          //testdraw ();   
          }
}//myToolBar ()

myMenuProc(int nMen,int nContext)
{
   if(nMen==200){
       print "新建文件";
       disMsg(0,"新建文件");
       cs.ClearDraw (0,src);    
       cs.Update ();  }   
     if(nMen==201){
         print "装载图片";
         loadpic ();  }    
     if(nMen==202){
        print "保存图片";
        disMsg(0,"保存图片");
         savepic ();     }

if (nMen==203){//选项
          clearOutput ();
           }
    if (nMen==204){//选项
          clearOutput ();
          }
  if(nMen==205){//close canvas
     //  print "select menu 6 : close canvas ";
        setDisplay (0);  
         }  
    if(nMen==206){//show canvas
        // print "select  menu7 : show  canvas ";
        setDisplay (1);    
           }
    if (nMen==207){//Exit 
        clearOutput();
        cs.ClearDraw (0,src);
        exit (0);
          }
  }//myMenu()

loadpic (){
//use filebox open a file and load a picture
         filebox.SetTitle("装载图片(*.bmp;*.jpg;*.png)");
         filebox.SetFilter(".bmp;.jpg;.png");
         filebox.Show();
         if(filebox.GetCount()==1){
            fname=filebox.GetFileName(0);
            if(getPicSize(fname,size)<0){
               return;
            }
            size [2]=getPicSize (fname,size);
  print "pic size =   ",size[2];
            cs.ClearDraw (0,src);
            cs.DrawBitmap(fname,0,2);
             cs.Update ();
           //setDisplay (1);
            print "Load a picture";
            print fname;
         }
}//loadpic ()

savepic (){
        filebox.SetTitle("保存图片(*.bmp;*.jpg;*.png)");
        filebox.SetFilter(".bmp;.jpg;.png");
        filebox.SetMode(1);
        filebox.Show();
            if(filebox.GetCount()==1){
            fname=filebox.GetFileName(0);
            cs.SaveBitmap(fname);    }
}    //savepic ()

//**** End ****

滚动字幕制作C语言示例相关推荐

  1. html 字幕飘动效果,html 滚动字幕 制作滚动字幕效果 参数

    制作滚动字幕效果:marquee标签 如下:<MARQUEE direction=up height=146 οnmοuseοut=start() οnmοuseοver=stop() scro ...

  2. 图片向上滚动字幕代码html,如何通过制作滚动字幕的软件实现这种片尾的向上滚动字幕效果...

    如何制作滚动字幕 特殊滚动类字幕制作 向上向下向左向右滚动字幕制作效果 含拖动和消失全程 真是酷B了爽呆了,赶快学习吧! 电影.连续剧等影视作品片尾,都会在播放片尾曲时,出现向上滚动的字幕,显示演员表 ...

  3. html 滚动字幕如何设置,如何制作滚动字幕 视频画面加滚动字幕,自己设置滚动字幕的显示时间(滚动次数)...

    不管是电影还是电视中都经常会出现一些滚动字幕,滚动字幕的内容可以是广告.通知.说明.或者是总结等.视频中的滚动字幕除了起到宣传或提示的作用,更重要的是丰富了视频的层次,让画面更加精美.但有时候我们自己 ...

  4. html滚动字幕如何调色,如何通过制作滚动字幕的软件实现这种片尾的向上滚动字幕效果...

    如何制作滚动字幕 特殊滚动类字幕制作 向上向下向左向右滚动字幕制作效果 含拖动和消失全程 真是酷B了爽呆了,赶快学习吧! 电影.连续剧等影视作品片尾,都会在播放片尾曲时,出现向上滚动的字幕,显示演员表 ...

  5. pr片头、滚动与开放式字幕制作

    pr字幕与滚动字幕制作: 片头字幕:点击文字工具(Ctrl+鼠标左键 打点) 开放式字幕:新建序列-字幕 滚动字幕:旧版标题-滚动选项

  6. c语言滚动字幕的原理编程,c#中通过Graphics.DrawString实现滚动字幕的原理和代码实例...

    c#中通过Graphics.DrawString实现滚动字幕的原理和代码实例 在c#中其实滚动屏幕的实现很简单,只需要用到Graphics.DrawString方法. Graphics.DrawStr ...

  7. gridview标题居中显示_Pr:制作片尾滚动字幕(旧版标题法)

    本文介绍使用 Pr 的旧版标题设计器来制作传统片尾滚动字幕的方法. 效果视频 ◆  ◆  ◆ 一般方法与步骤 1.首先,将文字内容输入到一个文本文件中.按 Ctrl/Cmd + A 全选,按 Ctrl ...

  8. datagrid底部显示水平滚动_看完《惊奇队长》等彩蛋,我想到了一个制作PPT滚动字幕的方法...

    滚动字幕大家都不陌生,每每看完电影,影院亮灯的时候就能看到: 电影片尾滚动字幕 前两天去看了<惊奇队长>,在等彩蛋的过程中,看着一行行的字幕在面前滚动,我突然想到:这种滚动字幕式动画,其实 ...

  9. html+视频添加字幕,给视频加滚动字幕,给视频加字幕制作mv 录制的视频配背景音乐...

    给视频添加滚动字幕方法其实很简单,像我们下载的电影,歌曲,用手机录制的视频都可以加字幕,或者滚动字幕,也可以加背景音乐或其它声音,给视频开头或结尾加一张图片或多张图片等等都是可以实现的,而这一切都是那 ...

  10. html5 左边图片自动更换 右边字幕,☆视频片尾制作☆如何制作电影片尾,左边是彩蛋视频,右边是至下向上的滚动字幕...

    大家对电影片尾并不陌生哈,每看完一部电影或微电影.电视剧等,在后面都会有一些从屏幕底下往上移动的字幕,包含有基本所有工作人员信息,比如演员.导演.化妆.摄影.场景.灯光.音效之类的,还有鸣谢赞助的单位 ...

最新文章

  1. Android各种各样的Drawable-更新中
  2. ntfs分配单元大小怎么选_星月菩提尺寸大小怎么选
  3. mysql的安装胚子_下列哪个制剂是以主要药味缩写加剂型的原则命名的
  4. 重复数据删除:块级技术VS.字节级技术
  5. python自动化控制设备有限公司_华为 Python网络自动化
  6. JEECG Excel 实体类
  7. anaconda中python的位置_科学网—查询Anaconda安装路径、安装包位置及授予访问权限 - 张伟的博文...
  8. 贾跃亭吹过的牛,苹果来实现?
  9. 配色方案专辑上线,宠溺设计师的好素材!
  10. 视频人像磨皮插件:Beauty Box 4.2
  11. 直播线上实时翻译和流式字幕技术实践与应用
  12. ubuntu美化之conky美化
  13. ogg是什么文件?ogg怎么转mp3格式?
  14. 第七章 浮动(制作京东登录页面)
  15. CAD设置图层透明显示
  16. img 标签 引入svg图片
  17. UltraEdit最新版v27软件下载 程序员必用高级文本编辑器
  18. Mongodb 设置账号密码
  19. java解析xml 前言中不允许有内容_关于xml加载提示: Error on line 1 of document : 前言中不允许有内容...
  20. angular4子路由辅助路由

热门文章

  1. R语言入门之R与RStudio的详细安装过程(图文很详细哦!!!)
  2. 微型计算机软件有哪些,微型计算机常用到的应用软件有哪些?
  3. AutoCAD DWG格式文件去除教育版戳记方法
  4. Matlab--利用plot函数绘画直线
  5. win10锁屏状态闹钟提示设置
  6. 使用客户端工具SecureCRT连接linux
  7. python爬虫ip_python爬虫数据采集ip被封一篇解决
  8. ANSYS 15 直接优化分析
  9. 工业智能网关BL110应用之六十二: 实现西门子S7-200SMART PLC 接入MQTT Client One云平台
  10. MATLAB图像的读取和显示