extra large vector graphic

Questions and postings pertaining to the usage of ImageMagick regardless of the interface. This includes the command-line utilities, as well as the C and C++ APIs. Usage questions are like "How do I use ImageMagick to create drop shadows?".
Post Reply
robuntu
Posts: 41
Joined: 2012-01-22T10:56:10-07:00
Authentication code: 8675308

extra large vector graphic

Post by robuntu »

Hi, it's me again, Roland.

I successfully managed to deal with large images thanks to the help of anthony and fmw42 during the last few years.
Thanks again.

My main job is to enlarge images and cut them into slices to produce something similar to legths of wallpaper.
The resulting images are up to 30 meters wide and 4-5 meters high with 200dpi , that's up to 10 Gigapixels.

Reorganizing the process ( cutting with oversize, enlarging the single slices and trimming the tiles to fit ) made it possible
to handle even these large data with a "normal" xeon server.

Now there is a new problem, I have to deal with vector graphics:
Some customers want a 30 meter diagonally line and they certainly do not
want to see "steps". Thats the reason why they send a vector graphic.

Reading the pdf is no problem.
Setting the "start"-resolution is working great.
As long as I read a short image (still 5 meters high, but only 1 m wide) I can
set the resolution high enough to get a reasonable image, but when I get
a wider vector graphic, the resulting pixel image is too large.
When getting "normal" images I first cut it into slices and resize theses slices
step by step. Thats fine.
But how can I cut a vector graphic into slices?
When trying this with image magick, I have to set the start resolution high enough
for a good result and then the whole image is created before sliceing.
Trying to build these whole images uses all my memory and it simply doesn't work.
Using a lower resolution creates steps in the lines and blur when resizing.

Any suggestions?

Thanks,
Roland
snibgo
Posts: 12159
Joined: 2010-01-23T23:01:33-07:00
Authentication code: 1151
Location: England, UK

Re: extra large vector graphic

Post by snibgo »

Ah, you have a **big** printer, like these: http://www.macroart.co.uk/products/ .

Your PDF vector image is massive, and you want to chop it into slices, still vector. Correct? IM won't do that.

Ideally, the input would be SVG. SVG is text so can be tweaked fairly easily to get slices. If your customer can provide SVG, that would be easiest.

There may be a PDF to SVG converter somewhere, keeping the data as vector. Perhaps Adobe Illustrator.

Otherwise, a PDF editor might do the job. Again, Adobe would be the obvious source. There are free PDF editors. I have no experience with them.
snibgo's IM pages: im.snibgo.com
robuntu
Posts: 41
Joined: 2012-01-22T10:56:10-07:00
Authentication code: 8675308

Re: extra large vector graphic

Post by robuntu »

Aktually the printer I have is smaller but much faster...
however,
thanks for your answer.
I thought it might be the wrong job for IM.
But do I understand it right?
If the vector is in SVG IM could o it?
OR do you mean, if it is SVG, it is easy in general to slice it and then feed IM with the slices?

If SVG does the trick, I could try to get SVG images instead of PDF,
I am sure, the source of my customer's images is something else anyway.

Even if not, inkscape schoud do the job and is command line accessable.

So how would you slice SVG graphics?

Greetings
Roland
snibgo
Posts: 12159
Joined: 2010-01-23T23:01:33-07:00
Authentication code: 1151
Location: England, UK

Re: extra large vector graphic

Post by snibgo »

robuntu wrote:If the vector is in SVG IM could do it?
No. IM cannot slice an SVG into slices, each of which is SVG. IM can only take an SVG file and rasterize it.
robuntu wrote:OR do you mean, if it is SVG, it is easy in general to slice it and then feed IM with the slices?
Yes, fairly easy, such as with Inkscape or a custom program or script, or combination.
robuntu wrote:So how would you slice SVG graphics?
I don't know the best way. It would need some experimenting. Possibly:

1. Copy the SVG file into (n) other SVG files, one per slice.
2. In each SVG slice file, adjust the svg tags for width, height, x and y to cover the slice you want.
3. Rasterise each SVG slice file.
snibgo's IM pages: im.snibgo.com
Post Reply