Click here to Skip to main content
14,830,046 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
I want to draw text, mark up and draw lines, rectangle, arrow marks on image. My application is windows based desktop application and it depends on .NET framework 3.5. User must be able to edit the image, draw text over image at run time. There should be controls to resize, change color, insert text within rectangle at the runtime.

I want to know what is best solutions like sdk (free or paid) , library, plugin or code available to achieve the functionality.

What I have tried:

We have used the Windows.Forms.Graphics class and tried to draw rectangle , text and other shapes. But, it is not quite intuitive. For ex. not able to see the rectangle as the user draws it. Only after completing able to see the rectangle.
Even if any code readily available also fine .
Updated 6-Nov-20 8:09am
Richard MacCutchan 6-Nov-20 7:29am
It is impossible to give a definitive answer to such a question. There are a number of graphics libraries available, and all have their good and bad points. The only way to decide is to study each one, try it, and see how easy it is to get the results that you want.

What you are trying to do is pretty complicated - there are a huge number of packages available which will let you do that, and which provide the important "layered storage" that you need to save it and then continue working later. This is different to a "image file" that C# apps can directly read because it holds text in one layer and image in a different one, so you can edit the text without affecting the image - JPG, PNG, Bitmap, etc. don't allow that, they draw directly onto the image and it can't be changed later.

In terms of tools that will do it, the simplest (and least useful) is Paint, buty there it Photoshop at the expensive end of the market and Gimp at the free end, with a huge range in between. I use PaintShop Pro which is relatively cheap and very full featured.

Including all this in your app would not be simple, not at all - you are very unlikely to find open source code or an assembly you can just "drop in" and it'll do what you want. Producing your own version would be a huge amount of work!

Decide what exactly you are trying to do, and then look at applications / API's / Assemblies / source based on that. But do remember that you are probably looking at several man years of effort to produce your own.
Take a look at:
GitHub - GroupDocs.Annotation for .NET examples, plugins and showcase projects[^]
Although it is on GitHub, it does not seem open-source however ...

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900