PHPにてSVGファイルをjpg / png画像に変換する方法
PHPにてSVGファイルをjpgもしくはpng形式の画像ファイルに変換したいというケースがあった。調べたところImagickモジュールを使用することで対応できるらしい。以下に対応方法をメモ。
目次
Imagick
インストールされているか確認
phpinfo()で「imagick」の項目があればインストールされている筈。
インストールされていない場合は過去記事を参考の上、インストールすること。
対応方法
jpgの場合
<?php $image = new Imagick(); $svg = file_get_contents('./test.svg'); $image->readImageBlob($svg); $image->setImageFormat('jpeg'); if( $image->writeImage('./test.jpg') ){ echo 'success'; }else{ echo 'error'; }
pngの場合
<?php $image = new Imagick(); $svg = file_get_contents('./test.svg'); $image->readImageBlob($svg); $image->setImageFormat('png24'); if( $image->writeImage('./test.png') ){ echo 'success'; }else{ echo 'error'; }
リファレンス
readImageBlob
https://www.php.net/manual/ja/imagick.readimageblob.php
setImageFormat
https://www.php.net/manual/ja/imagick.setimageformat.php
writeImage
関連記事
-
-
PHPで画像アップロード、リサイズ、形式変換(jpg->webp等)はclass.upload.phpが便利
今までPHPで画像関連の処理を行う場合、リサイズの時のみsmart_resize ...
-
-
PHPにて指定した画像に対して、繰り返し透かし画像処理する方法
画像素材等のサイトで無料版の画像に対して「sample」等の透かし画像処理を行っ ...
-
-
PHPでダミー画像(プレースホルダー画像)を表示する「PHP-Dummy-Image-Generator」の利用方法
先日JavaScriptでダミー画像(プレースホルダー画像)を表示する「Hold ...
-
-
ファイルの更新日付取得とリネーム
やりたかった事は、画像ファイルの更新日時取得と リネーム。 ■参考サイト htt ...
-
-
PHPで画像にモザイクをかけて保存
やりたかった事はPHPで ・モザイク処理 ・元の画像とは別にファイル名をつけて保 ...