ASP.NET(C#)怎么在页面上画一条直线?

GDI_GTK 2009-03-10 02:23:47
基于桌面好画,但基于网页呢?
...全文
422 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
hangang7403 2009-03-10
  • 打赏
  • 举报
回复
用dreamweaver做不一样吗
cppfaq 2009-03-10
  • 打赏
  • 举报
回复
ghy2611655 2009-03-10
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 claymore1114 的回复:]
C# code
protected void Page_Load(object sender, EventArgs e)
{
GraphicsImage();
}
private void GraphicsImage( )
{
int width = 440, hight = 200;
Bitmap image = new Bitmap(width, hight);
Graphics g = Graphics.FromImage(image); //创建画布
try
{
g.Clear(Color.YellowGreen); //清空背景色
Font font1…
[/Quote]
很帅气嘛
claymore1114 2009-03-10
  • 打赏
  • 举报
回复

protected void Page_Load(object sender, EventArgs e)
{
GraphicsImage();
}
private void GraphicsImage( )
{
int width = 440, hight = 200;
Bitmap image = new Bitmap(width, hight);
Graphics g = Graphics.FromImage(image); //创建画布
try
{
g.Clear(Color.YellowGreen); //清空背景色
Font font1 = new Font("宋体", 12); //设置字体类型和大小
Brush brush = new SolidBrush(Color.Red); //设置画刷颜色
Pen pen = new Pen(Color.Blue,1); //创建画笔对象
g.DrawString("GDI+绘制直线、矩形和多边形", font1, brush, 100, 20);
g.DrawLine(pen, 40, 80, 100, 80); //绘制直线 pen:确定线条的颜色、宽度和样式。
//pt1(40,80):表示要连接的第一个点;pt2(100,80):表示要连接的第二个点。


g.DrawRectangle(pen, 130, 60, 100, 40); //绘制矩形 pen:确定矩形的颜色、宽度和样式。
//x(130):要绘制矩形的左上角的x坐标;y(60):要绘制矩形的左上角的y坐标;
//width(100):要绘制矩形的宽度;height(40):要绘制矩形的高度。


Point[] points = new Point[6];
points[0].X=300;
points[0].Y=60;
points[1].X=250;
points[1].Y=80;
points[2].X=300;
points[2].Y=100;
points[3].X=350;
points[3].Y=100;
points[4].X=400;
points[4].Y=80;
points[5].X=350;
points[5].Y=60;

g.DrawPolygon(pen, points); //绘制多边形 pen:确定多边形的颜色、宽度和样式;points:表示多边形的顶点。

System.IO.MemoryStream ms = new System.IO.MemoryStream( );
image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
Response.ClearContent( );
Response.ContentType = "image/Gif";
Response.BinaryWrite(ms.ToArray( ));
}
catch(Exception ms)
{
Response.Write(ms.Message);
}
}
GDI_GTK 2009-03-10
  • 打赏
  • 举报
回复
哪儿有详细的vml介绍?
wengyuli 2009-03-10
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 zgke 的回复:]
[code=HTML
<html xmlns:v="urn:schemas-microsoft-com:vml">
<body>
<v:Line from='10px,10px' to='20px,2px' id='Line1' strokecolor='red' style="Behavior: url(#default#VML);"> </v:Line>
<body>
</html>

[/code]
[/Quote]

不错的方法
zgke 2009-03-10
  • 打赏
  • 举报
回复
[code=HTML
<html xmlns:v="urn:schemas-microsoft-com:vml">
<body>
<v:Line from='10px,10px' to='20px,2px' id='Line1' strokecolor='red' style="Behavior: url(#default#VML);"></v:Line>
<body>
</html>

[/code]
wendy_fw 2009-03-10
  • 打赏
  • 举报
回复
直接在HTML 裏輸入 <hr/> 就可以了
xeon_pan 2009-03-10
  • 打赏
  • 举报
回复
GDI+ 动态输出个图片流,用 DrawLine?
zgke 2009-03-10
  • 打赏
  • 举报
回复
用vml把.处理起来比桌面要舒服
blue_summer 2009-03-10
  • 打赏
  • 举报
回复
<hr> 这个??
playzxw 2009-03-10
  • 打赏
  • 举报
回复
先生成个图片,在显示图片。就像网页验证码一样
介绍:使用 Silverlight 2.0(c#) 开发一个连连看游戏玩法:用鼠标左键选中卡片,如果选中的两卡片间的连线不多于 3 根直线,则选中的两卡片可消除思路 1、卡片初始排列算法:已知容器容量为 x, 不重复的卡片数量为 y, x >= y && x % 2 == 0, 首先在容器内随机排列卡片,然后取出容器内相同的卡片个数为奇数的集合(集合内成员数量必为偶数个),最后将该集合一刀切,将集合右半部分的卡片的依次复制到集合左半部分。以上算法保证了在一定随机率的基础上,不会出现相同的卡片个数为奇数的情况 2、无解算法和重排算法:在容器内存在的卡片中,两两计算是否存在可消路径,如果没有就是无解,需要重排。重排时,需要得到现存的卡片集合和卡片位置集合,在卡片集合中随机取卡片(取出一个,原集合就要移除这一个),然后依次放到卡片位置集合内,从而达到将现存卡片重新排列的目的 3、两点消去路径的算法以及取最优消去路径的算法:取玩家选的第一点的 x 轴方向和 y 轴方向上的所有无占位符的坐标集合(包括自己),名称分别为 x1s, y1s;取玩家选的第二点的 x 轴方向和 y 轴方向上的所有无占位符的坐标集合(包括自己),名称分别为 x2s, y2s。先在 x1s 和 x2s 中找 x 坐标相等的两点,然后找出该两点与玩家选的两点可组成一条连续的直线的集合,该集合就是可消路径的集合,之后同理再在 y1s 和 y2s 中找到可消路径的集合。两集合合并就是玩家选中的两点间的所有可消路径的集合,该集合为空则两点不可消,该集合内的最短路径则为最优消去路径,集合内的 4 点连接线则为消去路径的连接线 4、游戏使用MVVM(Model - View - ViewModel)模式开发【该源码由51aspx提供】

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧