开发者社区


C++/C | Java | .Net/Windows | Linux/Unix | 开源 | 其他
首页 - 编程
编程
全文搜索:   

在VB.NET中如何使用光晕给文本增色
作者: Builder
2006-09-24 23:00:07



第二步:添加光晕效果

现在,我们在创建的文本图片里循环,一个像素接一个像素。我们会(通过检查阿尔法通道)确认每个像素是否有任何颜色。如果有颜色,我们就知道这是文本或者光晕,所以可以接着确认下一个像素了:

If BitmapText.GetPixel(IntegerXCounter, IntegerYCounter).A > 0 ThenContinueForEndIf

而另一方面,如果像素是空的,我们就需要弄清楚这个像素旁边是否紧接着有任何文本。如果有,就用光晕的颜色给它增加阴影。我们利用列表B里代码的八种不同版本来确认所有的像素。

ContinueFor之所有存在是因为一旦我们给像素加上了阴影,那么就没有理由再浪费时间继续检查它周围的像素了。我们使用IntegerXToCheck和IntegerYToCheck这两个临时变量来减少需要进行的计算量。根据方向不同,我们会翻转这两个变量“检查”的“方向”。列表C里是完整的循环。

第三步:把文本放到图片上

困难的部分已经完成了!把新的图片覆盖到原始图片上就相当然容易了:

GraphicsBitmapEditor.DrawImage(BitmapText, TextX, TextY)

这样,我们就有了一个标准的、具有更广泛用途的.NET Bitmap对象了。例如,我们可以把这个图片保存到磁盘上,把它显示在Web客户端上,或者把它放到一个PictureBox里。它的用途是无限可能的。

让文本光晕开始工作

要让文本光晕起作用,我们就要把它们放到一个自己的类里。这个下载里带有一个完整的类,能够为你生成文本光晕,只要你提供文本、原始图片、光晕颜色,以及文本的字体就行了。它还是一个使用文本光晕和把它们加到图片上的有用应用程序。

这个应用程序带有并能够安装完整的源代码(要编译它需要.NET Framework 2.0 SDK,建议最好用Visual Studio 2005来处理源代码),这样你就能够试验并根据自己的要求修改代码了。

这个应用程序还用到了基本的Windows对话框组件,并能够利用BackgroundWorker对象来处理图片,而不需要暂停其他的应用程序。结论是,这个应用程序演示了利用VB.NET代码创建一个位图并用用户选择的(边界)颜色填充它的简单技术。

责任编辑:张琎

查看本文的国际来源

【上一页】
声明:
Builder.com.cn(原ZDNet China应用开发频道)原创文章版权所有,未经许可严禁转载,且不构成投资建议。
近期相关报道:
实用技术文档
J2me XML
C/C++ C#
Java Oracle
Mysql .Net
VB.NET CSS
SQL Server 数据库
SQL UNIX
Linux Jsp
PHP Perl
Javascript IIS
XHTML ColdFusion
ASP/ASP.NET Apache
AJAX
订阅技术邮件
订阅"技术圈"杂志!请在下面选择您感兴趣的专题,填写e-mail地址,然后按订阅按钮:
应用开发管理
VS.NET 周刊
Database 周刊
WEB Service周刊
JAVA 周刊
IT 认证
Windows服务器周刊
互联网开发
当Windows Server 2008专家得5000元现金大奖
CNET NETWORKS 中国: 爱卡汽车网 | CNET科技资讯网 | e询网 | CWEEK | 蜂鸟网 | GameSpot China | 个人电脑 | PChome | SPN | 网友世界 | ZDNet China | 中关村在线
CNET NETWORKS 美国: BNET | CNET.com | CNET Download.com | CNET News.com | CNET Reviews | CNET Shopper.com | GameSpot | MP3.com | mySimon | Release 1.0 | Search.com | TechRepublic | TV.com | Webshots | ZDNet
Copyright (c) 2006 CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
ZDNet 公司标识是 CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号