経験点チケット発行

使用イメージ

こんな感じのフォームを入力して、「作成」ボタンを押すと
f:id:akiyuki3:20201008191438p:plain
こんな感じの画像データ(png)を出力します。
f:id:akiyuki3:20201008191441p:plain

ソース

expTNM.html

<?php require_ons "expTNM.php"; ?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>TNM EXP</title>
</head>
<body>
『トーキョー・ナイトメア』プレイヤー経験点<br />
<form action="expTNM.php" method="post">
<br />
<table>
<tr>
	<td>シナリオタイトル</td>
	<td><input type="text" name="s1" size="35" maxlength="35"></td>
</tr>
<tr>
	<td>ルーラー名</td>
	<td><input type="text" name="s2" size="35" maxlength="35"></td>
</tr>
<tr>
	<td>日付</td>
	<td><input type="date" name="d1"></td>
</tr>
<tr>
	<td>プレイヤー名</td>
	<td><input type="text" name="s3" size="35" maxlength="35"></td>
</tr>
<tr>
	<td>キャスト名</td>
	<td><input type="text" name="s4" size="35" maxlength="35"></td>
</tr>
</table>
<br />
<table>
<tr>
	<td>ルーラーの依頼を果たした</td>
	<td align="center" width="30"><input type="checkbox" name="c1" value="1"</td>
	<td align="right">1点<td>
</tr>
<tr>
	<td>会場の手配、連絡などを行なった</td>
	<td align="center" width="30"><input type="checkbox" name="c2" value="1"</td>
	<td align="right">1点<td>
</tr>
<tr>
	<td>アクトに最後まで参加した</td>
	<td align="center" width="30"><input type="checkbox" name="c3" value="5"</td>
	<td align="right">5点<td>
</tr>
<tr>
	<td>よいロールプレイを行なった</td>
	<td align="center" width="30"><input type="checkbox" name="c4" value="5"</td>
	<td align="right">5点<td>
</tr>
<tr>
	<td>PSを果たした</td>
	<td align="center" width="30"><input type="checkbox" name="c5" value="5"</td>
	<td align="right">5点<td>
</tr>
<tr>
	<td>SPSを果たした</td>
	<td align="center" width="30"><input type="number" name="c6" min="0" max="5"></td>
	<td align="right">最大5点<td>
</tr>
<tr>
	<td>他のプレイヤーを助ける言動を行なった</td>
	<td align="center" width="30"><input type="checkbox" name="c7" value="5"</td>
	<td align="right">5点<td>
</tr>
<tr>
	<td>アクトの進行を助けた</td>
	<td align="center" width="30"><input type="checkbox" name="c8" value="5"</td>
	<td align="right">5点<td>
</tr>
<tr>
	<td>うまく神業を使った</td>
	<td align="center" width="30"><input type="number" name="c9" min="0" max="9"></td>
	<td align="right"><td>
</tr>
<tr>
	<td>シーンに登場した</td>
	<td align="center" width="30"><input type="number" name="c10" min="0" max="5"></td>
	<td align="right">最大5点<td>
</tr>
</table>
<table>
<tr>
	<td>ルーラーに経験点をあげる?</td>
	<td><input type="radio" name="r1" value="Yes">YES</td>
	<td><input type="radio" name="r1" value="No">NO</td>
</tr>
</table>
<br />
<input type="submit" value="作成">
</form>
</body>
</html>

expTNM.php

<?php
header("Content-type: text/html; charset=utf-8");
$inputImage="expTNM.png";
$outputImage="expTNMoutput.png";
$image=imagecreatefrompng($inputImage);
$color=imagecolorallocate($image, 0, 0, 0);
$font="ipaexg.ttf";
$expValue=intval($_POST["c1"] + intval($_POST["c2"]) + intval($_POST["c3"]) + intval($_POST["c4"]) + intval($_POST["c5"]) + intval($_POST["c6"]) + intval($_POST["c7"]) + intval($_POST["c8"]) + intval($_POST["c9"]) + intval($_POST["c10"]));
imagettftext($image, 22, 0, 170, 65, $color, $font, $expValue);	//経験点
imagettftext($image, 11, 0, 120, 105, $color, $font, $_POST["s1"]);	//タイトル
imagettftext($image, 11, 0, 120, 130, $color, $font, $_POST["s2"]);	//ルーラー
imagettftext($image, 11, 0, 120, 155, $color, $font, $_POST["d1"]);	//日付
imagettftext($image, 11, 0, 120, 180, $color, $font, $_POST["s3"]);	//プレイヤー名
imagettftext($image, 11, 0, 120, 205, $color, $font, $_POST["s4"]);	//キャスト名
imagettftext($image, 11, 0, 250, 230, $color, $font, $_POST["r1"]);	//ルーラー経験点
imagepng($image,"expTNMoutput.png");
echo "<img src=" . $outputImage . ">";
?>