C#滚动字幕的实现方法

本文实例讲述了C#滚动字幕的实现方法,分享给大家供大家参考。具体方法如下:

在c#中其实滚动屏幕的实现其实很简单,只需要用到Graphics.DrawString方法. Graphics.DrawString (String s, Font font, Brush brush, PointF point) 在指定位置并且用指定的 Brush 和 Font 对象绘制指定的文本字符串。

参数说明:

s 要绘制的字符串。
font 它定义字符串的文本格式。
brush 它确定所绘制文本的颜色和纹理。
point 结构,它指定所绘制文本的左上角。

其中,我们要用到的就是point函数,通过控制它的X或Y参数来控制文字的偏移量.下面以水平滚动字幕为例.

代码如下:

private  Label label = new Label(); 
public string text="csdn baihe_591";

private void FrmShow_Load(object sender, EventArgs e) 
{           
this.label.Location = new Point(149, 13); 
this.label.Size = new Size(134, 16); 
this.Controls.Add (label);          
this.label.Text = ""; 
this.timer1.Enabled = true; 
this.timer1.Interval = 500;  
p = new PointF(this.label.Size.Width, 0); 
}

PointF p; 
Font f = new Font("宋体", 10); 
Color c = Color.White; 
string temp; 
private void timer1_Tick(object sender, EventArgs e) 
{

Graphics g = this.label.CreateGraphics(); 
SizeF s = new SizeF(); 
s = g.MeasureString(text, f);//测量文字长度 
Brush brush = Brushes.Black;            
g.Clear(c);//清除背景

if (temp != text)//文字改变时,重新显示 

p = new PointF(this.label.Size.Width, 0); 
temp = text; 

else 
p = new PointF(p.X - 10, 0);//每次偏移10 
if (p.X <= -s.Width) 
p = new PointF(this.label.Size.Width, 0); 
g.DrawString(text, f, brush, p);   
}

希望本文所述对大家的C#程序设计有所帮助。

(0)

相关推荐

  • C# 视频播放类

    复制代码 代码如下: using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; ///

  • C#定义的MP3播放类实例

    本文实例讲述了C#定义的MP3播放类.分享给大家供大家参考.具体分析如下: 这里使用C#定义一个MP3播放类,将Mp3文件作为资源文件包含到项目中,就可以播放mp3了 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; using System.Runtime.InteropService

  • C# WinForm中Panel实现用鼠标操作滚动条的实例方法

    方法如下:在窗体的Load事件注册滚动事件,并增加对应的方法 复制代码 代码如下: private void FormSample_Load(object sender, EventArgs e)        { //注册事件            this.MouseWheel += new MouseEventHandler(FormSample_MouseWheel);        } /// <summary>        /// 滚动方法        /// </sum

  • C#播放背景音乐的方法小结

    本文实例总结了C#播放背景音乐的方法.分享给大家供大家参考.具体分析如下: 最经在写winform程序,其中有用到播放背景音乐 特此收集了一些网上的教程: 1.调用非托管的dll using System.Runtime.InteropServices; //DllImport命名空间的引用 class test //提示音 { [DllImport("winmm.dll")] public static extern bool PlaySound(String Filename,in

  • C#播放铃声最简单实现方法

    本文实例讲述了C#播放铃声最简单实现方法.分享给大家供大家参考.具体分析如下: 因为只是做一个软件的闹铃播放效果,到网上找的时候试了几种,哎,都失败了,而且代码挺杂的,最终一句搞定了: 复制代码 代码如下: // 窗体加载事件 private void TimeCue_Load(object sender, EventArgs e) { //播放铃声 System.Media.SoundPlayer sndPlayer =new   System.Media.SoundPlayer(Applic

  • WinForm实现仿视频播放器左下角滚动新闻效果的方法

    本文实例讲述了WinForm实现仿视频播放器左下角滚动新闻效果的方法.分享给大家供大家参考.具体实现方法如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using Syst

  • 基于C#的音乐播放器主Form实现代码

    本文所述为一个由C#编写的音乐播放器的主Form代码,里面有一些小技巧还是不错的,现共享给大家参考一下.里面有播放器背景设置.线程定义.调用读取文件目录方法.播放时间计数器.设置LV背景.获取播放歌曲.播放按钮,切换播放or暂停.切换歌曲到下一首,调用切歌方法.显示播放列表.歌词局中.播放窗体最小化隐藏到托盘设置.进度条滚动模块.从歌曲列表中删除文件等等功能.且各个功能模板均备有较为详细的注释,便于大家阅读理解. 程序主要代码如下: using System; using System.Coll

  • c#之滚动字幕动画窗体的实现详解

    提示:运行该程序可双击滚动字幕推出程序.(当然任务管理器也可以...)步骤如下:1.新建窗体,并设置窗体的FormBorderStyle属性为None,且"TransparencyKey"属性为"Control".2.使用1个Label空间,Text任意写,Font等样式自定.3.使用1个Timer空间,设置其Enable为True,Interval设置为100:4.添加Form1的窗体加载事件,代码如下: 复制代码 代码如下: private void Form1

  • C#滚动字幕的实现方法

    本文实例讲述了C#滚动字幕的实现方法,分享给大家供大家参考.具体方法如下: 在c#中其实滚动屏幕的实现其实很简单,只需要用到Graphics.DrawString方法. Graphics.DrawString (String s, Font font, Brush brush, PointF point) 在指定位置并且用指定的 Brush 和 Font 对象绘制指定的文本字符串. 参数说明: s 要绘制的字符串. font 它定义字符串的文本格式. brush 它确定所绘制文本的颜色和纹理.

  • 微信小程序全屏滚动字幕的实现方法详解

    目录 一.实现背景 二.实现代码 三.滚动速度 四.后续优化 实现效果 一.实现背景 无意中在某音上看到用手机横屏作为广告屏的视频,大部分都是用第三方软件实现的: 以及在汽车后挡风玻璃放置提醒字样的视频,这种基本是要花钱买屏幕,通过手机控制屏幕内容: 遂想实现这种效果 二.实现代码 1,滚动字幕 zimu.wxml,界面布局,很简单,没啥特别的,顶部一个返回按钮,为了不影响整体效果,可以把这个按钮做成透明的图片放上去:除了那个按钮剩下的就是滚动的字幕组件了 <!--pages/zimu/zimu

  • 使用JavaScript实现连续滚动字幕效果的方法

    我们一般都用Marquee标签控制元素的滚动.但是单向的Marquee滚动是不连续的,每滚完一幕,就会出现一次空白.而下面介绍中的滚动则是连续的,毫不间断. 下面为你介绍这是如何实现的. 为了滚动能够"连续",我们需要将字幕的内容复制多遍,直到内容的高度不小于滚动区高度的两倍.然后我们将溢出的滚动条隐藏掉,用代码控制滚动条向下移动(这时内容将向上移动).当滚动条滚动到最下方时,理论上不能再往下滚动了,于是我们立刻调整滚动条,将它向上滚动到一个和当前画面一样的位置.结果我们看到的就是连续

  • iOS实现滚动字幕的动画特效

    效果图 开始上代码 滚动字幕的原理是用timer定时器间隔一定的时间来驱动scrollView上的内容偏移,来实现滚动的效果,原理比较简单,关键是有些细节需要处理好,实现流畅效果的同时要考虑到性能优化 这里是.h文件的接口方法及属性,可适应大部分自定义场景 /*初始化*/ -(instancetype)initWithFrame:(CGRect)frame textArray:(NSArray *)textArray colorArray:(NSArray *)textColorArray; /

  • AngularJS基于ngInfiniteScroll实现下拉滚动加载的方法

    本文实例讲述了AngularJS基于ngInfiniteScroll实现下拉滚动加载的方法.分享给大家供大家参考,具体如下: 1.分页加载数据的基础上,如何通过滚动加载,实现分页加载数据的效果,github上,针对AngularJS,有一款不错的插件,地址为:https://github.com/sroze/ngInfiniteScroll 2.下面来看官方给出的文档 (1)使用样例: <ANY infinite-scroll='{expression}' [infinite-scroll-di

  • WPF实现上下滚动字幕效果

    本文实例为大家分享了WPF上下滚动字幕的具体代码,供大家参考,具体内容如下 XAML代码: <local:WorkSpaceContent x:Class="SunCreate.CombatPlatform.Client.NoticeMarquee" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.c

  • js实现鼠标悬停图片上时滚动文字说明的方法

    本文实例讲述了js实现鼠标悬停图片上时滚动文字说明的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <html> <title>js实现鼠标悬停图片上时的滚动文字说明</title> <body> <SCRIPT LANGUAGE="JavaScript"> <!-- Begin function showtip2(current,e,text){   if (document.all&&a

  • PHP使用ffmpeg给视频增加字幕显示的方法

    本文实例讲述了PHP使用ffmpeg给视频增加字幕显示的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <?php $dir = './'; // set to current folder if ($handle = opendir($dir)) {  while(false!== ($file = readdir($handle))) {  if ( is_file($dir.$file) ){  if (preg_match("'\.(avi)$'",

  • PHP使用GIFEncoder类生成gif动态滚动字幕

    今天在公司,经理让做一个滚动字幕.但是,不许生成gif图片.所以上网找了GIFEncoder这个类库.确实很好用,但是,应用过程中也出现了一些问题,现在写在这里,以供后来人参考,少走弯路. 文字滚动分为两种情况.第一种为水平滚动: 复制代码 代码如下: <?php require_once("GIFEncoder.class.php"); $count=0;   //设置默认计数器 while(true){     $str = $_REQUEST['str'] ? $_REQU

随机推荐