So konvertieren Sie ein PHP-JPG in ein PNG-Bild: Installieren Sie zuerst die PHP-Erweiterungen gd und exif und konvertieren Sie dann mit der Methode „function transform_image($image_path, $to_ext = 'png'...){...}“.
Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
PHP realisiert einfach die Bildformatkonvertierung (JPG in PNG, GIF in PNG usw.)
Anforderungen
Entwicklung Während des Prozesses werden Sie immer wieder auf Anforderungen stoßen, die eine Konvertierung von Bildformaten erfordern. Zum Beispiel GIF zu PNG, JPG zu PNG
Wenn Sie kürzlich die Bilddateierkennung einer bestimmten Plattform verwendet haben und diese das GIF-Format nicht unterstützt, müssen Sie das GIF in PNG usw. verarbeiten.
Abhängig von
php-Erweiterung gd und exif
Implementierung
/** * 图片格式转换 * @param string $image_path 文件路径或url * @param string $to_ext 待转格式,支持png,gif,jpeg,wbmp,webp,xbm * @param null|string $save_path 存储路径,null则返回二进制内容,string则返回true|false * @return boolean|string $save_path是null则返回二进制内容,是string则返回true|false * @throws Exception * @author klinson*/ function transform_image($image_path, $to_ext = 'png', $save_path = null) { if (! in_array($to_ext, ['png', 'gif', 'jpeg', 'wbmp', 'webp', 'xbm'])) { throw new \Exception('unsupport transform image to ' . $to_ext); } switch (exif_imagetype($image_path)) { case IMAGETYPE_GIF : $img = imagecreatefromgif($image_path); break; case IMAGETYPE_JPEG : case IMAGETYPE_JPEG2000: $img = imagecreatefromjpeg($image_path); break; case IMAGETYPE_PNG: $img = imagecreatefrompng($image_path); break; case IMAGETYPE_BMP: case IMAGETYPE_WBMP: $img = imagecreatefromwbmp($image_path); break; case IMAGETYPE_XBM: $img = imagecreatefromxbm($image_path); break; case IMAGETYPE_WEBP: //(从 PHP 7.1.0 开始支持) $img = imagecreatefromwebp($image_path); break; default : throw new \Exception('Invalid image type'); } $function = 'image'.$to_ext; if ($save_path) { return $function($img, $save_path); } else { $tmp = __DIR__.'/'.uniqid().'.'.$to_ext; if ($function($img, $tmp)) { $content = file_get_contents($tmp); unlink($tmp); return $content; } else { unlink($tmp); throw new \Exception('the file '.$tmp.' can not write'); } } }
Verwenden
// 转换后保存在test.png transform_image($url, 'png', './test.png'); transform_image($filepath, 'png', './test.png'); // 转换后二进制结果直接返回 transform_image($url, 'png'); transform_image($filepath, 'png');
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonSo konvertieren Sie ein PHP-JPG-Bild in ein PNG-Bild. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!