实际上,做GDI+的不外乎两种目的:1纯粹兴趣,不为客户使用 2因客户使用而做。
看到几个开源的绘图源码,感觉到这一块不再孤独了,也来开源一个吧,这次开源的是DSCoolLabel,彩色文字类。因为本人没有受过专业英语教学,代码中单词可能有些乱用的情况,请谅解!
先看效果图:
部分场合使用:
当然,可能这些东西并不实用,纯粹是兴趣所做,勿以实用性来判断其技术含量,本身也无任何技术含量。
源码如下:C#
[code=C#]using Microsoft.VisualBasic;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
using System.Drawing.Imaging;
using System.Drawing;
public class DSCoolLabel
{
#region "属性"
private byte[] Glob_Byts;
private int bpStra;
public Color TextNomalColor { get; set; }
/// <summary>
/// 存储图像列表(最终输出为16X16像素)
/// </summary>
/// <remarks></remarks>
public List<Bitmap> ImgList = new List<Bitmap>();
/// <summary>
/// 绘制文字描边
/// </summary>
/// <value></value>
/// <returns></returns>
/// <remarks></remarks>
public bool DrawTextOutLine { get; set; }
/// <summary>
/// 文字间距
/// </summary>
/// <value></value>
/// <returns></returns>
/// <remarks></remarks>
public int CharWidth { get; set; }
/// <summary>
/// 文字行距
/// </summary>
/// <value></value>
/// <returns></returns>
/// <remarks></remarks>
public int CharLine { get; set; }
/// <summary>
/// 文本显示质量
/// </summary>
/// <value></value>
/// <returns></returns>
/// <remarks></remarks>
public Drawing.Text.TextRenderingHint TextRenderHint { get; set; }
private string _Text;
private List<ColorCharItem> _C = new List<ColorCharItem>();
private string _OutputText;
/// <summary>
/// 是否绘制投影
/// </summary>
/// <remarks></remarks>
public bool DrawShadow = false;
/// <summary>
/// 去除颜色代码后的字串
/// </summary>
/// <value></value>
/// <returns></returns>
/// <remarks></remarks>
public string OutputText {
get { return _OutputText; }
}
/// <summary>
/// 包含颜色代码的字串
/// </summary>
/// <value></value>
/// <returns></returns>
/// <remarks></remarks>