पहले से तैनात जवाब में से कोई भी लेकिन मेरे लिए काम किया नीचे किया:
$image = new Imagick;
$image->setResolution(300, 300);
$image->readImage("${originalPath}[0]");
$image->setImageFormat('jpg');
$image->scaleImage(500, 500, true);
$image->setImageAlphaChannel(Imagick::VIRTUALPIXELMETHOD_WHITE);
जैसा कि मैंने Laravel ढांचे का उपयोग कर रहा मैं तो परिवर्तित छवि लेने के लिए और Laravels फ़ाइल सिस्टम का उपयोग यह दुकान।
Storage::put($storePath, $image->getImageBlob());
अद्यतन: तो मैं हाल ही में बदली हुई ओएस और जबकि यह पहले से मेरे Mac कुछ छवियों पर मेरे Ubuntu मशीन पर काम किया अभी भी ब्लैक आउट आ रहे थे।
मैं नीचे करने के लिए स्क्रिप्ट बदलना पड़ा:
$image = new Imagick;
$image->setResolution(300, 300);
$image->setBackgroundColor('white');
$image->readImage("${originalPath}[0]");
$image->setImageFormat('jpg');
$image->scaleImage(500, 500, true);
$image->mergeImageLayers(Imagick::LAYERMETHOD_FLATTEN);
$image->setImageAlphaChannel(Imagick::ALPHACHANNEL_REMOVE);
महत्वपूर्ण लगता है छवि में पढ़ने से पहले पृष्ठभूमि रंग सेट करने के लिए। मैं किसी भी संभावित परतों को भी फ़्लैट करता हूं और अल्फा चैनल को हटा देता हूं। मुझे लगता है कि मैंने अपनी उबंटू मशीन पर ALPHACHANNEL_REMOVE
की कोशिश की और यह उम्मीद नहीं की कि इन उत्तरों के बीच पाठकों को कुछ ऐसा मिल सकता है जो उनके लिए काम करता है।
स्रोत
2017-08-25 10:36:13
प्रश्न में जेपीजी फ़ाइल की प्रतिलिपि या लिंक उपयोगी होगा और परिणामी आउटपुट का एक स्क्रीन शॉट भी होगा। –
लॉरेंस बर्क: यहां परिणामस्वरूप छवि है http://i.imgur.com/jyQC6.jpg –
आपका सीएसएस स्टाइल जैसा है और क्या आप मूल jpg लिंक कर सकते हैं ??? –