views:

251

answers:

5

I am looking for a component/library I can use in an ASP.NET application that will allow the users to drag and drop shapes into a drawing area, connect them using lines, add text boxes etc. Pretty much the same thing you can do in packages like Visio, Samrt Draw etc

Additional requirements: 1. Ability to save the final drawing 2. Export the drawing to common formats such as jpeg

A nice feature would be the ability to define new shapes/items that could be dropped into drawings e.g. say the user was frequenlty drawing room plans they may want to create shapes representing tables, sofas, boilers etc that they can use in the drawings.

A: 

How about using GDI+? (System.Drawing Namespace)

Brandi
this is a web application you can't run GDI+ on the user's browser !
Yassir
+1  A: 

From what i understand this application will run on the client browser so i would recommend that you use either Silverlight or flash

Yassir
I decided to use Silverlight to implement this application managed to get a first version completed quite quickly
Gary Joynes
+1  A: 

I would recommend using either Flash or silverlight to allow the users to play with shapes and drawing on the browser.

Once they have their stuff ready then use tools like imagemagick with ASP.net to either store it in the database in a blob or export to PDF/Jpeg etc.

Danish
+4  A: 

You obviously need a web-based client (like ActiveX/Flash/Java) to enable things like drawing objects or dragging them around. Of course DHTML/JavaScript is another option but I wouldn't take that road.

You might consider Silverlight/Flash but if you're not familiar with these platforms you might consider Processing , a lightweight and simple language which outputs java applets. I believe you can integrate processing applets with your Asp.NET application, just like the other alternatives mentioned in the other suggestions.

Please check and see if it works for you. http://processing.org/learning/

detay
+1  A: 

While not specifically geared towards ASP.NET, I have had success with Draw2D. It is a pure JavaScript implementation and works on a cross browser basis. I like it because it doesn't require Silverlight or Flash and has the sort of features that you are looking for, though I save the drawings internally within the application and don't really worry about printing them out.

You might have better luck with Silverlight if you are going ASP.NET, but I thought I would give you an alternative.

Kitson