in reply to Re: Alternative to $image->copy() in GD module
in thread Alternative to $image->copy() in GD module

SVG::GD doesn't provide a copy method. It overrides some of the GD::Font and GD::Image methods by aliasing *GD::Image:: to *SVG::GD::Image:: and *GD::Font:: to *SVG::GD::Font::, but there's no SVG::GD::Image::copy so you get Can't locate object method "copy" via package "SVG::GD::Image". Therefore, I am looking for alternative methods.
  • Comment on Re^2: Alternative to $image->copy() in GD module

Replies are listed 'Best First'.
Re^3: Alternative to $image->copy() in GD module
by pryrt (Abbot) on Jul 06, 2016 at 21:44 UTC

    I assume that you already evaluated and rejected the similarly-named GD::SVG, which does implement the copy method (but not clone, copyMerged, etc.). (I've never used either, so I don't know the merits of one over the other.)

    You might want to try to roll your own sub SVG::GD::Image::copy { ... }: create the initial image with SVG::GD::Image::new(); use Data::Dumper (or similar) to get the details of the SVG::GD::Image object and find all the attributes/data that are important to you, and copy those attributes from the original to the new. I think you can just define it in your own code using the fully-qualified package:: name, but if not, put it in your installed copy of SVG/GD.pm (assuming you have write privileges).

    Once you've got it working, you can send it to the maint of SVG::GD as a feature request; having written the code already, it's much more likely to make it in. :-)