Shapes library similar to PowerPoint - c#

I really like how 2D Shapes work in MS PowerPoint. I was wondering if there any library for C# .NET that would allow me to use same functionality with easy in my application.
I am looking for adding 2D shapes, re-sizing, moving, snapping two shapes to each other, group re-sizing, rotating, showing help lines when you snap two shapes together.
I tried to google and search here on stackexchange but came across few libraries that require a lot of manual work to get simple things working.
So my questions is: Is there any .NET library to be able include shapes functionality into my application with limited effort and short time.
Please share your experience if you have used any of the libraries.
Thanks in advance.

Related

HelixToolkit and 3d plotting

I searched for decent library, that allow plotting surfaces of revolution.
So I found HelixToolkit, that has not only convenient wpf controls, but also big lack of documentation.
I want to create two-sheeted hyperboloid that descibed by formula
but can't figure out what to use in mish-mash of functions and objects, that Helix delivers.
If you know another libraries/documentation or even solution to my problem, please, guide me.
https://github.com/helix-toolkit/helix-toolkit/tree/develop/Source/Examples/WPF/SurfaceDemo
Helixtoolkit has the dynamic surface 3d, maybe this is what you want.

3D image in c# using different images

I've different angle 2D images(images of one particular object), I want to merge all that three images and create one 3D Image.
How can I do that in Unity 3D?
The process you're looking for is called Photogrammetry. To get good quality models, you'll want more than 3 images. This process is very CPU intensive and takes a long time, you won't want this built into your Unity3D Game/App. You'll want to generate the models with external tools, then import them.
If you actually are looking for a C# way to do this, I only know of one opensource library working on this. Epicycle.Photogrammetry-cs.
If you want to manage the whole process of the conversion, check out this tutorial using only open source software.
This YouTube tutorial is easy to follow (I've done it myself), and also uses only free software.
If you're looking for a more polished, less technical solution, try ReMake by Autodesk
If you're looking for a completely hands off process, try 123D Catch by Autodesk

C++/C# path/vector drawing library (2D)

I'm looking for a toolkit / library which can help me drawing polygons, vectors and paths. Beside actually drawing the 2D elements, the library should also be able to draw handles to the base points of those elements, so I am able to move them by drag & drop. This means the lib also handles the picking routines (or at least allows me to define callbacks).
Please see the image below of a path containing single lines as well as cubic Bezier curves (including some handles and an enclosing rectangle of the full path):
example image of path including handles and enclosing rectangle
I'm not sure if there's such a library (in C++/C#). Haven't been able to find one yet. Am I stuck with drawing all the elements in this example graph by myself?
Thank you for reading!
Paule
You have too many demands. I used to use Qt, it's convenient. Using signal and slot to implement callback is very easy. Qpainter can draw many shapes, but i'am not sure it can meet your requirement. You can learn more about Qt, it has many demos to learn.
OpenGL satisfies all your requests, and implementing what you want seems not quite difficult.
To get started, you can refer to
http://www.lighthouse3d.com/tutorials/glut-tutorial/setup-basics/
Using GLUT, you can easily created OpenGL windows, create and draw figures.
Mouse and keyboard events also have callbacks, in which you can add your handler. Even if you don't want to use GLUT, there are numerous tutorials telling you how to get started with OpenGL.
Once you are familiar with basic OpenGL skills, there is also a tutorial on how to create something more complex, like Bezier curves, using OpenGL. Although this tutorial doesn't works exactly as you want, you can still add control points, and drag & drop using glut functions.
http://nehe.gamedev.net/tutorial/bezier_patches__fullscreen_fix/18003/

search for shapes in BMP image file

I have an image processing question, using C#.
Say I have some schematic diagrams in BMP format, the diagram contains component shapes which are connected to each other.
I wrote a simple program to detect square shapes in the diagram as one component, and record the location of it. However, the next level is to detect more complicated shapes like a few arcs joined together. Note that these shapes can be different sizes in the image. Does anyone know any good method of doing it? without downloading any library (this is my limitation now).
After detecting the shapes, I also need to record which shape is connected to which, so later on, I can redraw them. I have one week to do this, so thanks a lot for any help!!
I'm using C#.
Have a look at this paper. My understanding of their approach:
Detect edges
Detect corners by looking for perpendicular edges
Detect polygons by looking for groups of corners
Detect circles using Hough transform
This is a fairly difficult research problem. Even with a powerful computer vision library like OpenCV, implementing an effective solution within 1 week would be a demanding task.
Have you taken a look at using EmguCV? It is an open-source C# wrapper of OpenCV. It also has a shape detection sample you might interested in.
To answer an old post I had, I have done what I needed to do in 2 weeks time, it worked well. I actually ended up using different algorithms for different shapes. The algorithms are a bit self inventions, but a good method I want to mention is that get the histogram and then use projection on different axis helped a lot.

Where can I find, or how can I build, a cartoonizer for C#?

I am working on the development of a Massively Multiplayer Online Role Playing Game (MMORPG) in .NET using C# and Silverlight. One of the features that has been requested for this game is to allow players to upload their own avatars.
Rather than displaying the uploaded images in their raw forms, we want to convert the images to a cartoon form--in other words to cartoonize the image.
Several sites which can accomplish such a task are listed at http://www.hongkiat.com/blog/11-sites-to-create-cartoon-characters-of-yourself/
I realize that these sites are applying an image filter to create the cartoon image. Frankly, I have no reasonable idea what these cartoon image filter algorithms might look like or if there is anything already available in C# or .NET that I could use. If there are no libraries available, I am curious how difficult it would be to roll my own.
This is a minor game feature so I am not interested in devoting a week or more of coding time to implement this. However, if I can code up what I need within a day, then it is probably viable.
At this point, I am primarily looking for guidance as to
what is possible
what libraries are already available (preferably as open source)
where i may find additional information
any other advice or guidance you may be able to provide
Thank you in advance!
Apparently you apply a Gaussian Blur filter to the image. Then you sharpen the image. Perhaps the AForge libraries would help you out.
I've used code from the image processing lab on code project before with success. (update: here's the library it uses)
Christian Graus also has written a whole series on GDI image processing which I found useful (and has the effects listed above for filtering capabilities).

Categories

Resources