svg
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 179
svgl
svgl is a library that displays SVG documents using OpenGL, taking advantage of the GPU. more>>
svgl is a library that displays SVG documents using OpenGL, taking advantage of the GPU.
Rendering:
A lot of svg 1.0 features are implemented: simples shapes, path, gradient, clipping, viewBox, opacity, < use >, animations etc.
Fonts are handled by the glft companion library, which allows for autoscaling according to the current scale, and automatic choice between vectorized glyphs or textures based on freetype2 rendering.
Texturized fonts are antialiased by freetype, while every other drawings are FSAA by OpenGL.
Next step is optimization by using various techniques like display list, culling, and cache rendering into textures.
Interacting:
Picking is provided under 2 forms:
- returns the deepest SVG element (leaf) corresponding to the shape designated by the user
- returns the stack of SVG elements under the cursor, so that UI techniques like toolglasses (see screenshot) is easily implemented
PanAndZoom done right (according to me...) : since its fast and usable, we can really use it in an interface
Tansform so-called "consolidation" (concatenation of transform matrices) allows easy implementation of scale-independant DnD.
Programming:
We try to make the api as simple as possible, for creating, manipulating, changing style, loading etc.
See demos/tutorial to see how to code with svgl.
A (pre-alpha) python extension allows for rapid application development and easy integration in wxPython.
<<lessRendering:
A lot of svg 1.0 features are implemented: simples shapes, path, gradient, clipping, viewBox, opacity, < use >, animations etc.
Fonts are handled by the glft companion library, which allows for autoscaling according to the current scale, and automatic choice between vectorized glyphs or textures based on freetype2 rendering.
Texturized fonts are antialiased by freetype, while every other drawings are FSAA by OpenGL.
Next step is optimization by using various techniques like display list, culling, and cache rendering into textures.
Interacting:
Picking is provided under 2 forms:
- returns the deepest SVG element (leaf) corresponding to the shape designated by the user
- returns the stack of SVG elements under the cursor, so that UI techniques like toolglasses (see screenshot) is easily implemented
PanAndZoom done right (according to me...) : since its fast and usable, we can really use it in an interface
Tansform so-called "consolidation" (concatenation of transform matrices) allows easy implementation of scale-independant DnD.
Programming:
We try to make the api as simple as possible, for creating, manipulating, changing style, loading etc.
See demos/tutorial to see how to code with svgl.
A (pre-alpha) python extension allows for rapid application development and easy integration in wxPython.
Download (MB)
Added: 2006-02-08 License: LGPL (GNU Lesser General Public License) Price:
771 downloads
SVG::DOM 2.33
SVG::DOM is a Perl library of DOM (Document Object Model) methods for SVG objects. more>>
SVG::DOM is a Perl library with DOM (Document Object Model) methods for SVG objects.
SVG::DOM provides a selection of methods for accessing and manipulating SVG elements through DOM-like methods such as getElements, getChildren, getNextSibling and so on.
Currently only methods that provide read operations are supported. Methods to manipulate SVG elements will be added in a future release.
SYNOPSIS
my $svg=new SVG(id=>"svg_dom_synopsis", width=>"100", height=>"100");
my %attributes=$svg->getAttributes;
my $group=$svg->group(id=>"group_1");
my $name=$group->getElementName;
my $id=$group->getElementID;
$group->circle(id=>"circle_1", cx=>20, cy=>20, r=>5, fill=>"red");
my $rect=$group->rect(id=>"rect_1", x=>10, y=>10, width=>20, height=>30);
my $width=$rect->getAttribute("width");
my $has_children=$group->hasChildren();
my @children=$group->getChildren();
my $kid=$group->getFirstChild();
do {
print $kid->xmlify();
} while ($kid=$kid->getNextSibling);
my @ancestors=$rect->getParents();
my $is_ancestor=$group->isAncestor($rect);
my $is_descendant=$rect->isDescendant($svg);
my @rectangles=$svg->getElements("rect");
my $allelements_arrayref=$svg->getElements();
...and so on...
<<lessSVG::DOM provides a selection of methods for accessing and manipulating SVG elements through DOM-like methods such as getElements, getChildren, getNextSibling and so on.
Currently only methods that provide read operations are supported. Methods to manipulate SVG elements will be added in a future release.
SYNOPSIS
my $svg=new SVG(id=>"svg_dom_synopsis", width=>"100", height=>"100");
my %attributes=$svg->getAttributes;
my $group=$svg->group(id=>"group_1");
my $name=$group->getElementName;
my $id=$group->getElementID;
$group->circle(id=>"circle_1", cx=>20, cy=>20, r=>5, fill=>"red");
my $rect=$group->rect(id=>"rect_1", x=>10, y=>10, width=>20, height=>30);
my $width=$rect->getAttribute("width");
my $has_children=$group->hasChildren();
my @children=$group->getChildren();
my $kid=$group->getFirstChild();
do {
print $kid->xmlify();
} while ($kid=$kid->getNextSibling);
my @ancestors=$rect->getParents();
my $is_ancestor=$group->isAncestor($rect);
my $is_descendant=$rect->isDescendant($svg);
my @rectangles=$svg->getElements("rect");
my $allelements_arrayref=$svg->getElements();
...and so on...
Download (0.050MB)
Added: 2007-04-23 License: Perl Artistic License Price:
915 downloads
SVGpage 0.4
SVGpage is a pyGTK application to view and convert to and from vector (SVG) graphics. more>>
SVGpage project is a pyGTK application to view and convert to and from vector (SVG) graphics. In addition to SVG files the application is able to open PNG, GIF, JPG (including Exif), BMP and XPM. It can save as SVG, PNG or JPG.
If you are looking for an SVG editor capable of creating fine, crisp curves and gradients, youve got the wrong program. For simple graphics SVGpage can convert to SVG and render something very close.
For involved images, like pictures, you wind up with a PAINTERLY EFFECT. This effect can be very distinctive and attractive and is sought after by many. Sort of a good, single-click "GIMPressionist." So if thats what youre looking for, youve found it.
SVGpage can also take your SVG images and convert them to a PNG or a JPG. Even resize them. It uses Bilinear Interpolation and does an excellent job.
Enhancements:
- Fixes linking eror(wrong version in symlink) for the binary running on Ubuntu.
- Binary no longer startd from a script, therefore the "what do you want to do with this executable text file" dialog on Ubuntu is bypassed.
- UI layout change to accommodate window dressings on Ubuntu and other distros. All options now fit correctly.
<<lessIf you are looking for an SVG editor capable of creating fine, crisp curves and gradients, youve got the wrong program. For simple graphics SVGpage can convert to SVG and render something very close.
For involved images, like pictures, you wind up with a PAINTERLY EFFECT. This effect can be very distinctive and attractive and is sought after by many. Sort of a good, single-click "GIMPressionist." So if thats what youre looking for, youve found it.
SVGpage can also take your SVG images and convert them to a PNG or a JPG. Even resize them. It uses Bilinear Interpolation and does an excellent job.
Enhancements:
- Fixes linking eror(wrong version in symlink) for the binary running on Ubuntu.
- Binary no longer startd from a script, therefore the "what do you want to do with this executable text file" dialog on Ubuntu is bypassed.
- UI layout change to accommodate window dressings on Ubuntu and other distros. All options now fit correctly.
Download (2.0MB)
Added: 2006-05-12 License: GPL (GNU General Public License) Price:
1263 downloads
wad2svg 0.1
wad2svg is a tool which draws a map of a Doom level as an SVG graphic. more>>
wad2svg project is a tool which draws a map of a Doom level as an SVG graphic.
A Doom level can be represented by a two-dimensional top-down map, such as that shown on the in-game automap display. Various standalone utilities exist for drawing a map of a Doom level. However no direct utility for creating an SVG map of a Doom level existed, to my knowledge, so I wrote one.
SVG stands for Scalable Vector Graphics, the new standard from the W3C for vector graphics on the Internet. SVG ties in with other web standards, so for instance it would be possible to start with a SVG graphic of a Doom level, and create hyperlinked parts of the image to screenshots (wad2svg doesnt make use of any of this cool stuff itself, what you use the images for is down to you).
wad2svg is designed to be easily extensible to allow a wide range of different level components to be drawn, and command line parameters control which are drawn and options to use.
Main features:
- Drawing walls and openings - this is the default, similar to Dooms automap
- Drawing the nodes - the subdivisions of the level that Doom uses for rendering. Useful for me because I maintain a node building utility, and might be useful to people who have really big levels with visplanes problems.
<<lessA Doom level can be represented by a two-dimensional top-down map, such as that shown on the in-game automap display. Various standalone utilities exist for drawing a map of a Doom level. However no direct utility for creating an SVG map of a Doom level existed, to my knowledge, so I wrote one.
SVG stands for Scalable Vector Graphics, the new standard from the W3C for vector graphics on the Internet. SVG ties in with other web standards, so for instance it would be possible to start with a SVG graphic of a Doom level, and create hyperlinked parts of the image to screenshots (wad2svg doesnt make use of any of this cool stuff itself, what you use the images for is down to you).
wad2svg is designed to be easily extensible to allow a wide range of different level components to be drawn, and command line parameters control which are drawn and options to use.
Main features:
- Drawing walls and openings - this is the default, similar to Dooms automap
- Drawing the nodes - the subdivisions of the level that Doom uses for rendering. Useful for me because I maintain a node building utility, and might be useful to people who have really big levels with visplanes problems.
Download (0.006MB)
Added: 2006-12-12 License: BSD License Price:
1047 downloads
uml2svg 0.18
uml2svg is an XSLT-based tool for converting XMI-compliant UML Diagrams into SVG. more>>
uml2svg is an XSLT-based tool for converting XMI-compliant UML Diagrams into SVG.
We started the developing uml2svg with six main goals in mind:
- Standard conformance
- Good Documentation
- Modularity
- Extensibility
- Comprehensible SVG
- Multiple diagrams per XMI-file
SVG is a standard language for describing two-dimensional vector graphics in XML. As the open SVG standard gains in popularity and gradually replaces proprietary formats for vectorial graphics, the support provided by the Web browsers is getting better.
Plugins to display SVG exist for most browsers and it is most likely that the next generation of Web browser will provide built-in support for SVG. When that happens there will be no better way to distribute vector graphics on the web. Furthermore, not only web browsers can process SVG in a meaningful way; in fact that is just the tip of the iceberg. SVG can be easily read in, processed, and then transformed into many other formats, being well suited for both text and graphic tools as well as for web agents and screen readers.
UML diagrams are composed of lines, polygons, ellipses and text labels, so they are inherently vectorial. However, the SVG is not very well suited for direct use by UML tools. While some of them can in fact export UML diagrams directly to SVG, they do that by discarding all the information about structure, and converting everything into a shape. Moreover, some tools use the screen-capture function provided by their environment (such as java2d) and then they apply a filter to generate SVG out of the "screenshot".
What comes out of that is a pile of meaningless information, which by accident happens to draw a gorgeous diagram. How will a screen reader interpret such a file? How will a web crawler be able to index it? How will a web agent process it in a meaningful way? A program needs the semantic information that the humans can extract just by looking at a picture. For a machine, an obfuscated SVG file is not easier to process than a PNG file or any other image.
Although for humans it is better to be able to scale the image, for a program this is irrelevant. Programs need a way to "understand" the semantics of the UML models to be able to process and interchange them in a meaningfull way. This was the main idea behind the XML Metadata Interchange (XMI), an OMG specification for model interchange. And probably the best use that XMI has found so far is the exchange of UML models between different modeling tools. And while the XMI provides a standard way for tools to represent models as XML documents, it is still limited to the model elements only.
With the introduction of the UML 2.0 Diagram Interchange Specification as part of the upcoming UML 2.0 standard, it will become possible for tools to exchange the models together with the layout of the diagrams. We think that, once this specification appears, XMI will be used averywhere. Not only will the tools be able to exchange diagrams, but could even represent them internaly as DOM trees. Have you ever considered drawing your UML diagrams online, using only a web browser? This could be done even now by using a custom SVG syntax for the DOM tree, but a solution based on XMI could do even better and be a standard at the same time.
Therefore, we believe that with the advent of UML 2.0 and the increase in the use of SVG, the need for transformations between XMI and SVG will be great. Nevertheless when the uml2svg project was started, there was hardly any good open-source solution to convert XMI diagams into SVG.
The UML 2.0 Diagram Interchange Adopted Specification in its current incipient form references a set of XSL transformations. Although the standard draft covers them to a large extent, the link is actually broken (you can try for yourself). It has been broken for more than a year and most likely it will stay like that forever.
The personal webpage of Professor Mario Jeckle provides an online transformation service capable of dynamically generating SVG from XMI-compliant XML files. The XSL files accomplishing the transformations are also available on that website. These transformations are monolithic and not well documented (the only documentation is in the code, and it is generally written in German). With the tragic accident that took the life of Professor Jeckle, the transformations have no longer been maintained.
Finally, the STZ-IDA research center in Karlsruhe had to convert UML diagrams to SVG, as part of one of their projects. The XSLT stylesheet they created for this purpose was named xmi2svg and is available under the terms of the MIT license. At the time we started work on uml2svg the only type of diagrams supported was class diagrams.
Recently the package reached version 0.2 and it supports more diagram types, without major changes in the code (the opposite of what we were expecting). Andreas Junghans, the author of xmi2svg, provided us with a lot of insightful hints which helped us eliminate many glitches in uml2svg. It looks that the development of uml2svg and xmi2svg will continue in parallel, at least for a while. The good thing about this is that the two (quite different) implementations prove each others validity and the features tend to propagate freely from one side to the other. However, this comes with the prize of having to maintain two different code-trees and possibly confusing some users.
We did not like the two existing solutions because they were:
incomplete - just prototypes, not well suited for production environment
monolithic - hard to maintain and extend
not documented - hard to understand
At first sight, we thought we could find a way to improve one of the existing solutions and just add the features we needed. However, we slowly came to the conclusion that it would be better if we started anew. There are things one can fix in a project, but that does not include what we thought is was bad design. The fact that the two implementations presented above are open source helped us get quickly on the way with our own project.
Enhancements:
- Two annoying bugs were fixed.
- The site and documentation were updated.
<<lessWe started the developing uml2svg with six main goals in mind:
- Standard conformance
- Good Documentation
- Modularity
- Extensibility
- Comprehensible SVG
- Multiple diagrams per XMI-file
SVG is a standard language for describing two-dimensional vector graphics in XML. As the open SVG standard gains in popularity and gradually replaces proprietary formats for vectorial graphics, the support provided by the Web browsers is getting better.
Plugins to display SVG exist for most browsers and it is most likely that the next generation of Web browser will provide built-in support for SVG. When that happens there will be no better way to distribute vector graphics on the web. Furthermore, not only web browsers can process SVG in a meaningful way; in fact that is just the tip of the iceberg. SVG can be easily read in, processed, and then transformed into many other formats, being well suited for both text and graphic tools as well as for web agents and screen readers.
UML diagrams are composed of lines, polygons, ellipses and text labels, so they are inherently vectorial. However, the SVG is not very well suited for direct use by UML tools. While some of them can in fact export UML diagrams directly to SVG, they do that by discarding all the information about structure, and converting everything into a shape. Moreover, some tools use the screen-capture function provided by their environment (such as java2d) and then they apply a filter to generate SVG out of the "screenshot".
What comes out of that is a pile of meaningless information, which by accident happens to draw a gorgeous diagram. How will a screen reader interpret such a file? How will a web crawler be able to index it? How will a web agent process it in a meaningful way? A program needs the semantic information that the humans can extract just by looking at a picture. For a machine, an obfuscated SVG file is not easier to process than a PNG file or any other image.
Although for humans it is better to be able to scale the image, for a program this is irrelevant. Programs need a way to "understand" the semantics of the UML models to be able to process and interchange them in a meaningfull way. This was the main idea behind the XML Metadata Interchange (XMI), an OMG specification for model interchange. And probably the best use that XMI has found so far is the exchange of UML models between different modeling tools. And while the XMI provides a standard way for tools to represent models as XML documents, it is still limited to the model elements only.
With the introduction of the UML 2.0 Diagram Interchange Specification as part of the upcoming UML 2.0 standard, it will become possible for tools to exchange the models together with the layout of the diagrams. We think that, once this specification appears, XMI will be used averywhere. Not only will the tools be able to exchange diagrams, but could even represent them internaly as DOM trees. Have you ever considered drawing your UML diagrams online, using only a web browser? This could be done even now by using a custom SVG syntax for the DOM tree, but a solution based on XMI could do even better and be a standard at the same time.
Therefore, we believe that with the advent of UML 2.0 and the increase in the use of SVG, the need for transformations between XMI and SVG will be great. Nevertheless when the uml2svg project was started, there was hardly any good open-source solution to convert XMI diagams into SVG.
The UML 2.0 Diagram Interchange Adopted Specification in its current incipient form references a set of XSL transformations. Although the standard draft covers them to a large extent, the link is actually broken (you can try for yourself). It has been broken for more than a year and most likely it will stay like that forever.
The personal webpage of Professor Mario Jeckle provides an online transformation service capable of dynamically generating SVG from XMI-compliant XML files. The XSL files accomplishing the transformations are also available on that website. These transformations are monolithic and not well documented (the only documentation is in the code, and it is generally written in German). With the tragic accident that took the life of Professor Jeckle, the transformations have no longer been maintained.
Finally, the STZ-IDA research center in Karlsruhe had to convert UML diagrams to SVG, as part of one of their projects. The XSLT stylesheet they created for this purpose was named xmi2svg and is available under the terms of the MIT license. At the time we started work on uml2svg the only type of diagrams supported was class diagrams.
Recently the package reached version 0.2 and it supports more diagram types, without major changes in the code (the opposite of what we were expecting). Andreas Junghans, the author of xmi2svg, provided us with a lot of insightful hints which helped us eliminate many glitches in uml2svg. It looks that the development of uml2svg and xmi2svg will continue in parallel, at least for a while. The good thing about this is that the two (quite different) implementations prove each others validity and the features tend to propagate freely from one side to the other. However, this comes with the prize of having to maintain two different code-trees and possibly confusing some users.
We did not like the two existing solutions because they were:
incomplete - just prototypes, not well suited for production environment
monolithic - hard to maintain and extend
not documented - hard to understand
At first sight, we thought we could find a way to improve one of the existing solutions and just add the features we needed. However, we slowly came to the conclusion that it would be better if we started anew. There are things one can fix in a project, but that does not include what we thought is was bad design. The fact that the two implementations presented above are open source helped us get quickly on the way with our own project.
Enhancements:
- Two annoying bugs were fixed.
- The site and documentation were updated.
Download (MB)
Added: 2007-02-18 License: LGPL (GNU Lesser General Public License) Price:
981 downloads
SVG::Graph 0.01
SVG::Graph is a Perl module to visualize your data in Scalable Vector Graphics (SVG) format. more>>
SVG::Graph is a Perl module to visualize your data in Scalable Vector Graphics (SVG) format.
SYNOPSIS
use SVG::Graph;
use SVG::Graph::Data;
use SVG::Graph::Data::Datum;
#create a new SVG document to plot in...
my $graph = SVG::Graph->new(width=>600,height=>600,margin=>30);
#and create a frame to hold the data/glyphs
my $frame = $graph->add_frame;
#lets plot y = x^2
my @data = map {SVG::Graph::Data::Datum->new(x=>$_,y=>$_^2)}
(1,2,3,4,5);
my $data = SVG::Graph::Data->new(data => @data);
#put the xy data into the frame
$frame->add_data($data);
#add some glyphs to apply to the data in the frame
$frame->add_glyph(axis, #add an axis glyph
x_absolute_ticks => 1, #with ticks every one
#unit on the x axis
y_absolute_ticks => 1, #and ticks every one
#unit on the y axis
stroke => black, #draw the axis black
stroke-width => 2, #and 2px thick
);
$frame->add_glyph(scatter, #add a scatterplot glyph
stroke => red, #the dots will be outlined
#in red,
fill => red, #filled red,
fill-opacity => 0.5, #and 50% opaque
);
#print the graphic
print $graph->draw;
SVG::Graph is a suite of perl modules for plotting data. SVG::Graph currently supports plots of one-, two- and three-dimensional data, as well as N-ary rooted trees. Data may be represented as:
Glyph Name Dimensionality supported
1d 2d 3d tree
--------------------------------------------------------
Axis x
Bar Graph x
Bubble Plot x
Heatmap Graph x
Line Graph x
Pie Graph x
Scatter Plot x
Spline Graph x
Tree x
SVG::Graph 0.01 is a pre-alpha release. Keep in mind that many of the glyphs are not very robust.
<<lessSYNOPSIS
use SVG::Graph;
use SVG::Graph::Data;
use SVG::Graph::Data::Datum;
#create a new SVG document to plot in...
my $graph = SVG::Graph->new(width=>600,height=>600,margin=>30);
#and create a frame to hold the data/glyphs
my $frame = $graph->add_frame;
#lets plot y = x^2
my @data = map {SVG::Graph::Data::Datum->new(x=>$_,y=>$_^2)}
(1,2,3,4,5);
my $data = SVG::Graph::Data->new(data => @data);
#put the xy data into the frame
$frame->add_data($data);
#add some glyphs to apply to the data in the frame
$frame->add_glyph(axis, #add an axis glyph
x_absolute_ticks => 1, #with ticks every one
#unit on the x axis
y_absolute_ticks => 1, #and ticks every one
#unit on the y axis
stroke => black, #draw the axis black
stroke-width => 2, #and 2px thick
);
$frame->add_glyph(scatter, #add a scatterplot glyph
stroke => red, #the dots will be outlined
#in red,
fill => red, #filled red,
fill-opacity => 0.5, #and 50% opaque
);
#print the graphic
print $graph->draw;
SVG::Graph is a suite of perl modules for plotting data. SVG::Graph currently supports plots of one-, two- and three-dimensional data, as well as N-ary rooted trees. Data may be represented as:
Glyph Name Dimensionality supported
1d 2d 3d tree
--------------------------------------------------------
Axis x
Bar Graph x
Bubble Plot x
Heatmap Graph x
Line Graph x
Pie Graph x
Scatter Plot x
Spline Graph x
Tree x
SVG::Graph 0.01 is a pre-alpha release. Keep in mind that many of the glyphs are not very robust.
Download (0.086MB)
Added: 2006-08-29 License: Perl Artistic License Price:
1155 downloads
SVG Icons 0.3.0
The SVG Icons project provides SVG icon themes for desktop environments, including KDE and GNOME. more>>
The SVG Icons project provides SVG icon themes for desktop environments, including KDE and GNOME. They provide high rendering quality due to anti-aliasing, and reduce the amount of disk space required.
SVG Icons project has a goal to provide Open-Source reference implementation of SVG icon themes for leading Linux and UNIX Desktop Environments, in particular (but not limited to) KDE3 and GNOME2 Desktop environments.
SVG implementation for icons and other User Interface elements provides better rendering quality (due to extensive usage of anti-aliasing), reduces amount of disk space used, and decreases download time for icon themes over the web.
Developing icons in SVG also dramatically reduces development cycle, and allows to deliver results quickly, in prompted timeframe.
<<lessSVG Icons project has a goal to provide Open-Source reference implementation of SVG icon themes for leading Linux and UNIX Desktop Environments, in particular (but not limited to) KDE3 and GNOME2 Desktop environments.
SVG implementation for icons and other User Interface elements provides better rendering quality (due to extensive usage of anti-aliasing), reduces amount of disk space used, and decreases download time for icon themes over the web.
Developing icons in SVG also dramatically reduces development cycle, and allows to deliver results quickly, in prompted timeframe.
Download (4.3MB)
Added: 2005-04-25 License: BSD License Price:
960 downloads
SVG-cards 2.0.1
SVG-cards is a set of playing cards made from pure SVG with all kings, queens, jacks, numbers, jokers, and backs of cards. more>>
SVG-cards is a set of playing cards made from pure SVG with all kings, queens, jacks, numbers, jokers, and backs of cards.
You can use SVG-cards everywhere you like : Web pages, games, the GNOME desktop, the KDE desktop, and so on...
You can print them on your color printer and make real cards or T-shirts.
The kings, queens and jacks are based on the french representation, because I find them beautiful. You can access to each either by rendering the file into a pixmap and clipping each card or by using their name with a DOM interface. All cards are inside a SVG group.
Example :
the king of spade is inside this group :
< g id="king_spade" >
...
< /g >
Names are the following :
black_joker
red_joker
back
{king,queen,jack}_{club,diamond,heart,spade}
{1,2,3,4,5,6,7,8,9,10}_{club,diamond,heart,spade}
Examples :
- the ace of club is 1_club
- the queen of diamond is queen_diamond
Enhancements:
- A bug that prevented SVG cards from being displayed in Firefox and Adobe Illustrator was fixed.
<<lessYou can use SVG-cards everywhere you like : Web pages, games, the GNOME desktop, the KDE desktop, and so on...
You can print them on your color printer and make real cards or T-shirts.
The kings, queens and jacks are based on the french representation, because I find them beautiful. You can access to each either by rendering the file into a pixmap and clipping each card or by using their name with a DOM interface. All cards are inside a SVG group.
Example :
the king of spade is inside this group :
< g id="king_spade" >
...
< /g >
Names are the following :
black_joker
red_joker
back
{king,queen,jack}_{club,diamond,heart,spade}
{1,2,3,4,5,6,7,8,9,10}_{club,diamond,heart,spade}
Examples :
- the ace of club is 1_club
- the queen of diamond is queen_diamond
Enhancements:
- A bug that prevented SVG cards from being displayed in Firefox and Adobe Illustrator was fixed.
Download (0.34MB)
Added: 2006-06-30 License: LGPL (GNU Lesser General Public License) Price:
1219 downloads
SVGSlice 0.13
SVGSlice is a simple tool which generates chopped up images from Inkscape SVG drawings. more>>
SVGSlice application can generate chopped up images from Inkscape SVG drawings.
To figure out where to cut, SVGSlice can use Inkscapes built in guides (for simpler, grid-like cuts), or it can use a specially named "slices" layer that contains rectangles that mark areas to slice.
Demo files showing both approaches are included.
<<lessTo figure out where to cut, SVGSlice can use Inkscapes built in guides (for simpler, grid-like cuts), or it can use a specially named "slices" layer that contains rectangles that mark areas to slice.
Demo files showing both approaches are included.
Download (0.005MB)
Added: 2006-04-17 License: GPL (GNU General Public License) Price:
1288 downloads
SVG::Parser 1.01
SVG::Parser is a Perl module with XML Parser for SVG documents. more>>
SVG::Parser is a Perl module with XML Parser for SVG documents.
SYNOPSIS
#!/usr/bin/perl -w
use strict;
use SVG::Parser;
die "Usage: $0 n" unless @ARGV;
my $xml;
{
local $/=undef;
$xml=;
}
my $parser=new SVG::Parser(-debug => 1);
my $svg=$parser->parse($xml);
print $svg->xmlify;
and:
#!/usr/bin/perl -w
use strict;
use SVG::Parser qw(SAX=XML::LibXML::Parser::SAX Expat SAX);
die "Usage: $0 n" unless @ARGV;
my $svg=SVG::Parser->new()->parsefile($ARGV[0]);
print $svg->xmlify;
SVG::Parser is an XML parser for SVG Documents. It takes XML as input and produces an SVG object as its output.
SVG::Parser supports both XML::SAX and XML::Parser (Expat) parsers, with SAX preferred by default. Only one of these needs to be installed for SVG::Parser to function.
A list of preferred parsers may be specified in the import list - SVG::Parser will use the first parser that successfully loads. Some basic measures are taken to provide cross-compatability. Applications requiring more advanced parser features should use the relevant parser module directly; see SVG::Parser::Expat and SVG::Parser::SAX
<<lessSYNOPSIS
#!/usr/bin/perl -w
use strict;
use SVG::Parser;
die "Usage: $0 n" unless @ARGV;
my $xml;
{
local $/=undef;
$xml=;
}
my $parser=new SVG::Parser(-debug => 1);
my $svg=$parser->parse($xml);
print $svg->xmlify;
and:
#!/usr/bin/perl -w
use strict;
use SVG::Parser qw(SAX=XML::LibXML::Parser::SAX Expat SAX);
die "Usage: $0 n" unless @ARGV;
my $svg=SVG::Parser->new()->parsefile($ARGV[0]);
print $svg->xmlify;
SVG::Parser is an XML parser for SVG Documents. It takes XML as input and produces an SVG object as its output.
SVG::Parser supports both XML::SAX and XML::Parser (Expat) parsers, with SAX preferred by default. Only one of these needs to be installed for SVG::Parser to function.
A list of preferred parsers may be specified in the import list - SVG::Parser will use the first parser that successfully loads. Some basic measures are taken to provide cross-compatability. Applications requiring more advanced parser features should use the relevant parser module directly; see SVG::Parser::Expat and SVG::Parser::SAX
Download (0.014MB)
Added: 2006-09-20 License: Perl Artistic License Price:
1131 downloads
SVGGraph 0.07
SVGGraph is a Perl extension for creating SVG Graphs / Diagrams / Charts / Plots. more>>
SVGGraph is a Perl extension for creating SVG Graphs / Diagrams / Charts / Plots.
SYNOPSIS
use SVGGraph;
my @a = (1, 2, 3, 4);
my @b = (3, 4, 3.5, 6.33);
print "Content-type: image/svg-xmlnn";
my $SVGGraph = new SVGGraph;
print SVGGraph->CreateGraph(
{title => Financial Results Q1 2002},
[@a, @b, Staplers, red]
);
This module converts sets of arrays with coordinates into graphs, much like GNUplot would. It creates the graphs in the SVG (Scalable Vector Graphics) format. It has two styles, verticalbars and spline. It is designed to be light-weight.
If your internet browser cannot display SVG, try downloading a plugin at adobe.com.
EXAMPLES
For examples see: http://pearlshed.nl/svggraph/1.png and http://pearlshed.nl/svggraph/2.png
Long code example:
#!/usr/bin/perl -w -I.
use strict;
use SVGGraph;
### Array with x-values
my @a = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20);
### Arrays with y-values
my @b = (-5, 2, 1, 5, 8, 8, 9, 5, 4, 10, 2, 1, 5, 8, 8, 9, 5, 4, 10, 5);
my @c = (6, -4, 2, 1, 5, 8, 8, 9, 5, 4, 10, 2, 1, 5, 8, 8, 9, 5, 4, 10);
my @d = (1, 2, 3, 4, 9, 8, 7, 6, 5, 12, 30, 23, 12, 17, 13, 23, 12, 10, 20, 11);
my @e = (3, 1, 2, -3, -4, -9, -8, -7, 6, 5, 12, 30, 23, 12, 17, 13, 23, 12, 10, 20);
### Initialise
my $SVGGraph = new SVGGraph;
### Print the elusive content-type so the browser knows what mime type to expect
print "Content-type: image/svg-xmlnn";
### Print the graph
print $SVGGraph->CreateGraph( {
graphtype => verticalbars, ### verticalbars or spline
imageheight => 300, ### The total height of the whole svg image
barwidth => 8, ### Width of the bar or dot in pixels
horiunitdistance => 20, ### This is the distance in pixels between 1 x-unit
title => Financial Results Q1 2002,
titlestyle => font-size:24;fill:#FF0000;,
xlabel => Week,
xlabelstyle => font-size:16;fill:darkblue,
ylabel => Revenue (x1000 USD),
ylabelstyle => font-size:16;fill:brown,
legendoffset => 10, 10 ### In pixels from top left corner
},
[@a, @b, Bananas, #FF0000],
[@a, @c, Apples, #006699],
[@a, @d, Strawberries, #FF9933],
[@a, @e, Melons, green]
);
<<lessSYNOPSIS
use SVGGraph;
my @a = (1, 2, 3, 4);
my @b = (3, 4, 3.5, 6.33);
print "Content-type: image/svg-xmlnn";
my $SVGGraph = new SVGGraph;
print SVGGraph->CreateGraph(
{title => Financial Results Q1 2002},
[@a, @b, Staplers, red]
);
This module converts sets of arrays with coordinates into graphs, much like GNUplot would. It creates the graphs in the SVG (Scalable Vector Graphics) format. It has two styles, verticalbars and spline. It is designed to be light-weight.
If your internet browser cannot display SVG, try downloading a plugin at adobe.com.
EXAMPLES
For examples see: http://pearlshed.nl/svggraph/1.png and http://pearlshed.nl/svggraph/2.png
Long code example:
#!/usr/bin/perl -w -I.
use strict;
use SVGGraph;
### Array with x-values
my @a = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20);
### Arrays with y-values
my @b = (-5, 2, 1, 5, 8, 8, 9, 5, 4, 10, 2, 1, 5, 8, 8, 9, 5, 4, 10, 5);
my @c = (6, -4, 2, 1, 5, 8, 8, 9, 5, 4, 10, 2, 1, 5, 8, 8, 9, 5, 4, 10);
my @d = (1, 2, 3, 4, 9, 8, 7, 6, 5, 12, 30, 23, 12, 17, 13, 23, 12, 10, 20, 11);
my @e = (3, 1, 2, -3, -4, -9, -8, -7, 6, 5, 12, 30, 23, 12, 17, 13, 23, 12, 10, 20);
### Initialise
my $SVGGraph = new SVGGraph;
### Print the elusive content-type so the browser knows what mime type to expect
print "Content-type: image/svg-xmlnn";
### Print the graph
print $SVGGraph->CreateGraph( {
graphtype => verticalbars, ### verticalbars or spline
imageheight => 300, ### The total height of the whole svg image
barwidth => 8, ### Width of the bar or dot in pixels
horiunitdistance => 20, ### This is the distance in pixels between 1 x-unit
title => Financial Results Q1 2002,
titlestyle => font-size:24;fill:#FF0000;,
xlabel => Week,
xlabelstyle => font-size:16;fill:darkblue,
ylabel => Revenue (x1000 USD),
ylabelstyle => font-size:16;fill:brown,
legendoffset => 10, 10 ### In pixels from top left corner
},
[@a, @b, Bananas, #FF0000],
[@a, @c, Apples, #006699],
[@a, @d, Strawberries, #FF9933],
[@a, @e, Melons, green]
);
Download (0.007MB)
Added: 2007-07-26 License: Perl Artistic License Price:
821 downloads
SVG::Element 2.33
SVG::Element is a Perl module to generate the element bits for SVG.pm. more>>
SVG::Element is a Perl module to generate the element bits for SVG.pm.
SVG.pm makes it possible to generate fully-functional SVG images in perl.
100% of the SVG tags are supported, and any new arbitrary element tag can be
added by users by declaring it.
***THERE ARE FIVE WAYS TO IMPLEMENT SVG MODULE IN PERL***
1/ Systems with CPAN support (all Unix/Linux/BSD/Mac):
-----------------------------------------------------
Install the new distribution via the Perl CPAN module:
In a shell:
/home/somewhere% perl -MCPAN -e"install SVG"
2/ (WIN) install Perl from Active State or equivalent:
-----------------------------------------------------
Make sure you already have perl or get it here: http://www.activestate.com
On the command line:
C:> ppm
PPM> set repository tmp http://roasp.com/PPM/SVG/
PPM> install SVG
PPM> quit
C:>
3/ Use Source RPMs.
Download the source RPM of your choice.
In a shell:
/hom/somewhere/% rpm -ihv SVG-source-rpm-name
You may be prompted for the root password
4/ The hard way (requires make or nmake, tar, gunzip, and gcc):
---------------------------------------------------------------
This method was tested in DOS, Windows, AS400, Linux, Unix, BSD, Mac.
Hard-headed users can directly get the distribution from
http://www.roasp.com/PPM/SVG/SVG-2.27.tar.gz or
http://www.roasp.com/PPM/SVG/ .
First download the source.
Then, in a shell:
/home/somewhere% gunzip SVG-2.27.tar.gz
/home/somewhere% tar-xvf SVG-2.27.tar
cd SVG-2.1
make
make test
make install
5/ If all the above fail, there is still a (cumbersome) way:
-----------------------------------------------------------
You have to install to a local dirctory and explicitly call the module
by using one of the following line in your calling program:
#using use lib
use lib path/where/the/release/is/located;
-or-
#using BEGIN block at the beginning of the file
BEGIN {
push @INC path/to/svg.pm-file; #where the SVG.pm file lives
push @INC path/to/svg.pm-file/SVG; # where the Utils.pm file lives
}
#Refer to the Perl manual for more details.
<<lessSVG.pm makes it possible to generate fully-functional SVG images in perl.
100% of the SVG tags are supported, and any new arbitrary element tag can be
added by users by declaring it.
***THERE ARE FIVE WAYS TO IMPLEMENT SVG MODULE IN PERL***
1/ Systems with CPAN support (all Unix/Linux/BSD/Mac):
-----------------------------------------------------
Install the new distribution via the Perl CPAN module:
In a shell:
/home/somewhere% perl -MCPAN -e"install SVG"
2/ (WIN) install Perl from Active State or equivalent:
-----------------------------------------------------
Make sure you already have perl or get it here: http://www.activestate.com
On the command line:
C:> ppm
PPM> set repository tmp http://roasp.com/PPM/SVG/
PPM> install SVG
PPM> quit
C:>
3/ Use Source RPMs.
Download the source RPM of your choice.
In a shell:
/hom/somewhere/% rpm -ihv SVG-source-rpm-name
You may be prompted for the root password
4/ The hard way (requires make or nmake, tar, gunzip, and gcc):
---------------------------------------------------------------
This method was tested in DOS, Windows, AS400, Linux, Unix, BSD, Mac.
Hard-headed users can directly get the distribution from
http://www.roasp.com/PPM/SVG/SVG-2.27.tar.gz or
http://www.roasp.com/PPM/SVG/ .
First download the source.
Then, in a shell:
/home/somewhere% gunzip SVG-2.27.tar.gz
/home/somewhere% tar-xvf SVG-2.27.tar
cd SVG-2.1
make
make test
make install
5/ If all the above fail, there is still a (cumbersome) way:
-----------------------------------------------------------
You have to install to a local dirctory and explicitly call the module
by using one of the following line in your calling program:
#using use lib
use lib path/where/the/release/is/located;
-or-
#using BEGIN block at the beginning of the file
BEGIN {
push @INC path/to/svg.pm-file; #where the SVG.pm file lives
push @INC path/to/svg.pm-file/SVG; # where the Utils.pm file lives
}
#Refer to the Perl manual for more details.
Download (0.046MB)
Added: 2007-04-23 License: Perl Artistic License Price:
915 downloads
libRSVG 2.18.1
libRSVG is a very fast SVG rendering engine written in C. more>>
libRSVG is a component used within software applications to enable support for SVG-format scalable graphics.
In contrast to raster formats, scalable vector graphics provide users and artists a way to create, view, and provide imagery that is not limited to the pixel or dot density that an output device is capable of.
Many software developers use the librsvg library to render SVG graphics. It is lightweight and portable, requiring only libxml and libart at a minimum, while providing extra features when used with libcroco, libgsf, and mozilla. It is included as part of the GNOME Desktop, and is licensed under the LGPL license.
Enhancements:
- rsvg-styles.c: Basic support for SVG 1.1s text-rendering and shape-rendering properties (#464599)
- http://www.w3.org/TR/SVG/painting.html#ShapeRenderingProperty
- rsvg-styles.h: Ditto
- rsvg-cairo-draw.c: Ditto
<<lessIn contrast to raster formats, scalable vector graphics provide users and artists a way to create, view, and provide imagery that is not limited to the pixel or dot density that an output device is capable of.
Many software developers use the librsvg library to render SVG graphics. It is lightweight and portable, requiring only libxml and libart at a minimum, while providing extra features when used with libcroco, libgsf, and mozilla. It is included as part of the GNOME Desktop, and is licensed under the LGPL license.
Enhancements:
- rsvg-styles.c: Basic support for SVG 1.1s text-rendering and shape-rendering properties (#464599)
- http://www.w3.org/TR/SVG/painting.html#ShapeRenderingProperty
- rsvg-styles.h: Ditto
- rsvg-cairo-draw.c: Ditto
Download (0.54MB)
Added: 2007-08-21 License: GPL (GNU General Public License) Price:
803 downloads
SVG::SVG2zinc 0.10
SVG::SVG2zinc is a Perl module to display or convert svg files in scripts, classes, images... more>>
SVG::SVG2zinc is a Perl module to display or convert svg files in scripts, classes, images...
SYNOPSIS
use SVG::SVG2zinc;
&SVG::SVG2zinc::parsefile(file.svg, Backend,file.svg,
-out => outfile,
-verbose => $verbose,
-namespace => 0|1,
-prefix => string,
);
# to generate a Perl script:
&SVG::SVG2zinc::parsefile(file.svg,PerlScript,
-out => file.pl);
# to generate a Perl Class:
&SVG::SVG2zinc::parsefile(file.svg,PerlClass,
-out => Class.pm);
# to display a svgfile:
&SVG::SVG2zinc::parsefile(file.svg, Display);
#To convert a svgfile in png/jpeg file:
&SVG::SVG2zinc::parsefile(file.svg, Image,
-out => file.jpg);
# to generate a Tcl script:
&SVG::SVG2zinc::parsefile(file.svg,TclScript,
-out => file.tcl);
Depending on the used Backend, &SVG::SVG2zinc::parsefile either generates a Perl Class, Perl script, Tcl Script, bitmap images or displays SVG files inside a Tk::Zinc widget.
SVG::SVG2zinc could be extended to generate Python scripts and/or classes, or other files, just by sub-classing SVG::SVG2zinc::Backend(3pm)
==head1 HOW IT WORKS
This converter creates some TkZinc items associated to most SVG tags. For example, < SVG > or < G > tags are transformed in TkZinc groups. are converted in TkZinc curves.... many more to come...
==head2 TkZinc items tags
Every TkZinc item created by the parser get one or more tags. If the corresponding svg tag has an Id, this Id will be used as a tag, after some cleaning due to TkZinc limitation on tag values (no dot, star, etc...). If the corresponding svg tag has no Id, the parser add a tag of the following form : __< itemtype >__< integer >. If the parser is provided a -prefix option, the prefix is prepended to the tag: __< itemtype >__< integer >
The TkZinc group associated to the top tag has the following tag svg_top, as well as width=integer heigth=integer tags if width and height are defined in the top < SVG > tag. These tags can be used to find the group and to get its desired width and height.
==head2 RunTime code
There is currently on new Tk::Zinc method needed when executing perl code generated. This perl Tk::Zinc::adaptViewport function should be translated and included or imported in any script generated in an other scripting language (eg. Tcl or Python).
<<lessSYNOPSIS
use SVG::SVG2zinc;
&SVG::SVG2zinc::parsefile(file.svg, Backend,file.svg,
-out => outfile,
-verbose => $verbose,
-namespace => 0|1,
-prefix => string,
);
# to generate a Perl script:
&SVG::SVG2zinc::parsefile(file.svg,PerlScript,
-out => file.pl);
# to generate a Perl Class:
&SVG::SVG2zinc::parsefile(file.svg,PerlClass,
-out => Class.pm);
# to display a svgfile:
&SVG::SVG2zinc::parsefile(file.svg, Display);
#To convert a svgfile in png/jpeg file:
&SVG::SVG2zinc::parsefile(file.svg, Image,
-out => file.jpg);
# to generate a Tcl script:
&SVG::SVG2zinc::parsefile(file.svg,TclScript,
-out => file.tcl);
Depending on the used Backend, &SVG::SVG2zinc::parsefile either generates a Perl Class, Perl script, Tcl Script, bitmap images or displays SVG files inside a Tk::Zinc widget.
SVG::SVG2zinc could be extended to generate Python scripts and/or classes, or other files, just by sub-classing SVG::SVG2zinc::Backend(3pm)
==head1 HOW IT WORKS
This converter creates some TkZinc items associated to most SVG tags. For example, < SVG > or < G > tags are transformed in TkZinc groups. are converted in TkZinc curves.... many more to come...
==head2 TkZinc items tags
Every TkZinc item created by the parser get one or more tags. If the corresponding svg tag has an Id, this Id will be used as a tag, after some cleaning due to TkZinc limitation on tag values (no dot, star, etc...). If the corresponding svg tag has no Id, the parser add a tag of the following form : __< itemtype >__< integer >. If the parser is provided a -prefix option, the prefix is prepended to the tag: __< itemtype >__< integer >
The TkZinc group associated to the top tag has the following tag svg_top, as well as width=integer heigth=integer tags if width and height are defined in the top < SVG > tag. These tags can be used to find the group and to get its desired width and height.
==head2 RunTime code
There is currently on new Tk::Zinc method needed when executing perl code generated. This perl Tk::Zinc::adaptViewport function should be translated and included or imported in any script generated in an other scripting language (eg. Tcl or Python).
Download (0.13MB)
Added: 2006-08-16 License: Perl Artistic License Price:
1164 downloads
SVG::Metadata 0.28
SVG::Metadata is a Perl module to capture metadata info about an SVG file. more>>
SVG::Metadata is a Perl module to capture metadata info about an SVG file.
SYNOPSIS
use SVG::Metadata;
my $svgmeta = new SVG::Metadata;
$svgmeta->parse($filename)
or die "Could not parse $filename: " . $svgmeta->errormsg();
$svgmeta2->parse($filename2)
or die "Could not parse $filename: " . $svgmeta->errormsg();
# Do the files have the same metadata (author, title, license)?
if (! $svgmeta->compare($svgmeta2) ) {
print "$filename is different than $filename2n";
}
if ($svgmeta->title() eq ) {
$svgmeta->title(Unknown);
}
if ($svgmeta->author() eq ) {
$svgmeta->author(Unknown);
}
if ($svgmeta->license() eq ) {
$svgmeta->license(Unknown);
}
if (! $svgmeta->keywords()) {
$svgmeta->addKeyword(unsorted);
} elsif ($svgmeta->hasKeyword(unsorted) && $svgmeta->keywords()>1) {
$svgmeta->removeKeyword(unsorted);
}
print $svgmeta->to_text();
This module provides a way of extracting, browsing and using RDF metadata embedded in an SVG file.
The SVG spec itself does not provide any particular mechanisms for handling metadata, but instead relies on embedded, namespaced RDF sections, as per XML philosophy. Unfortunately, many SVG tools dont support the concept of RDF metadata; indeed many dont support the idea of embedded XML "islands" at all. Some will even ignore and drop the rdf data entirely when encountered.
The motivation for this module is twofold. First, it provides a mechanism for accessing this metadata from the SVG files. Second, it provides a means of validating SVG files to detect if they have the metadata.
The motivation for this script is primarily for the Open Clip Art Library (http://www.openclipart.org), as a way of filtering out submissions that lack metadata from being included in the official distributions. A secondary motivation is to serve as a testing tool for SVG editors like Inkscape (http://www.inkscape.org).
<<lessSYNOPSIS
use SVG::Metadata;
my $svgmeta = new SVG::Metadata;
$svgmeta->parse($filename)
or die "Could not parse $filename: " . $svgmeta->errormsg();
$svgmeta2->parse($filename2)
or die "Could not parse $filename: " . $svgmeta->errormsg();
# Do the files have the same metadata (author, title, license)?
if (! $svgmeta->compare($svgmeta2) ) {
print "$filename is different than $filename2n";
}
if ($svgmeta->title() eq ) {
$svgmeta->title(Unknown);
}
if ($svgmeta->author() eq ) {
$svgmeta->author(Unknown);
}
if ($svgmeta->license() eq ) {
$svgmeta->license(Unknown);
}
if (! $svgmeta->keywords()) {
$svgmeta->addKeyword(unsorted);
} elsif ($svgmeta->hasKeyword(unsorted) && $svgmeta->keywords()>1) {
$svgmeta->removeKeyword(unsorted);
}
print $svgmeta->to_text();
This module provides a way of extracting, browsing and using RDF metadata embedded in an SVG file.
The SVG spec itself does not provide any particular mechanisms for handling metadata, but instead relies on embedded, namespaced RDF sections, as per XML philosophy. Unfortunately, many SVG tools dont support the concept of RDF metadata; indeed many dont support the idea of embedded XML "islands" at all. Some will even ignore and drop the rdf data entirely when encountered.
The motivation for this module is twofold. First, it provides a mechanism for accessing this metadata from the SVG files. Second, it provides a means of validating SVG files to detect if they have the metadata.
The motivation for this script is primarily for the Open Clip Art Library (http://www.openclipart.org), as a way of filtering out submissions that lack metadata from being included in the official distributions. A secondary motivation is to serve as a testing tool for SVG editors like Inkscape (http://www.inkscape.org).
Download (0.025MB)
Added: 2007-04-23 License: Perl Artistic License Price:
914 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above svg search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed