Are there any libraries out there (python, .net, c++, anything...) that can generate PDF libraries that also includes features like gradient shading?
iText can.
There are a few different types of gradient fills: linear, radial etc.
What kind of effect are you hoping to achieve?
Quick PDF Library supports only linear (axial) gradients:
http://www.quickpdflibrary.com/help/quickpdf/NewRGBAxialShader.php
PDFSharp http://www.pdfsharp.com/ seems capable. See example pdf:
Related
I'm a graphics noobie and need help understanding the capabilities of the various javascript 2D libraries. . .
What do I get out of Pixi.js that I don't get out of a canvas-based library such as Konva?
What do I get out of Konva.js that I don't get out of an HTML/SVG/CSS library such as D3.js?
All I understand at this point is that Pixi is a WebGL library, and so you get faster rendering via GPU. But, I don't know how to describe what Konva does / how it works.
Any help with lingo etc would be immensely appreciated!
It all depends on your use case. What exactly do you want to draw?
A game like canvas application with a lot of graphics, images, filters, etc? http://pixijs.com/ will do the work.
Data visualizations or charts? Take https://d3js.org/
CAD-like applications for drawing some shapes and image manipulations? Take https://konvajs.org/ or http://fabricjs.com/
There are many other similar libraries for every use case. If you are not sure - just make a small prototype with each framework. You will see what works better for you.
Assuming that the SVG is the standard for still vector images, there is an equivalent for animated vector-based images too ?
The problem I'm trying to solve can't be solved by pixel-based formats such as APNG or GIF, they don't scale at all on different displays, and they also get really really heavy pretty quick, vector images are what I need but I need a standard way to provide a file with an animated vector entities in it.
To be clear I'm not trying to animate a webpage or part of it, I'm asking for a filetype or standard that is good for just this task.
You can animate SVG graphics... they don't have to be static. That said, SVG is the only vector graphics format the web supports (natively) so I guess the answer is SVG! ;-)
The SVG specification includes SMIL as an animation mechanism. IE9/10/11 do not support SMIL, although other UAs do. There's a javascript library called fakesmile that can enable SMIL on UAs for which support is lacking.
There's also CSS animations which IE does support, although overall support for CSS animations is somewhat less complete in most UAs.
How can I take a vector produced by Adobe Illustrator and get the points required to reproduce the image in Open GL calls?
What I'm wanting to do is to take some of my 2 dimensional artwork, and directly produce it on my programs. This will allow me to support any resolution I might require, while still looking crisp, and probably save some memory as well. I just can't figure out how to make it happen. Ultimately, this will go towards Android programming.
OpenGL is not a very good API to draw 2D vector graphics illustrations. Those usually contain a lot of curved patches (Bezier and/or NURBS), which must be broken down into triangles first, before they can be drawn using OpenGL.
There's another API, called OpenVG has been specially crafted to support drawing 2D vector illustrations. There's OpenGL interaction supported by some OpenVG implementations. And some OpenVG implementations do use OpenGL as their backend.
Another option and the more viable at this time, is using a vector graphics drawing library, that uses OpenGL as backend. One of those libraries is Cairo, which also provides a reader for SVG files.
Adobe Illustrator (.ai) is a propriatary format, so I'd rather not use it. However Illustrator can export to SVG just fine, and Cairo does read and draw SVG filed generated by Illustrator just fine.
Use Inkscape's command line to --export-plain-svg on the Illustrator file. It's not a perfect conversion (particularly fonts) but it gets the job done.
Anyone know if Cairo has something similar to --export-plain-svg since Inkscape is based off of it and it's so low-level (faster)?
I would like to extract Color and Texture features from Training images for the purpose of automatic annotation . On Googling I found algorithms some algorithms.
Can somebody guide me to the specific tools or existing code for this task preferably in C++.
Thanks
OpenCV is a large computer vision library which has a C++ interface. It provides functions to calculate a large number of colour and texture features. Perhaps you should look at some of the tutorials to learn what it can do: http://docs.opencv.org/doc/tutorials/tutorials.html
Good luck!
In Windows, I am looking at generating professional graphs using any mainstream programming language (C#, VB.Net, Java, PERL, etc). The best free looking graphs I have found so far is Microsoft Chart Controls for .NET. What other graph controls/modules do you suggest?
Note: Added free to the requirements.
GLE is a scripting language designed for generating professional quality graphs and diagrams for publication. It uses LaTeX for typesetting, so including equations in your graphs is a snap and they look great. Christopher Bishop used GLE for all the diagrams in his textbook, "Pattern Recognition and Machine Learning," and let me tell you, they looked great. Open-source to boot!
First you write the GLE script and tell it to accept a text file as the graph input data. Then, you can generate the data set in whatever language you want, export as a text file, and call the GLE script to generate the graph.
More info from the website:
GLE (Graphics Layout Engine) is a graphics scripting language designed for creating publication quality graphs, plots, diagrams, figures and slides. GLE supports various graph types (function plots, histograms, bar graphs, scatter plots, contour lines, color maps, surface plots, ...) ... GLE's output formats include EPS, PS, PDF, JPEG, and PNG.
jFreeChart is [one of] the best solution[s] out there for Java. I totally recommend it.
Have you seen Zedgraph?. It is LGPL, but rather extensive.
There are dozens and dozens of commercial charting components out there. Personally, I like the DevExpress tools.
XtraCharts is really good, well documented and relatively affordable.