2010-09-02 16 views
6

मुझे इंकस्केप और इमेजिक से एक ही आउटपुट की आवश्यकता है।इमेजिक svg अस्पष्टता को उचित रूप से प्रस्तुत नहीं करता

यह अपेक्षित परिणाम है, जो इंकस्केप से निर्यात किया गया है।

corect image

हालांकि, PHP कोड नीचे निम्नलिखित दोषपूर्ण परिणाम आउटपुट।

wrong image

PHP कोड:

<?php 
$im = new Imagick(); 

$im->setResolution(400,400); 
$im->setBackgroundColor(new ImagickPixel('transparent')); 
$im->readImageBlob(str_replace(array("color1", "color2"), array("yellow", "blue"), file_get_contents("img.svg"))); 

$im->setImageFormat("png"); 
header("Content-type: image/png"); 
echo $im; 
?> 

एसवीजी कोड:

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="400" height="400"> 
<rect width="100%" height="100%" fill="green" /> 
<path d="M250 150 L150 350 L350 350 Z" opacity="0.9" fill="color1" /> 
<path d="M150 50 L50 250 L250 250 Z" opacity="0.9" fill="color2" /> 
</svg> 
+0

आपको इमेगिक का उपयोग करने की आवश्यकता क्यों है? वास्तविक एसवीजी कार्यक्रमों के साथ करना अधिक आसान है। – jmz

+0

मैंने विंडोज 7 64 बिट 2.3.0 पर एक ही समस्या की कोशिश की। 3.1 के साथ लिनक्स पर यह काम करता है जैसे यह चाहिए। – RedRoosterMobile

उत्तर

0

यह पहले से ही इमेगिक के वर्तमान संस्करण में तय है।

1

PHP और ImageMagick का कौन-सा संस्करण चल रहे हैं? कृपया phpinfo() का प्रासंगिक आउटपुट साझा करें। this ImageMagick bug आपको प्रभावित कर सकता है? या यदि आप अद्यतित नहीं हैं, तो क्या कोई अन्य छवि मैजिक बग आपको प्रभावित कर सकता है?

संपादित करें: इस समय मेरे पास PHP की छवि मैगिक पुस्तकालयों के साथ सर्वर तक आसानी से पहुंच नहीं है, लेकिन यदि मुझे कोई मिलता है, तो मैं प्रदान किए गए कोड का परीक्षण करूंगा और अपने परिणाम पोस्ट करूंगा।

EDIT2:others have the same issue की तरह लग रहा है, जब तक कि मंच पोस्ट भी आपने ही किया था ...

this forum post के अनुसार, आप की कोशिश कर सकते:

$im->setImageFormat("png32"); 

एक व्यक्ति ने सूचना दी कि काम किया, लेकिन एक और कहा यह नहीं था ...

+0

PHP संस्करण => 5.3.2-1ubuntu4.2 कल्पना मॉड्यूल संस्करण => 2.1.1-आरसी 1 –

+0

@ जेन: धन्यवाद। मैंने कुछ और सुझाव पोस्ट किए। क्या यह स्टॉक PHP/कल्पना है जो उबंटू के 'एपीटी-गेट' के माध्यम से स्थापित है? उबुब्तु का क्या संस्करण? मैं एक आभासी मशीन स्थापित कर सकता हूं और अपने अंत में यह आपके लिए कोशिश कर सकता हूं। मैं अक्सर [PHP चैट रूम] (http://chat.meta.stackoverflow.com/rooms/60/php) में हूं यदि आप इसके माध्यम से बात करना चाहते हैं। – Josh

+0

मैं उबंटू 10.04 ल्यूसिड लिंक्स का उपयोग करता हूं, कल्पना और PHP को synaptic (apt frontend) द्वारा स्थापित किया गया था। मैंने इसे PHP संस्करण 5.3.3 और इमेज मॉड्यूल संस्करण 2.3.0 –

0

इंकस्केप सर्वव्यापी समर्थित opacity संपत्ति का उपयोग नहीं करता है। इसके बजाय fill-opacity और stroke-opacity का उपयोग करें।

+0

जानने के लायक है, लेकिन मैंने अस्पष्टता को भरने की अस्पष्टता के साथ बदलने की कोशिश की है और इससे इस उदाहरण में कोई फर्क नहीं पड़ता है। – JMacArthur

संबंधित मुद्दे