DSAPI 图形图像篇(上)
彩色文字对象
基于一些特殊需求,本人开发了彩色文字对象,该功能通过类似html代码的方式指示文本,并输出图像.
我们还是先来看一张图像.

这不是文本,是通过指定文本代码输出的图像.我们来看一下实现代码.
Dim DSL As New DSAPI.图形图像.彩色文字图像
With DSL
.画布尺寸 = Me.Size '告诉彩色文字引擎最宽能画到多少
.绘制描边 = True
.绘制阴影 = True
.描边颜色 = Color.Black
.文字清晰度 = Drawing.Text.TextRenderingHint.AntiAliasGridFit
.文字颜色 = Color.Yellow
.阴影大小 = 5
.阴影浓度 = 30
.阴影偏移量 = New Point(0, 0)
.字符行距 = 3
.字符间距 = 1
.链接下划线颜色 = Color.Red
.字体 = New Font("宋体", 9)
Dim S As String = "你好,我是<color=255,0,255>彩</color><color=0,255,255>色</color><color=0,255,0>文</color><color=0,0,255>字</color>"
S &= vbCrLf & "<color=255,255,255>这是<b>粗体</b>,这是<i>斜体</i>,还有<u>下划线</u>"
S &= vbCrLf & "还能插入<font=微软雅黑>其他字体</font></color>"
S &= vbCrLf & "如果你愿意,还能加入<color=0,255,0><link=http://www.baidu.com>链接</link></color>"
.代码文本 = S
Me.BackgroundImage = .输出图像
是不是让你想到了游戏里的字幕呢?是的,只要效果实现了,你想用在哪里都可以.但同时你也注意到了,里面有链接代码.既然只是图片,这个链接有什么用呢?当然了,图片肯定是要设置给某个控件的,不然哪里显示图片呢?链接是带有坐标信息的,当你的代码中使用到了链接,那么你可以在控件的MouseMove或者MouseDown事件里检测鼠标位置是否是链接,并且是什么链接.
一切属性的设置,都将在获取输出图像时应用.所以,如果你需要获取显示的文本,也就是去除了代码的文本内容,那么你需要先获取输出图像后再输出显示文本.
Me.BackGroundImage=DSL.输出图像
Console.WriteLine(DSL.显示文本)
输出结果:
你好,我是彩色文字
这是粗体,这是斜体,还有下划线
还能插入其他字体
如果你愿意,还能加入链接
链接的获取
Private Sub Form1_MouseDown(sender As Object, e As MouseEventArgs) Handles Me.MouseDown
Dim 链接 As DSAPI.图形图像.彩色文字图像.链接 = DSL.获取指定坐标的链接(e.Location)
If 链接 IsNot Nothing Then
'如果鼠标指针位置有链接,则显示链接信息
MsgBox(链接.LinkTarget)
End If
End Sub Private Sub Form1_MouseMove(sender As Object, e As MouseEventArgs) Handles Me.MouseMove
Dim 链接 As DSAPI.图形图像.彩色文字图像.链接 = DSL.获取指定坐标的链接(e.Location)
If 链接 IsNot Nothing Then
'如果鼠标指针位置有链接,则为手型
Me.Cursor = Cursors.Hand
Else
'反之为箭头
Me.Cursor = Cursors.Default
End If
End Sub

DSAPI 图形图像篇(上)的更多相关文章
- DSAPI多功能组件编程应用-图形图像篇(中)
[DSAPI.DLL下载地址] 说到计算机上使用代码来处理各种图像特效,是一份太有挑战性的工作.以下涉及的所有图像效果均不是从网上复制的源码,而是本人试验数次并编写的,所以原理上会和网上的有所不同 ...
- 超全面的.NET GDI+图形图像编程教程
本篇主题内容是.NET GDI+图形图像编程系列的教程,不要被这个滚动条吓到,为了查找方便,我没有分开写,上面加了目录了,而且很多都是源码和图片~ (*^_^*) 本人也为了学习深刻,另一方面也是为了 ...
- [转]超全面的.NET GDI+图形图像编程教程
本篇主题内容是.NET GDI+图形图像编程系列的教程,不要被这个滚动条吓到,为了查找方便,我没有分开写,上面加了目录了,而且很多都是源码和图片~ GDI+绘图基础 编写图形程序时需要使用GDI(Gr ...
- C# .NET开发图形图像程序时提示"GDI+ 中发生一般性错误"
今天突然收到一封信,说我那个极度复杂的Marshal的问题被解决了(http://www.cnblogs.com/hotcan/archive/2005/01/12/91007.html).顿时感觉好 ...
- 一步一步学Silverlight 2系列(31):图形图像综合实例—实现水中倒影效果
概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, ...
- C#_GDI+详细教程(图形图像编程基础)
第7章 C#图形图像编程基础 本章主要介绍使用C#进行图形图像编程基础,其中包括GDI+绘图基础.C#图像处理基础以及简单的图像处理技术. 7.1 GDI+绘图基础 编写图形程序时需要使用GDI( ...
- Dreamweaver杀手!Illustrator终结者?Flash的末日?图形图像设计程序之网页版
Dreamweaver杀手!Illustrator终结者?Flash的末日?图形图像设计程序之网页版 阅读: 评论: 作者:Rybby 日期: 来源:rybby.com Adobe 家的 Il ...
- GDI+图形图像技术1
System.Drawing命名空间提供了对GDI+基本图形功能的访问,其中一些子命名空间中提供了更高级的功能. GDI+由GDI发展而来,是Windows图形显示程序与实际物理设备之间的桥梁. GD ...
- HMS Core图形图像技术展现最新功能和应用场景,加速构建数智生活
[2022年7月15日,杭州]HUAWEI Developer Day(华为开发者日,简称HDD)杭州站拉开帷幕.在数字经济不断发展的今天,开发者对图形图像的开发需求更加深入和多样化,从虚拟环境重构到 ...
随机推荐
- Ubuntu16.04 下搭建git服务器及gitweb+nginx配置
本文转自:http://blog.csdn.net/water_horse/article/details/68958140 1.安装所需软件 fengjk@water:~$ sudo apt-get ...
- 实现自动SSH连接
#!/usr/bin/expect set timeout 10 set username [lindex $argv 0] set password [lindex $argv 1] set hos ...
- 手游热更新方案--Unity3D下的CsToLua技术
WeTest 导读 CsToLua工具将客户端 C#源码自动转换为Lua,实现热更新,本文以麻将项目为例介绍客户端技术细节. 麻将项目架构 其中ChinaMahjong-CSLua为C#工程,实现麻将 ...
- 大白话5分钟带你走进人工智能-第四节最大似然推导mse损失函数(深度解析最小二乘来源)(2)
第四节 最大似然推导mse损失函数(深度解析最小二乘来源)(2) 上一节我们说了极大似然的思想以及似然函数的意义,了解了要使模型最好的参数值就要使似然函数最大,同时损失函数(最小二乘)最小,留下了一 ...
- 微服务架构 - 基于Harbor构建本地镜像仓库
之前写过<搭建docker本地镜像仓库并提供权限校验及UI界面>文章,然后有同仁评论道这样做太复杂了,如果Harbor来搭建会更简单同时功能也更强大.于是抽时间研究了基于Harbor构建本 ...
- 开源)嗨,Java,你可以生成金山词霸的二维码分享海报吗?
As long as you can still grab a breath, you fight.只要一息尚存,就不得不战. 有那么一段时间,我特别迷恋金山词霸的每日一句分享海报.因为不仅海报上的图 ...
- 使用ESMap的地图平台开发三维地图
本文简单的介绍使用ESmap的SDK开发(DIY自己地图的)一个地图的过程.若有不足,欢迎指正. 一.创建地图 只需四步,从无到有,在浏览器中创建一个自己的三维地图,炫酷到爆! 第一步:引入ESM ...
- OAuth2.0记录
阮一峰老师讲解OAuth2.0 http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html 举例详解: https://www.cnblogs.com/ ...
- 六大设计原则(三)DIP依赖倒置原则
依赖倒置原则DIP(Dependence Inversion Principle) 依赖倒置原则的含义 高层模块不能依赖低层模块,二者都应该依赖其抽象. 抽象不应该依赖于细节. 细节应该依赖抽象. 什 ...
- Iconfont 在HTML中的使用
一.准备阶段: a.进入阿里巴巴矢量图标库www.iconfont.cn挑选所需的图标,加入购物车 b.点击网页中的购物车下载代码 二.3种方法实现 Iconfont 的HTML显示 Unicode ...