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)