This project concerns the conversion of images from the SVG vectorial format to the PNG raster format.
- up202304912 Vasco Nuno Pinhal Ferreira Alves
- up202305431 Narciso António Terrão Barroso
- up202307242 Pedro André Freitas Monteiro
SVG reading logic in readSVG.cpp
The image dimensions are obtained successfully with their respective width and height and every type of element can be dynamically allocated as a SVGElement* pointer.
Every geometrical element have their own class defined in SVGElements.hpp derived from their superior element or from the SVGElement class. All elements have their respective attributes and support for identifiers and transformations parameters and functions.
All types of transformations (translate, rotate and scale) are well implemented and binded for every type of element using virtual pure functions. The function that parses every transformation is in the file readSVG.cpp.
The groups have been implemented using a derived subclass from SVGElement and uses a recursive function in readSVG.cpp with all transformations working.
For elements that have an "id" attribute, they can be easily duplicated using and their respective transformations.