public partial class Admin_CheckCode : System.Web.UI.Page
{
private Bitmap validateimage;
private Graphics g;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string VNum = MakeValidateCode();
Session["VNum"] = VNum;
ValidateCode(VNum);
}
}
public void ValidateCode(string VNum)
{
validateimage = new Bitmap(60, 15, PixelFormat.Format24bppRgb);
g = Graphics.FromImage(validateimage);
g.FillRectangle(new LinearGradientBrush(new Point(0, 0), new Point(110, 20), Color.FromArgb(240, 255, 255, 255), Color.FromArgb(240, 255, 255, 255)), 0, 0, 200, 200);
g.DrawString(VNum, new Font("arial", 11), new SolidBrush(Color.Red), new PointF(6, 0));
g.Save();
MemoryStream ms = new MemoryStream();
validateimage.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
Response.ClearContent();
Response.ContentType = "image/bmp";
Response.BinaryWrite(ms.ToArray());
Response.End();
}
string MakeValidateCode()
{
char[] s = new char[]{'0','1', '2','3','4','5','6','7','8','9','a'
,'b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q'
,'r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G'
,'H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W'
,'X','Y','Z'};
string num = "";
Random r = new Random();
for (int i = 0; i < 4; i++)
{
num += s[r.Next(0, s.Length)].ToString();
}
return num;
}
}
treeview与imagelist配合使用,使treeview的结点前面多一个图标
1.将imagelist指定给treeview的imagelist属性
2.为每个结点指定一个imageindex,treeview会自动去imagelist里检索相应的图片,另外根结点的索引默认为0
3.在对treeview进行选择操作时,颜色会发生变化,指定每个结点的selectedimageindex与其imageindex一样可以防止这一变化
在添加treenode时指定imagelist的代码如下:
TreeNode SatNode = new TreeNode();
Icon SatIcon = BuildIcon(sat.DisplayColor.R, sat.DisplayColor.G, sat.DisplayColor.B);
imageList1.Images.Add(SatIcon);
SatNode.ImageIndex = imageList1.Images.Count - 1;
SatNode.SelectedImageIndex = imageList1.Images.Count - 1;
为imagelist构建图标的函数如下:
Icon BuildIcon(int r, int g, int b)
{
int width = imageList1.ImageSize.Width, height = imageList1.ImageSize.Height;
Bitmap bmp = new Bitmap(width, height, PixelFormat.Format24bppRgb);
Graphics graphics = Graphics.FromImage(bmp);
graphics.Clear(Color.FromArgb(r, g, b));
graphics.Dispose();
Icon ico = Icon.FromHandle(bmp.GetHicon());
return ico;
}
另外,如果修改imagelist中的图标之后,需要刷新treeview才可更新结点前的图标,调用treeview.refresh()即可
分享到:
相关推荐
C# 绘制图片的缩略图,源码已打包 /// /// 用来判断转换是否成功 /// 处理好的图片缩略图放入内存中 public MemoryStream GetThumb(out bool ok, string path) public MemoryStream GetThumb(out bool ok,...
可以给图片绘制一个阴影的类,已经通过控制台调用测试,可以添加多种阴影
C#动态绘制图片,C#动态绘制多边形图片
功能包含:绘制线段、矩形、椭圆形、控制粗细、调整颜色、旋转图形、平移图形、缩放图形,满足填充颜色、插入图片、另存为、暗角、降低亮度、灰度、浮雕、马赛克、锯齿等操作。资源包含:演示视频,项目源代码
c#,矢量图形绘制,系统,点,线,面,鼠标交互放大功能,缩小功能,平移功能,纯C#c#,矢量图形绘制,系统,点,线,面,鼠标交互放大功能,缩小功能,平移功能,纯C#
c#绘制矩形、圆形、直线等及其简单的选择、拉伸、缩放、平移,以及对直线的裁剪操作
C#在图片上绘制文字完整实例源码
C# Graphic 绘制圆、三角形、椭圆、图片 C# Graphic 绘制圆、三角形、椭圆、图片 C# Graphic 绘制圆、三角形、椭圆、图片 C# Graphic 绘制圆、三角形、椭圆、图片 C# Graphic 绘制圆、三角形、椭圆、图片
C# 绘制ComboBox控件图片列表C# 绘制ComboBox控件图片列表
c#图片绘制学习参考.主要讲述图片绘制,路径绘制
C#编程 图形图像及打印 IMGwatermark(源码)C#编程 图形图像及打印 IMGwatermark(源码)C#编程 图形图像及打印 IMGwatermark(源码)C#编程 图形图像及打印 IMGwatermark(源码)C#编程 图形图像及打印 IMGwatermark(源码)...
重写pictureBox相关事件,支持在pictureBox上绘制多矩形框 ,以及选中绘制框,选中后支持边框拉伸。
C#图像处理 C#图片倒影 C#水波纹 C#进行图片倒影和水波纹的处理
C#验证码图片绘制 内 附有源码 和 解析
C#编写的用GDI绘制的图片居中显示、拖动、缩放自定义控件,可显示BMP图片。
C#验证码 验证码绘制在图片上 很不错
c#winform图片绘制与图片验证码.rar
可以画矩形,圆形,直线,椭圆,饼形,云线,圆弧等图形不闪烁;
这是一个由窗体控件开发的c# active 控件。treeviewtest为单独的一个winfrom项目,用于测试,调试浏览数据信息,显示图片,上传图片功能。 WebApplication1为一个web项目,其中就调用了一个窗体控件项目生成的插件 ...