Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Magento为png图像添加黑色背景_Magento_Magento 1.9 - Fatal编程技术网

Magento为png图像添加黑色背景

Magento为png图像添加黑色背景,magento,magento-1.9,Magento,Magento 1.9,我使用的是Magento 1.9.3.3版,面临的问题是很少有png图像。它自动添加黑色背景。请帮我保持透明度 图像示例:这似乎经常发生在Magento 1.9.3.3或应用补丁后SUPEE 9767。 请阅读这篇有同样的问题,在补丁之前上传了旧的lib/Varien/Image/Adapter/Gd2.php并再次运行。我的Magento版本1.9.3.3也有同样的问题。下面解决我的问题 扩展此类文件Mage\u Core\u Model\u file\u Validator\u Image

我使用的是Magento 1.9.3.3版,面临的问题是很少有png图像。它自动添加黑色背景。请帮我保持透明度


图像示例:

这似乎经常发生在Magento 1.9.3.3或应用补丁后
SUPEE 9767

请阅读这篇

有同样的问题,在补丁之前上传了旧的lib/Varien/Image/Adapter/Gd2.php并再次运行。

我的Magento版本1.9.3.3也有同样的问题。下面解决我的问题

扩展此类文件
Mage\u Core\u Model\u file\u Validator\u Image

创建模块:

Crete文件位于
Magegeeks\u Core\u Model\u file\u Validator\u Image
,包含以下内容:

class Magegeeks_Core_Model_File_Validator_Image extends Mage_Core_Model_File_Validator_Image
{

    /**
     * Validation callback for checking is file is image
     *
     * @param  string $filePath Path to temporary uploaded file
     * @return null
     * @throws Mage_Core_Exception
     */
    public function validate($filePath)
    {
        list($imageWidth, $imageHeight, $fileType) = getimagesize($filePath);
        if ($fileType) {
            if ($this->isImageType($fileType)) {
                //replace tmp image with re-sampled copy to exclude images with malicious data
                $image = imagecreatefromstring(file_get_contents($filePath));
                if ($image !== false) {
                    $img = imagecreatetruecolor($imageWidth, $imageHeight);
                    imagealphablending($img, false);
                    imagecopyresampled($img, $image, 0, 0, 0, 0, $imageWidth, $imageHeight, $imageWidth, $imageHeight);
                    imagesavealpha($img, true);
                    switch ($fileType) {
                        case IMAGETYPE_GIF:
                            imagegif($img, $filePath);
                            break;
                        case IMAGETYPE_JPEG:
                            imagejpeg($img, $filePath, 100);
                            break;
                        case IMAGETYPE_PNG:
                            imagepng($img, $filePath);
                            break;
                        default:
                            return;
                    }
                    imagedestroy($img);
                    imagedestroy($image);
                    return null;
                } else {
                    throw Mage::exception('Mage_Core', Mage::helper('core')->__('Invalid image.'));
                }
            }
        }
        throw Mage::exception('Mage_Core', Mage::helper('core')->__('Invalid MIME type.'));
    }
etc/config.xml文件中的

<config>
    <modules>
        <Magegeeks_Core>
            <version>0.0.1</version>
        </Magegeeks_Core>
    </modules>
<global>
        <models>
            <sdm_core>
                <class>Magegeeks_Core_Model</class>
            </sdm_core>
            <core>
               <rewrite>
                    <file_validator_image>SDM_Core_Model_File_Validator_Image</file_validator_image>
               </rewrite>
            </core>
        </models>
</global>
</config>

0.0.1
Magegeeks_Core_模型
SDM\u核心\u模型\u文件\u验证程序\u映像
app/etc/modules/Magegeeks_Core.xml

<config>
    <modules>
        <Magegeeks_Core>
            <active>true</active>
            <codePool>local</codePool>
        </Magegeeks_Core>
    </modules>
</config>

真的
地方的
希望这能解决你的问题