在VB中用颜色渐变技术制作幻影字(共五则)

时间:2019-05-15 02:39:43下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《在VB中用颜色渐变技术制作幻影字》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《在VB中用颜色渐变技术制作幻影字》。

第一篇:在VB中用颜色渐变技术制作幻影字

在VB中用颜色渐变技术制作幻影字

马致明

新疆师范大学数理信息学院

制作出别具一格的特效字来为软件增色,是许多软件开发者的追逐目标。但是,一般软件界面中的特效字都是用其它专门工具制作成图片后添加进来的,既降低了控制的灵活性,又增加了资源开销。能否在程序中直接实现文字特效呢?为此,笔者经过反复实践,探索出一种与众不同的特效字制作方法,现将其奉献给各位编程爱好者。

一. 编程思路

用颜色渐变技术来控制文字的颜色、用错位叠加法控制文字输出的位置是本文的基本思路。具体作法是:用循环方式在不同位置上用不同颜色显示同一字串,循环时颜色由背景色渐变到字幕色,沿同一方向错位叠加后便形成亦真亦虚、缥缈虚幻的效果(见效果图)。其关键又在于渐变色的计算和控制。1.从基色中获取三元色分量值

获取渐变色要借助RGB(red,green,blue)函数。调色板及系统颜色用的是长整数表示法,其中低字节描述的是红色,次字节描述的是绿色,第三个字节描述的是蓝色,高字节未用;若颜色值为C,则各色分量值依次为:

red=C Mod 256

green=C 256 Mod 256 blue=C 256^2

2.渐变色三元色分量值的计算方法

假定基色A和基色B的三元色分量值依次为Ar、Ag、Ab和Br、Bg、Bb,若想从A色经过N种颜色渐变到B色,则第i种渐变色的三元色分量值可采用以下计算方法:

red=Ar+(Br-Ar)* i / N green=Ag+(Bg-Ag)* i /N blue=Ab+(Bb-Ab)* i / N 其中,i的取值范围为:0,1,2,3,„„,N。3.阴影的控制方法

错位叠加输出时,依需要控制好阴影的深度和角度。深度可用N来控制,角度可用输出位置的X、Y坐标的增减来控制;如X增Y减,则阴影在左下,如X减Y增,则阴影在右上等。

二.程序介绍

1.功能

本文介绍的这则程序,用户介面中提供了“背景色”和“字幕色”两个命令按钮,用以选择相应颜色,一个滚动条用于调整阴影的深度,一个标签用于呈现深度值。选择不同颜色和深度,可以制作出各种似虚似实的幻影字,效果非常理想。滚动条调整后,要稍等片刻(1至2秒)才能出现新的效果,因为计算和输出工作量较大。2.窗体设计

窗体上安置一对命令钮控件数组,取名为“颜色”,标题分别为“背景色”和“字幕色”;一个水平滚动条,取名为阴影,Min和Max值依次为100和500;此外还有一个用于显示阴影深度值的标签“深度”。其它属性均在代码中设置。3.程序代码(用VB6.0中文版开发)Dim Colors(1)As Long, N As Integer Private Sub Form_Load()

Form1.Top = 0

Form1.Left = 0

Form1.Height = Screen.Height

Form1.Width = Screen.Width

Form1.FontSize = 180

Form1.AutoRedraw = True

Form1.Font = “华文行楷” '默认字体

Colors(0)= vbBlue

Colors(1)= vbWhite

N = 400

'控制阴影的深度

幻影字

'显示效果 End Sub Private Sub 幻影字()Dim i As Integer, R(1)As Integer, G(1)As Integer, B(1)As Integer Dim Red As Integer, Grn As Integer, Blu As Integer Form1.BackColor = Colors(0)深度.ForeColor = Colors(1)Form1.Cls For i = 0 To 1 '获取背景色、前景色的分量值

R(i)= Colors(i)Mod 256

G(i)= Colors(i)256 Mod 256

B(i)= Colors(i)256 ^ 2 Next i For i = 0 To N Step 2 '用渐变色输出

Red = R(0)+(R(1)G(0))/ N * i

Blu = B(0)+(B(1)i * 4

Form1.CurrentY = 4000-i * 4

Form1.ForeColor = RGB(Red, Grn, Blu)

Print “幻影字”

'要显示的内容

Next i End Sub Private Sub 颜色_Click(Index As Integer)

CommonDialog1.ShowColor '显示颜色对话框

Colors(Index)= CommonDialog1.Color '确定颜色

幻影字 End Sub Private Sub 阴影_Change()

N = 阴影

'改变阴影的深度

深度.Caption = “阴影深度为” & N

幻影字

'显示效果 End Sub 附:作者简介:

马致明、男、回族、63年10月生、硕士,毕业于四川师范大学,新疆师范大学物理系微机教研室副教授,主要从事计算机及计算机辅助教学方面的教学和研究。参加过2项CAI方面的课题,并在《电脑爱好者》、《中国电脑教育报》、《多媒体世界》、《电脑知识与技术》、《实验教学与仪器》、《新疆师范大学学报》等九种刊物上发表了近20篇文章;文章主要涉及计算机编程方面的经验和技巧。联系方法:

通讯地址:新疆师范大学物理系

830054 电

话:0991-4841601-2582(最好是在早晨9:30之前)E-MAIL :mzm@mail.wl.xj.cn 或ibrahim@tonghua.com.cn

第二篇:在WORD中用VBA制作作文稿纸

在WORD中用VBA制作作文稿纸

语文考试中,经常用到作文稿纸,Word中带有稿纸模板,但有诸多限制(如纸型、行列数等相对固定),在试卷排版时颇为不便。其实,我们可以利用Word的VBA编程,通过绘制表格制作作文稿纸。

一、编制程序

1.启动Word,连续点击“工具”,“宏”,“录制新宏...”,在弹出的对话框中填写宏名(此例为“作文稿纸”),选择宏要保存的位置(可以保存在模板中,也可以保存在当前文档中),如图1所示。

2.为了方便操作,可以将此宏以按钮的形式指定在工具栏中。单击“录制宏”对话框中的“工具栏”按钮,在弹出的“自定义”对话框的右侧,选中宏命令“Normal.NewMacros.作文稿纸”,用鼠标将其拖动复制到“常用”工具栏,在其上单击右键,选择相应的命令修改名称,为其编辑一个小图标,结果如图2所示。

3.单击“录制宏”对话框中的“关闭”按钮,屏幕上将出现一个“录制宏”工具栏,单击停止按钮停止录制。

4.依次选择“工具”、“宏”、“宏…”,在对话框中选择宏名“作文稿纸”,单击“编辑”按钮,打开vba编程窗口。录入如下代码:

Sub 作文稿纸()UserForm1.CommandButton1.Enabled = True UserForm1.Show End Sub

5.插入一个窗体UserForm1,在其中插入4个标签,4个文本框,一个按钮。分别设置它们的相关属性,其中,“行数”文本框的 “text”属性值设为50,“列数”文本框的“text”属性值设为20,“行距”文本框的“text”属性值设为0.2,“首尾空行高度”文本框的“text”属性值设为0.2,如图所示。

6.双击命令按钮CommandButton1,录入以下代码:

Private Sub CommandButton1_Click()Dim n As Integer '定义一个变量为整数型 n = 1 ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=Val(TextBox1.Text)* 2 + 1, NumColumns _ :=Val(TextBox2.Text), DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:=wdAutoFitFixed Selection.EndKey Unit:=wdRow, Extend:=True Selection.Cells.Borders(wdBorderVertical).LineStyle = wdLineStyleNone Selection.Tables(1).Rows.HeightRule = wdRowHeightExactly '设定表格行高为固定值

Selection.Tables(1).Rows.Height = CentimetersToPoints(Val(TextBox3.Text))'设置表格行高为设置值,作为行间距 Selection.Tables(1).Rows(1).Height = CentimetersToPoints(Val(TextBox4.Text))'设置第一行行高为设置值 Do While n < Val(TextBox1.Text)+ 1 Selection.EndKey Unit:=wdLine Selection.MoveRight Unit:=wdCharacter, Count:=2 '将插入点移至下一行

Selection.Tables(1).Rows(2 * n).Height = Selection.Tables(1).Columns(1).PreferredWidth '设行高等于列宽

Selection.EndKey Unit:=wdRow, Extend:=True Selection.EndKey Unit:=wdLine Selection.MoveRight Unit:=wdCharacter, Count:=2 '将插入点移至下一行

Selection.EndKey Unit:=wdRow, Extend:=True Selection.Cells.Borders(wdBorderVertical).LineStyle = wdLineStyleNone '去除此行的内部框线,只余边框 n = n + 1 Loop Selection.Tables(1).Rows(Val(TextBox1.Text)* 2 + 1).Height = CentimetersToPoints(Val(TextBox4.Text))'设置末行高为设置值

Selection.EndKey Unit:=wdRow, Extend:=True Selection.Cells.Borders(wdBorderVertical).LineStyle = wdLineStyleNone Selection.Tables(1).Rows.Alignment = wdAlignRowCenter '表格居中

With Selection.Tables(1).Borders(wdBorderLeft).LineWidth = wdLineWidth150pt.Borders(wdBorderRight).LineWidth = wdLineWidth150pt.Borders(wdBorderTop).LineWidth = wdLineWidth150pt.Borders(wdBorderBottom).LineWidth = wdLineWidth150pt '设定表格边框为粗线 End With Selection.EndKey Unit:=wdLine Unload Me End Sub

二、使用

与Word的稿纸向导或稿纸加载项相比,此程序做出的稿纸显然不适于在文档中直接使用,但在制作作文试卷时优势明显。其一,不受纸型限制;其二,因为是表格,所以能根据需要自由地添加、删除行列,还能在适当位置标注作文所要求的字数。

应用前,应先设定好试卷模板,然后进行试验,以找出试卷最适的格子大小和行列数,需要制作稿纸时,可直接在“常用”工具栏上单击“作文稿纸”按钮,也可以连续点击“工具”,“宏”,“宏„”,打开“宏”对话框,在左侧组合框中选择名为“作文稿纸”的宏,然后单击“运行”,即可启动宏程序,在随后出现的“作文稿纸设置”窗口中,根据需要修改默认设置,最后,单击“确定”按钮,程序将自动绘制作文稿纸表格,如果稿纸超出一页(或一栏),选择稿纸中部的行删除即可。下面是20×20稿纸。

三、导出导入

在VBA编程窗口中,分别选择工程资源管理器中的UserForm1窗体和NewMacros模块,导出UserForm1.frm、UserForm1.frx和NewMacros.bas文件。

需要在其他电脑中使用这个程序时,把备份拷贝过来,启动VBA编程窗口,通过“文件”、“导入文件”将UserForm1.frm、和NewMacros.bas导入,在Word中就使用了。以上程序在Word 2003中调试通过。

第三篇:在Word2010文档中设置渐变页面背景颜色

在Word2010文档中设置渐变页面背景颜色

在Word2010文档窗口中使用单色的页面背景看起来似乎有些单调,并且很难呈现出让人眼前一亮的效果。而如果使用渐变颜色作为Word文档页面背景,则可以使Word文档更富有层次感。在Word2010文档中设置渐变页面背景颜色的步骤如下所述:

第1步,打开Word2010文档窗口,切换到“页面布局”选项卡。在“页面背景”分组中单击“页面颜色”按钮,并在打开的页面颜色面板中选择“填充效果”命令,如图2010082003所示。

图2010082003 选择“填充效果”命令

第2步,在打开的“填充效果”对话框中,切换到“渐变”选项卡。在“颜色”区域选中“双色”单选框,然后分别选择“颜色1”和“颜色2”。在“底纹样式”区域选择颜色的渐变方向,包括“水平”、“垂直”、“斜上”、“斜下”、“角部辐射”和“中心辐射”几种样式。设置完毕单击“确定”按钮即可,如图2010082004所示。

图2010082004 “渐变”选项卡

下载在VB中用颜色渐变技术制作幻影字(共五则)word格式文档
下载在VB中用颜色渐变技术制作幻影字(共五则).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐