Extension to export objects to separate files for animation
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Inkscape |
Invalid
|
Wishlist
|
Unassigned |
Bug Description
Based on a request posted earlier this year on the mailing list [1] to export paths created with the 'Interpolate' extension to individual SVG files, I started to work on such an extension - out of curiosity, mostly, to better understand limitations of the current extension system.
Main features:
==============
The extension allows to export
- a selection of multiple objects, or
- the members of a single selected group, or
- all layers, or
- all sublayers of the current layer (or of all layers)
to separate files into a user-defined export directory. The exported files can be saved as individual files, as TAR or as ZIP archive.
Supported file formats for export are:
- Inkscape SVG (the default)
- Plain SVG
- PNG
- GIF
- JPEG
- PDF
Additionally, if the chosen export format is a bitmap format, an animated GIF can be created automatically (available options for the animation are delay, loop and dispose).
Basic usage:
============
Select a group of paths (e.g. created with 'Extensions > Generate from Path > Interpolate'), open 'Extensions > Export > Objects to Files', adjust the export directory as needed and click on 'Apply'.
Known issues:
=============
1) Defs: The extension does not automatically copy just the required shared resources into the exported SVG file. The user can decide - depending on the content of the current document - whether or not to include a full copy of the original <defs> section in each of the exported SVG files, e.g. for path effects or gradient definitions (the defs can be cleaned up later on if needed).
2) Clones: Object references across different layers, or among different selected objects, are not resolved. This will cause orphaned clones (not rendered visibly) in exported files (any format), if the original of a clone is on a different layer, or not among the "other" content (unselected, or 'Common layers') which can optionally be included in each exported files.
3) Dependencies: Export to GIF/JPEG and the creation of the animated GIF depend on external tools ('convert' from ImageMagick). Inkscape's binary packages for Windows and OS X do not include a full installation of ImageMagick, which will make these specific features unavailable in out-of-the-box installations.
4) Popen() on Windows:
- Communicating with externally spawned processes (e.g. to test the availability of 'convert') needs testing on Windows (likely this fails).
TODO:
=====
- Win32: fix support for non-ASCII filenames in inkscape shell mode
(affects all export formats except SVG if basename uses non-ASCII)
- Optionally use layer names for export filename (useful?)
- i18n (dialog as well as error messages)
- Documentation and basic tutorial
- ...
Ideas:
======
- Per-frame (layer) options for animation (similar to GIMP)
- Requested but not implemented: Integration with existing 'Interpolate' extension (this part of the original spec was dropped to be able to support more use cases than just the output of 'Interpolate')
- ...
Files:
======
Attached to this report is a recent snapshot of the extension, the changelog can be followed in this repository:
https:/
References:
===========
[1] Specs as posted in Nov 2015 on the inkscape-devel mailing list:
http://
Related branches
description: | updated |
Changed in inkscape: | |
assignee: | nobody → ~suv (suv-lp) |
status: | New → In Progress |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
Changed in inkscape: | |
assignee: | ~suv (suv-lp) → nobody |
On 2015-12-31 18:38 (+0100), ~suv wrote:
> Known issues:
> =============
> 4) Popen() on Windows:
> - Using Popen() with 'shell=False' (...)
Based on a quick test on Windows 7, this seems to work ok with Inkscape 0.91 (64bit).
> TODO:
> =====
> - Checks for unicode input in basename, export directory, layer names
Encoding issues when using special characters in basename or (common) layer labels on the other hand need more attention (failed in all quick tests I repeated on Windows 7).