サンプル・プログラム
サンプル・プログラムの解説:mimeTeXの利用
0104: /**
0105: * TeX画像作成
0106: * @param string $tex TeX文
0107: * @param int $parent 親ウィンドウID
0108: * @return なし
0109: */
0110: function makeTeX($tex, $parent) {
0111: global $Tempfname;
0112:
0113: $fname = $Tempfname;
0114: $exec = MIMETEX . " -e {$fname} ¥"{$tex}¥"";
0115: system($exec);
0116:
0117: //テンポラリから読み込む
0118: $img = '';
0119: $infp = fopen($fname, 'rb');
0120: while (! feof($infp)) $img .= fgets($infp, 4096);
0121: fclose($infp);
0122:
0123: //ウィンドウに表示
0124: $dib = FreeImage_Load(FIF_GIF, $fname, 0);
0125: $width = FreeImage_GetWidth($dib);
0126: $height = FreeImage_GetHeight($dib);
0127: $bmp = wb_create_image($width, $height, FreeImage_GetInfoHeader($dib), FreeImage_GetBits($dib));
0128: FreeImage_Unload($dib);
0129: wb_set_image(wb_get_control($parent, IDC_RES_IMAGE), $bmp);
0130: }
これを組み込み関数 system によって呼び出し、出力を画像としてテンポラリファイルに保存する。
この部分の手順は、「PHPでTeXを表示する」で使ったものと同じである。
テンポラリファイルのウィンドウへの表示については、「PHPで Windows用週間天気予報プログラムを作る」で利用した FreeImage を利用する。
サンプル・プログラムの解説:TeX画像の保存
0132: /**
0133: * TeX画像保存
0134: * @param int $parent 親ウィンドウID
0135: * @return なし
0136: */
0137: function saveTeX($parent) {
0138: global $Tempfname;
0139:
0140: if (file_exists($Tempfname)) {
0141: $fname = wb_sys_dlg_save($parent, 'TeX画像保存', "GIFファイル¥0*.gif¥0¥0", '', 'mimetex.gif');
0142: if ($fname != FALSE) {
0143: copy($Tempfname, $fname);
0144: }
0145: }
0146: }
コンパイル
参考サイト
- mimeTeX:公式サイト
- PHPでTeXを表示する:ぱふぅ家のホームページ