"Convert.im6: मेमोरी एलोकेशन` a.svg 'विफल रहा ", 100 GB RAM के साथ 691 KB SVG फ़ाइल को EPS में बदलने का प्रयास कर रहा है


1

मैंने 691 केबी एसवीजी फ़ाइल को ईपीएस में बदलने की कोशिश की ImageMagick कमांड का उपयोग करना convert a.svg a.eps, लेकिन मैं एक memory allocation failed त्रुटि संदेश:

ubuntu@server:~$ convert a.svg a.eps
convert.im6: memory allocation failed `a.svg' @ error/svg.c/ReadSVGImage/2889.
convert.im6: no images defined `a.eps' @ error/convert.c/ConvertImageCommand/3044.

मेरा कंप्यूटर Ubuntu 14.04 x64 चलाता है और इसमें 100 GB RAM है। इस पर कुछ और नहीं चल रहा है।

मामला क्या हो सकता है? फ़ाइल उपलब्ध है यहाँ


1
यार .... 100GB RAM? हाँ यकीनन?
Grumpy ol' Bear

1
@ Grumpyol'bear 99007376 RAM का KiB सटीक होना। जाहिर है, यह पर्याप्त नहीं है ...
Franck Dernoncourt

जवाबों:


1

मुझे नहीं लगता कि ImageMagick वह उपकरण है जिसका उपयोग आप तब करना चाहते हैं जब आप SVG को EPS में बदलना चाहते हैं। दोनों प्रारूप वेक्टर प्रारूप हैं, लेकिन ImageMagick SVG फ़ाइल को रेखापुंज छवि में बदल देगा।

आपका रूपांतरण विफल होने का कारण यह है कि आपकी छवि में एक बड़ा कैनवास है। चौड़ाई और ऊंचाई 216000pt है जो कि कुछ ऑनलाइन कन्वर्टर्स के अनुसार 288000 पिक्सेल है। मान लें कि आप ImageMagick के Q8 संस्करण का उपयोग कर रहे हैं। वेक्टर छवि को रेखापुंज छवि में बदलने के लिए आपको निम्न बिट्स की आवश्यकता होगी: 288000 (width) * 288000 (height) * 8 (bits per channel) * 3 (number of channels) = 1.990656e+12 जो है 248.8 GB। और यही कारण है कि ImageMagick आपकी छवि को आवंटित करने में असमर्थ है। जब आप ImageMagick के Q16 संस्करण का उपयोग कर रहे हैं तो आपको दो बार मेमोरी की आवश्यकता होगी

यदि आप अभी भी छवि को परिवर्तित करना चाहते हैं, तो शायद आपको एक और उपकरण की आवश्यकता हो, तो आप अपनी छवि के आकार को -density विकल्प के साथ सीमित कर सकते हैं। निम्न आदेश एक PNG बनाएगा जो आपकी छवि के लिए 1200x1200 है:

convert -density 6 a.svg a.png

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.