PHP に便利な関数があったのでさくっと作れる。
サンプルコード。
<?php
$inputFileName = $argv[1];
$outputFileName = $argv[2];
$resourceId = imagecreatefrompng($inputFileName);
imagejpeg($resourceId, $outputFileName);
?>
サンプルコードを png2jpg.php というファイル名で保存して、コマンドラインから実行。
$ php png2jpg.php in.png out.jpg
入力ファイル (in.png) と出力ファイル (out.jpg) のファイルの種類を file コマンドで確認してみる。
$ file in.png
in.png: PNG image data, 160 x 160, 8-bit/color RGB, non-interlaced
$ file out.jpg
out.jpg: JPEG image data, JFIF standard 1.01, comment: "CREATOR: gd-jpeg v1.0 (using IJ"
imagejpeg 関数で出力される JPEG ファイルには「CREATOR: gd-jpeg v1.0」というコメントが入っているので、内部ではおそらく画像処理ライブラリの GD Graphics Library が使われている。
今回の環境は Mac OS X El Capitan + PHP 5.5
$ uname -mrsv
Darwin 15.5.0 Darwin Kernel Version 15.5.0: Tue Apr 19 18:36:36 PDT 2016; root:xnu-3248.50.21~8/RELEASE_X86_64 x86_64
$ php --version
PHP 5.5.34 (cli) (built: Apr 22 2016 19:16:58)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
tags: php
Posted by NI-Lab. (@nilab)