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

  

原文地址:https://www.cnblogs.com/dylike/p/10433485.html

时间: 2024-10-21 03:01:09

DSAPI 图形图像篇(上)的相关文章

利用HTML5技术在Web上实现对图形图像的处理——WebPhotoshop精简版

WebPhotoshop精简版是利用HTML5技术在Web上实现对图形图像的处理,构建易维护.易共享.易于拓展.实时性的Web图形图像处理平台. 精简版功能包括:图形绘制.图像处理.图像操作.完整版包括多人协作操作图像.实时交流.图片搜索,同时实现实时的多人协作处理图形图像技术.(完整版后续上传)一.功能说明:1.图形绘制 实现铅笔.画笔(书法画笔.喷枪.蜡笔.记号笔.水彩画笔)的绘制效果.实现直线.曲线.椭圆(圆).矩形(圆角矩形).三角形(直角三角形.等边三角形.任意三角形).多边形的绘制.

超全面的.NET GDI+图形图像编程教程

本篇主题内容是.NET GDI+图形图像编程系列的教程,不要被这个滚动条吓到,为了查找方便,我没有分开写,上面加了目录了,而且很多都是源码和图片~ (*^_^*) 本人也为了学习深刻,另一方面也是为了分享给大家,纯手工码了好几天的字,喜欢的表忘了点赞哦~给点小小的动力~ 目录: <GDI+绘图基础> 1 GDI+概述 2 Graphics类 2.1 Graphics类的方法成员 2.2 引用命名空间 3 常用画图对象 3.1 Pen类 3.2 Color结构 3.3 Font类 3.4 Bru

安卓第十五天笔记-图形图像一些简单处理

安卓第十五天笔记-图形图像一些简单处理 多媒体编程简介--图形的一般处理 1.计算机中图形计算的大小 一般白色就是0,黑色就是1 单色位图: 8位表示一个字节, 大小:长*宽/8,表示大小,还有一些文件信息如创建时间,什么工具创建之类的 24位位图 一个像素表示24位 大小:长*宽*24/8 256色 1个像素可以表示256种颜色 一个字节它的长度刚好是256 ,那么一个像素点就是一个字节 大小:长*宽 安卓中默认使用32位的 位图的缺陷 放大到一定的比例会出会出现失真与锯齿形状 占用很大的存储

GDI+图形图像技术1

System.Drawing命名空间提供了对GDI+基本图形功能的访问,其中一些子命名空间中提供了更高级的功能. GDI+由GDI发展而来,是Windows图形显示程序与实际物理设备之间的桥梁. GDI+是GDI的增强版,主要提供以下三类服务: 1)二维矢量图形:GDI+提供了存储图形基元自身信息的类(或结构体).存储图形基元绘制方式信息的类以及实际进行绘制的类. 2)图像处理:提供Bitmap.Image等类. 3)文字显示:支持使用各种字体,字号和样式来显示文本. GDI接口是基于函数的,而

深度神经网络识别图形图像的基本原理(转)

摘要:本文将详细解析深度神经网络识别图形图像的基本原理.针对卷积神经网络,本文将详细探讨网络中每一层在图像识别中的原理和作用,例如卷积层(convolutional layer),采样层(pooling layer),全连接层(hidden layer),输出层(softmax output layer).针对递归神经网络,本文将解释它在在序列数据上表现出的强大能力.针对通用的深度神经网络模型,本文也将详细探讨网络的前馈和学习过程.卷积神经网络和递归神经网络的结合形成的深度学习模型甚至可以自动生

MFC图形图像

一.CDC类 CDC类简介 CDC类是一个设备上下文类. CDC类提供了用来处理显示器或打印机等设备上下文的成员函数,还有处理与窗口客户区关联的显示上下文的成员函数.使用CDC的成员函数可以进行所有的绘图操作,包括处理绘图工具.GDI对象的选择.颜色和调色板的处理.获取和设置绘图属性.映射.窗口范围.坐标转换.剪切以及绘制直线.简单图形.椭圆和多边形等,另外它还为文本输出.处理字体.使用打印机跳转和滚动等提供了成员函数. 如上所述,CDC类几乎封装了所有的Windows GDI函数,另外,MFC

*图形图像-3

4.3.1图像的基础知识 1.彩色的基本概念 彩色是通过光被人们感知的,物体由于内部物质的不同,受光线照射后,产生光的分解现象,一部分光线被吸收,其余的被反射或投射出来,成为人们所见的物体的彩色,彩色光作用于人眼,使之产生彩色视觉.为了能确切地地表示某一彩色光的度量,可心用亮度.色调和色饱和度三个物理量来描述,并称之为色彩三要素. (1)     亮度.亮度是描述光作用于人眼时引起的明暗程度感觉,是指彩色明暗深浅程度.一般来说,对于发光物体,彩色光辐射的功率越大,亮度越高. (2)     色调

《VTK图形图像开发进阶》出版啦!!!

承蒙各位同行的支持,我们在CSDN专栏<VTK应用开发>的基础上,前后历时大约2年多时间,整理出版了<VTK图形图像开发进阶>一书,该书由机械工业出版社出版,张晓东.罗火灵 编著,将于近期(预计2015年4月中旬)可以订购啦~~~! 原创的VTK中文教程 从VTK数据结构到开发进阶,深入浅出 通过丰富的实例分析VTK在图形图像处理中的应用 详解Qt与MFC平台下VTK应用程序开发 全面剖析VTK设计框架,便于用户对VTK进行扩展 本书系统地介绍了VTK基础知识与开发技术,帮助VTK

[Android Memory] App调试内存泄露之Context篇(上)

转载自:http://www.cnblogs.com/qianxudetianxia/p/3645106.html Context作为最基本的上下文,承载着Activity,Service等最基本组件.当有对象引用到Activity,并不能被回收释放,必将造成大范围的对象无法被回收释放,进而造成内存泄漏. 下面针对一些常用场景逐一分析. 1. CallBack对象的引用 先看一段代码: @Override protectedvoid onCreate(Bundle state){ super.o