C# 实现用艺术效果显示文本的标签控件

2009-09-28  来自:CS 程序员之窗
  • 摘要:C#实现边框、浮雕、印版效果显示文字的标签控件,可以改变边框的宽度和文字边框的颜色,实现绚丽的文字显示效果。

.NET自带的Label控件显示文本的形式非常单一,只能换换文本颜色、字体,用久了都觉得厌烦了。于是就实现了这个用艺术效果显示文本的标签控件ArtTextLabel,在这个控件中,我只实现了3种效果,其实还有很多其他效果都是可以实现的,大家可以试试。下面看看这3种效果的截图:

实现这些效果其实很简单,就是稍微改变一下绘制文本的起始坐标,绘制几次就可以了,分别看看三种不同效果得绘制代码:

1、  边框。

private void RenderBordText(Graphics g, PointF point)
... {
using (Brush brush = new SolidBrush(_borderColor))
...{
for (int i = 1; i <= _borderSize; i++)
...{
g.DrawString(
base.Text,
base.Font,
brush,
point.X - i,
point.Y);
g.DrawString(
base.Text,
base.Font,
brush,
point.X,
point.Y - i);
g.DrawString(
base.Text,
base.Font,
brush,
point.X + i,
point.Y);
g.DrawString(
base.Text,
base.Font,
brush,
point.X,
point.Y + i);
}
}

using (Brush brush = new SolidBrush(base.ForeColor))
...{
g.DrawString(
base.Text, base.Font, brush, point);
}
}

2、  浮雕。

private void RenderRelievoText(Graphics g, PointF point)
... {
using (Brush brush = new SolidBrush(_borderColor))
...{
for (int i = 1; i <= _borderSize; i++)
...{
g.DrawString(
base.Text,
base.Font,
brush,
point.X + i,
point.Y);
g.DrawString(
base.Text,
base.Font,
brush,
point.X,
point.Y + i);
}
}

using (Brush brush = new SolidBrush(base.ForeColor))
...{
g.DrawString(
base.Text, base.Font, brush, point);
}
}

3、  印版。

private void RenderFormeText(Graphics g, PointF point)
... {
using (Brush brush = new SolidBrush(_borderColor))
...{
for (int i = 1; i <= _borderSize; i++)
...{
g.DrawString(
base.Text,
base.Font,
brush,
point.X - i,
point.Y + i);
}
}

using (Brush brush = new SolidBrush(base.ForeColor))
...{
g.DrawString(
base.Text, base.Font, brush, point);
}
}

声明:

本文版权归作者和CS 程序员之窗所有,欢迎转载,转载必须保留以下版权信息,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

作者:Starts_2000

出处:CS 程序员之窗 http://www.csharpwin.com。

你可以免费使用或修改提供的源代码,但请保留源代码中的版权信息,详情请查看:

CS 程序员之窗开源协议 http://www.csharpwin.com/csol.html。

转载于:https://www.cnblogs.com/AsionTang/archive/2010/05/22/1741488.html

【转】C# 实现用艺术效果显示文本的标签控件相关推荐

  1. MFC_C++02_模态对话框,非模态对话框,StaticText静态文本,CEditCtrl控件,ComboBox下拉框,CListCtrl控件,CTreeCtrl 树控件,TabCtrl标签控件

    01 模态对话框创建 更改标题名: 菜单栏 --> 视图->工具箱 ,找到工具箱 导入两个按钮: 准备对话框: 插入就可以了,更改名称 双击按钮,可以进入点击事件 创建控件的类:右击-&g ...

  2. wpf加载上千张图片部分图片不显示_开源WPF控件库MaterialDesignInXAML推荐

    (给DotNet加星标,提升.Net技能) 转自:沙漠之狐耶dotnet9.com/?p=2180 前言 介绍一个开源的C# WPF开源控件库,非常漂亮,重点是开源哦 WPF做桌面开发是很有优势的,除 ...

  3. 易语言编程: 让读屏软件可获取标签控件的文本

    易语言编程: 让读屏软件可获取标签控件的文本 将易语言的非标准标签控件修改为标准的标签控件,使屏幕阅读器可获取到标签的内容 在使用易语言创建窗口控件时,我们会发现:易语言的编辑框.组合框.列表框等控件 ...

  4. zedgraph显示最小刻度_ZedGraph 控件各属性以及示例

    标签: Copy(Boolean) ->> 将图像复制到剪贴板. DoPageSetup()() ->> 打开打印设置对话框. DoPrint()() ->> 打印 ...

  5. c语言 操作ie文本框,IE控件一些高级使用方法

    // 显示一个空白网页 m_ie.Navigate2( &CComVariant(_T("about:blank")),NULL,NULL,NULL,NULL); // 得 ...

  6. 如何实现一个循环显示超长图片的控件

    *本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 某次被问到如何实现一个滚筒状的控件,就是可以将一张很长的图片沿着Y轴无限旋转,如下图所示: 大概就是这个意思,当时还不知道图片可以 ...

  7. java byte 图片浏览器直接显示_在imge控件中直接显示图片(图片是byte[]格式)

    在工作过程中遇到了这个问题,在网上查了一些资料,结合自己的解决方法及解决过程总结了下,方面以后查阅.如果能帮到同样遇到这个问题的你,将非常高兴哦~_~ 由于asp.net中的Image控件是在Syst ...

  8. #304 – 为没有文本标题的控件定义Access 键(Defining an Access Key That Gives Focus to a Different Control)

    有些控件,并没有自己的文本标题,他们可以通过与之相邻的Label来定义自己的Access 键.通过Access 键,他们可以获得输入焦点. 下面的例子中,在"Enter Name" ...

  9. C#通过SendMessage消息来发送接收文本消息设定控件text

    我们需要有消息循环的基础知识,如果你决定往下看,我假定你已经了解的消息循环的原理.所以本文没有详细的介绍消息循环的内容,所以我们从引入API开始. 一.引入user32.dll启用sendmessag ...

最新文章

  1. 怎么将一个数组转化成字符串
  2. VC/MFC中常用宏的含义
  3. java 过滤掉相同请求_java并发访问重复请求过滤问题
  4. 在 Windows Server 2008 下安装 Community Clips
  5. [NOI 2017]整数
  6. 【从零开始】Python字符串的操作方法
  7. 阿里腾讯今日头条纷纷翻牌子,ClickHouse到底有什么本事?
  8. AD原理图进阶设计1
  9. MySql noinstall-5.1.34-win32 配置
  10. mysql 优化关键字_Mysql之Explain关键字及常见的优化手段
  11. 配置一个强大的FireFox
  12. Android 图片裁剪
  13. 工序排班问题数学模型
  14. 计算机电源MOD,模组电源和非模组区别是什么?电脑电源的工作原理是什么?
  15. 【论文笔记】Civil Rephrases Of Toxic Texts With Self-Supervised Transformers
  16. 修改Mathon为默认浏览器
  17. 青少年机器人等级考试四级考什么
  18. ThingsBoard 使用
  19. PostgreSQL权限修改 : ALTER DEFAULT PRIVILEGES
  20. 微软浏览器Edge在虚拟机(WIN11)中打开标签栏泛白

热门文章

  1. Spring框架(全)
  2. html遮罩层怎么做,CSS中怎么让一个div成为遮罩?
  3. oracle手动 建库_Oracle 手工建库步骤
  4. 李飞飞发文发布谷歌云AutoML Vision平台,订制化的企业级机器学习模型不再是难题
  5. 华为资深工程师带你了解华为七大根技术
  6. python tcp server传输成功之后进行删除_Python第十课 网络管理
  7. 开源协议介绍 BSD、Apache Licence、GPL V2 、GPL V3 、LGPL、MIT
  8. 2007年度中国最受尊敬基金公司候选名单出炉
  9. C语言字符串函数----strcmp()函数用法
  10. 哪个电容笔是主动式?好用不贵电容笔测评