C# GDI+的问题求助 我想在一个文档里面画两个圆里面中间用一个带箭头的直线连接 我需要点右键选节点显示出节点的属性 而且可以移动节点 如何用C#实现这些功能呀谢谢呢先 100point 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这种功能我以前用javascript+VML实现过,建议楼主用这种方法吧 在VML里面,标记使用的是XML扩张,需要一个namespace(命名空间),你可以使用惯用的“v”作为命名空间,使用IE5.0到IE6.0通用的定义如下:<html xmlns:v="urn:schemas-microsoft-com:vml"><STYLE>v\:* { Behavior: url(#default#VML) }</STYLE> xmlns 全称就是XML NameSpace 也就是命名空间。Behavior(行为)也是IE5.0新推出的东西,它的功能非常强大,结合样式表,可以给任何HTML对象增加行为(新的属性、方法、事件),而在这里,它的用处是把命名空间“v”和系统预定义的行为VML连接。这样定义以后,你就可以使用下面的标记了,和普通的HTML标记有所区别,每个标记都增加了一个命名空间:<v:shape></v:shape> 和其他HTML元素一样,VML标记里面可以定义DHTML大部分属性和事件,比如说id,name,title,onmouseover等等。在写法上VML比较灵活,很多属性既可以写在标记里面,又可以独立出一个新的标记来表示:<v:shape id=shape1 name=shape1 onmouseover="alert(this.id)" StrokeColor=red Path="m 0,0 l 10,10 x e"></v:shape>等同于下面的写法:<v:shape id=shape1 name=shape1 onmouseover="alert(this.id)"><v:Stroke StrokeColor=red/><v:Path v="m 0,0 l 10,10 x e"/></v:shape> 当然不是所有的属性都可以写成独立的标记,常用的比如说上面的 Stroke(按我的理解可以翻译成线性),Path,Shadow,Fill(填充)等,VML这样的方式可以理解为 shape 的属性分类,使属性更直观。 Shape 对象派生出来的一些对象,更加直接的图象,比如说 Rect(矩形),RoundRect(圆边的矩形),Oval(圆),Line(线),PolyLine(不规则折线),Image(图形文件)等等,以后将对这些对象细细描述。 顶用C# GDI+应该可以实现的 还是用VML好,这是个好东西的 string strDotName=File1.PostedFile.FileName.Substring(File1.PostedFile.FileName.ToString().Length-4,4); Random ro = new Random(System.DateTime.Now.GetHashCode()); string strFileName="image"+ro.Next()+strDotName; File1.PostedFile.SaveAs(this.Server.MapPath("upload/"+strFileName));//图片上传结束,下面生成缩略图 System.Drawing.Image.GetThumbnailImageAbort myCallback =new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback); Bitmap myBitmap = new Bitmap(this.Server.MapPath("upload/")+"\\"+strFileName); Bitmap tomap=new Bitmap(Server.MapPath("images/logo.gif")); System.Drawing.Image myThumbnail = myBitmap.GetThumbnailImage(200,150,myCallback,IntPtr.Zero); Response.ContentType="image/jpeg"; Bitmap newbmp=new Bitmap(myThumbnail); Graphics g=Graphics.FromImage(newbmp); g.DrawImageUnscaled(tomap,0,0,200,150); Random ro1 = new Random(System.DateTime.Now.GetHashCode()); string strName="image"+ro1.Next()+".jpg"; newbmp.Save(this.Server.MapPath("upload/"+strName),System.Drawing.Imaging.ImageFormat.Jpeg); myBitmap.Dispose(); tomap.Dispose(); newbmp.Dispose(); 求对话框! asp.net Winform实现新消息提醒 再线急等,关于ScriptManager.RegisterStartupScript的问题 [求助]用户控件如何方便的验证? 做一个简单的关键字查询页面. 如何在ASP.NET中的后台代码中使用Attributes? ActiveRecord问题 江湖救急!数据库连接问题!! 有高分 请问:如何让自己写的控件和.NET框架所带的控件集成到一起? 真的没有人遇到这种情况吗?? 请问无法加载 DLL (gdiplus.dll)是什么原因? 在WEB窗体中将表单数据提交到另一页面时无法成功。请各位帮忙看一下!!!!!!!11
<STYLE>
v\:* { Behavior: url(#default#VML) }
</STYLE> xmlns 全称就是XML NameSpace 也就是命名空间。Behavior(行为)也是IE5.0新推出的东西,它的功能非常强大,结合样式表,可以给任何HTML对象增加行为(新的属性、方法、事件),而在这里,它的用处是把命名空间“v”和系统预定义的行为VML连接。这样定义以后,你就可以使用下面的标记了,和普通的HTML标记有所区别,每个标记都增加了一个命名空间:<v:shape></v:shape> 和其他HTML元素一样,VML标记里面可以定义DHTML大部分属性和事件,比如说id,name,title,onmouseover等等。在写法上VML比较灵活,很多属性既可以写在标记里面,又可以独立出一个新的标记来表示:<v:shape id=shape1 name=shape1 onmouseover="alert(this.id)" StrokeColor=red Path="m 0,0 l 10,10 x e"></v:shape>
等同于下面的写法:
<v:shape id=shape1 name=shape1 onmouseover="alert(this.id)">
<v:Stroke StrokeColor=red/>
<v:Path v="m 0,0 l 10,10 x e"/>
</v:shape> 当然不是所有的属性都可以写成独立的标记,常用的比如说上面的 Stroke(按我的理解可以翻译成线性),Path,Shadow,Fill(填充)等,VML这样的方式可以理解为 shape 的属性分类,使属性更直观。
Shape 对象派生出来的一些对象,更加直接的图象,比如说 Rect(矩形),RoundRect(圆边的矩形),Oval(圆),Line(线),PolyLine(不规则折线),Image(图形文件)等等,以后将对这些对象细细描述。
Random ro = new Random(System.DateTime.Now.GetHashCode());
string strFileName="image"+ro.Next()+strDotName;
File1.PostedFile.SaveAs(this.Server.MapPath("upload/"+strFileName));//图片上传结束,下面生成缩略图
System.Drawing.Image.GetThumbnailImageAbort myCallback =new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);
Bitmap myBitmap = new Bitmap(this.Server.MapPath("upload/")+"\\"+strFileName);
Bitmap tomap=new Bitmap(Server.MapPath("images/logo.gif"));
System.Drawing.Image myThumbnail = myBitmap.GetThumbnailImage(200,150,myCallback,IntPtr.Zero);
Response.ContentType="image/jpeg";
Bitmap newbmp=new Bitmap(myThumbnail);
Graphics g=Graphics.FromImage(newbmp);
g.DrawImageUnscaled(tomap,0,0,200,150); Random ro1 = new Random(System.DateTime.Now.GetHashCode());
string strName="image"+ro1.Next()+".jpg"; newbmp.Save(this.Server.MapPath("upload/"+strName),System.Drawing.Imaging.ImageFormat.Jpeg);
myBitmap.Dispose();
tomap.Dispose();
newbmp.Dispose();