ASP: могу ли я позволить пользователю рисовать линии в веб-форме - PullRequest
0 голосов
/ 13 октября 2011

есть ли способ запрограммировать в asp c #, чтобы пользователь мог рисовать фигуры (линии, прямоугольники) на странице Я работаю над проектом чертежа в asp c #.

Ответы [ 5 ]

0 голосов
/ 13 октября 2011

Попробуйте эту библиотеку JavaScript, которую вы добавляете на свою страницу и позволяете пользователю создавать фигуры и т. Д.

http://www.draw2d.org/draw2d/about

0 голосов
/ 13 октября 2011

возможно, будет проще рисовать на стороне клиента с элементом canvas, см. HTML5 Canvas

0 голосов
/ 13 октября 2011

Да, вы можете рисовать фигуры. Смотрите следующий код в качестве примера. Подробнее об этом ссылка также см. В этом пространстве имен

private void Page_Load(object sender, System.EventArgs e) 
{ 
        // Put user code to initialize the page here 
        Bitmap objBitmap = new Bitmap(500, 500); 
        Graphics objGraphics = Graphics.FromImage(objBitmap);  
        objGraphics.Clear(Color.White); 
        objGraphics.FillRectangle(new SolidBrush(Color.Black), 0, 0, 400, 1); 
        objBitmap.Save(Response.OutputStream, ImageFormat.Jpeg); 
}

EDIT:

Вы можете использовать Обработчик события Paint элемента управления (например, Image), чтобы нарисовать линию

0 голосов
/ 13 октября 2011

Пространство имен системы. Рисование обеспечивает доступ к базовой графической функции GDI +.В пространстве имен System.Drawing.Drawing2D, System.Drawing.Imaging и System.Drawing.Text .Net предоставляет более расширенные функциональные возможности.

using System.Drawing;
using System.Drawing.Imaging;
using System.Drawing.Text;  

Создание холста и заливка фона

Bitmap  objBitmap;  
Graphics  objGraphics; 

objBitmap  =  new  Bitmap(400,  440);  
objGraphics  =  Graphics.FromImage(objBitmap);   
objGraphics.Clear(Color.White);  

Нарисуйте пирог и заполните

Pen p=new Pen(Color.Yellow,0);
Rectangle rect=new Rectangle(10,10,280,280);
objGraphics.DrawEllipse(p,rect);

Brush b1=new SolidBrush(Color.Red);
Brush b2=new SolidBrush(Color.Green);
Brush b3=new SolidBrush(Color.Blue);
objGraphics.FillPie(b1, rect, 0f, 60f);
objGraphics.FillPie(b2, rect, 60f, 150f);
objGraphics.FillPie(b3, rect, 210f, 150f); 

Нарисуйте шрифт

FontFamily fontfml = new FontFamily(GenericFontFamilies.Serif);
Font font = new Font(fontfml, 16);
SolidBrush brush = new SolidBrush(Color.Blue);
objGraphics.DrawString("Drawing Graphics", font, brush, 70, 300); 

Экспорт и сохранение в изображение

objBitmap.Save(Response.OutputStream, ImageFormat.Gif);
objBitmap.Save(Server.MapPath("x.jpg"), ImageFormat.Jpeg); 

Окончание рисования

objBitmap.Dispose();
objGraphics.Dispose();

Вот ссылка: http://programmingdiscussions.blogspot.com/2010/07/aspnet-graphics-tutorial.html

http://www.developerfusion.com/article/2569/creating-images-on-the-fly-with-aspnet/

http://www.c -sharpcorner.com / UploadFile / steve_hall / Drawinglinechart02072007053420AM / Drawinglinechart.aspx

Надеюсь, это поможет.

0 голосов
/ 13 октября 2011

Да, вы можете генерировать на лету графику с использованием необходимости System.Drawing API. Вы также можете использовать стандарт SGV (масштабируемая векторная графика) - Создание гибких, облегченных изображений на основе XML для ASP.NET с использованием масштабируемой векторной графики

...