header

PHPでJPEG画像をPNG画像に変換する

(1/2)

GDライブラリを使うと、画像のフォーマットを変換することができる。 そこで、クライアントPCにあるJPEG画像ファイルをPNG画像ファイルに変換するプログラムを作ってみることにする。

サンプル・プログラム

0001: <?php
0002: /** jpg2png.php
0003:  * JPEG=>PNGファイル変換
0004:  *
0005:  * @copyright (c)studio pahoo
0006:  * @author     パパぱふぅ
0007:  * @version     1.0  2007/01/16
0008: */
0009: $myself = basename($_SERVER["SCRIPT_NAME"]);
0010: mb_internal_encoding("SJIS");
0011: 
0012: // 【1】ファイル選択 ========================================================
0013: if (! isset($_FILES["image"])) {
0014: ?>
0015: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
0016:  "http://www.w3.org/TR/html4/loose.dtd">
0017: <html lang="ja">
0018: <head>
0019: <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
0020: <title>JPEG=>PNGファイル変換</title>
0021: </head>
0022: <body>
0023: <h1>■JPEG=>PNGファイル変換</h1>
0024: <form method="post" enctype="multipart/form-data" action="<?= $myself ?>">
0025: JPEGファイル:
0026: <input name="image" type="file" size="50" /> 
0027: <input type="submit" name="exec" value="変換" /> 
0028: <input type="reset"  name="reset" value="リセット" />
0029: </form>
0030: </body>
0031: </html>
0032: 
0033: <?php
0034: // 【2】画像変換・出力 ======================================================
0035: else {
0036:     $sour = $_FILES["image"]["tmp_name"];
0037:     $img = @imagecreatefromjpeg($sour);
0038:     if (! $img) {
0039:         echo "error! > " . $_FILES["image"]["name"] . "はJPEG画像ファイルではありません";
0040:     } else {
0041:         header("Content-Type: image/png");
0042:         header("Content-Disposition: attachment; filename=image.png");
0043:         imagepng($img);
0044:     }
0045: }
0046: ?>

プログラムを実行する

(この項つづく)