図の挿入
プログラムソース
|
WEB ページ作成基準図の挿入WEB ページに,図を挿入する方法を示します.. 目次普通の図普通に図を挿入する場合には,以下のようにします. <img src="ファイルへのパス" style="width:幅px"> 影付きの図は,以下のようにします. <img src="ファイルへのパス" style="width:幅px; box-shadow:8px 8px 10px 0px rgba(0,0,0,0.7)"> キャプション付きの図普通の図HTML 文章中に図を配置する方法を,以下に示します.図とキャプションは <table> で配置します.こうすると,複数の図をそろえて表示することができます. 図とキャプションを配置するときには,それらを <table class="figure">で囲みます.列の幅は <col>で指定します.これは列の数だけ記述します.図の配置には<td class="image shadow bottom">で囲みます.shadow は影付き,bottom は下揃えです.これのクラス (shadow, bottom) が不要な場合は記述しません.キャプションの場合は,<td class="caption center number">です.center は中央揃え,number は図番号の出力指定です.これのクラス (center, number) も不要な場合は記述しません.こうすることにより,きれいに図が並び図番号が自動的に割り付けられます. <table class="figure" summary="図の説明(図表を表示しないブラウザ向け)"> <col width="幅[pixel]"><col width="幅[pixel]"> <tr> <td class="image shadow bottom" id="左図の識別子"> <a href="クリックしたとき表示する左図のファイル"> <img src="表示する左図のファイル" width="幅[pixel]" alt="画像の代わりの文字列"> </a></td> <td class="image shadow bottom" id="右図の識別子"> <a href="クリックしたとき表示する右図のファイル"> <img src="表示する右図のファイル" width="幅[pixel]" alt="画像の代わりの文字列"> </a></td> </tr> <tr> <td class="caption center number">左図のキャプション</td> <td class="caption center number">左図のキャプション</td> </tr> </table> SVGの場合SVGの場合,図の幅は必ず [%]単位で指定します.[pix]単位で指定すると,Internet Explorer では,図の縦横比がおかしくなります. <table class="figure" summary="図の説明(図表を表示しないブラウザ向け)"> <col width="幅[pixel]"> <tr> <td class="image shadow bottom" id="図の識別子"> <img src="表示する左図のファイル" style="width:幅%; background-color:white" alt="画像の代わりの文字列"> </td> </tr> <tr> <td class="caption center number">図のキャプション</td> </tr> </table> 図を出力するクラス (PHP)図の通し番号を自動でふり,ラベル名でその番号を参照できると便利です.そのようなクラスを PHP プログラム (mk_html.php) で作成しました.このプログラムのクラス Figureを使います. ヘッダー部の記述このクラスでは,jQuery の Lightbox を使いますので,ヘッダー部に以下の記載が必要です. <meta http-equiv="Content-Script-Type" content="text/javascript"> <script type="text/javascript" src="パス/js/jquery-1.11.1.min.js"></script> <script type="text/javascript" src="パス/js/lightbox.min.js"></script> <link href="パス/css/lightbox.css" rel="stylesheet"> PHPソース読み込み/初期化このクラスを使うためには,html で PHP のソース (mk_html.php) を読み込み,図番号を初期化する必要があります.通常は,html ソースの <body>のすぐ後付近に,以下を記述します.ただし,パスは適当に設定する必要があります. <?php
include "パス/www_func/mk_html.php";
$counter_figure = 0;
?>
図の設定図の様々なパラメーターを設定し,それ描くための html は以下の通りです.ソース中の「ArrayName[n]」は,適当な配列名(ArrayNama)と要素を表す0以上の整数(n)です.同じカテゴリーの複数の図は ArrayName を同一にし,要素を表す整数で分類します. <?php $counter_figure ++; $ArrayName[n] = new Figure(); $ArrayName[n] -> set_number($counter_figure); $ArrayName[n] -> set_file("図へのパス"); $ArrayName[n] -> set_size("図へのサイズ(単位無しでpx,あるいは%)"); $ArrayName[n] -> set_caption_width("キャプション幅(単位無しでpx,あるいは%)"); $ArrayName[n] -> set_caption("図のキャプション"); $ArrayName[n] -> set_caption_style("キャプションの CSS"); $ArrayName[n] -> set_style("image のCSSの記述"); $ArrayName[n] -> set_align_style("図とキャプションを含む div の styleの設定"); $ArrayName[n] -> set_alt("図の alt 属性(図を表示しないときの文字列)"); $ArrayName[n] -> set_data_title("Lightbox のキャプション"); $ArrayName[n] -> set_data_lightbox("Lightbox の data-lightboxの属性"); ?>
図とキャプションの配置 (推奨)図の表示には,関数「show_figure($shadow=False, $center=True, $marginleft=0)」を使います.引数を「$shadow=False」にすると図枠に影がなくなり,「$center=False」とすると左詰め,「$marginleft」は左詰めの場合の左側のマージン (css の margin-left) の値です. ひとつの図図がひとつの場合,以下のように記述します. <?php $クラス名 -> show_figure($shadow=True); ?> 図1のように図が表示されます.関数の引数を「$shadow=False」とすると,影が付きません.左詰めにする場合には,「$center=False, $marginleft=50」のようにします. この図を表示する html は,以下のとおりです. <?php $tokyo-> show_figure($shadow=True, $center=False, $marginleft=150); ?> 複数の図複数の図を並べて表示する場合は,Flexbox のスタイルファイルが反映されたクラス「<div class="flex_align_h">」を使います.次のように記述します. <div class="flex_align_h" style="margin-left:50px"> <div><?php $ArrayName[0] -> show_figure($shadow=False); ?></div> <div><?php $ArrayName[1] -> show_figure($shadow=False); ?></div> <div><?php $ArrayName[2] -> show_figure($shadow=False); ?></div> <div><?php $ArrayName[3] -> show_figure($shadow=False); ?></div> <div><?php $ArrayName[4] -> show_figure($shadow=False); ?></div> <div><?php $ArrayName[5] -> show_figure($shadow=False); ?></div> </div> 以下のように図を並べることができます. この図を表示する html は以下のとおりです.非常に簡単ですね.面倒なところは,PHP と CSS が裏でやってくれています. <div class="flex_align_h" style="margin-left:50px"> <div><?php $cat[0]-> show_figure($shadow=False); ?></div> <div><?php $cat[1]-> show_figure($shadow=False); ?></div> <div><?php $cat[2]-> show_figure($shadow=False); ?></div> <div><?php $cat[3]-> show_figure($shadow=False); ?></div> <div><?php $cat[4]-> show_figure($shadow=False); ?></div> <div><?php $cat[5]-> show_figure($shadow=False); ?></div> </div> 図とキャプションの配置 (古い方法)図とキャプションは,以下の html 文で表示できます.ただし,この方法はいささか古い方法で,table を使っています.この方法は推奨しません. <table class="figure" summary="サマリーを書く"> <col width="図の範囲[pix]"> <tr> <td class="image shadow bottom" id="図の識別子"> <?php $ArrayName[n]->show_fig_with_LightBox(); ?> </td> </tr> <tr> <td class="caption center"><?php $ArrayName[n]->show_caption(); ?></td> </tr> </table> キャプションのクラス指定に,number が無いことに注意が必要です.php の関数「show_caption()」で図番号が出力されるからです.以上で図が表示されます.また,図をクリックすると Lightbox による画像がポップアップ表示されます.
図番号の表示図番号を参照には,メソッド ref($pre=NULL, $Lightbox=True, $num=True) を使います.このメソッドの引数 $pre は文字番号の前に表示される文字列で,通常は $pre="図" とします.$Lightbox はライトボックスという図画がふぁっと表示される設定です.これを True にすると,図番号をクリックすると画像が現れます.$num は図番号の表示を制御します.以下に具体例を示します.
最も一般的な図番号の表示は,「<?php $ArrayName[n]->ref($pre="図"); ?>」とします. PDF を SVG に変換して表示HTML で PDF をそのまま表示することはできません.そのため,PDFを何かの図のフォーマットに変換する必要があります.もっとも望ましいフォーマットは SVG です.私は pdftocairo を使って,PDF から SVG に変換しています.具体的には,以下のシェルスクリプトを使っています. 回り込み図の回り込みを使うと,文書コンパクトにまとめることができます.図の要素を CSS で 「float:left」で指定します.その後に文章を記述すると,その文章が図の周りに回り込みます.回り込みの解除は,「<div style="clear: both"></div>」とします.ただし,「<col width="幅">」を指定しない方が良いです.指定すると本文と図の隙間がおかしくなります. <table class="figure" style="float:right;margin:0px 20px 0px 10px" summary="サマリー"> <tr> <td class="image shadow" style="margin-left:0px" id="図のID"> <a href="図のパス" data-lightbox="イメージ名" data-title="キャプション"><img src="図のパス" style="width:幅px; background-color:white" alt="図が表示できないとき文字列"></a> </td> </tr> <tr> <td class="caption center number" style="margin-left:0px">キャプション</td> </tr> </table> <p>ここにいろいろと文章を書く.この文章の右側に図が現れる.</p> <div style="clear: both"></div> LightboxLightbox を設定すると,タグのクリックでリンク先の図がふわっと現れます.例えば,「猫だ」です. Lightbox を使うためには,html のヘッダーに以下の記述が必要です. <meta http-equiv="Content-Script-Type" content="text/javascript"> <script type="text/javascript" src="パス/js/jquery-1.11.1.min.js"></script> <script type="text/javascript" src="パス/js/lightbox.min.js"></script> <link href="パス/css/lightbox.css" rel="stylesheet"> Lightbox の表示のクラスは,「mk_html.php」に書かれています.これは,私の WEB サイトでは必ず読み込まれるので,あえて設定する必要はないです.そのクラスの設定は,次のとおりです. <?php $ArrayName[n] = new LightBox(); $ArrayName[n] -> set_file("図へのパス"); $ArrayName[n] -> set_tag("タグ"); $ArrayName[n] -> set_caption("Lightbox のキャプション"); $ArrayName[n] -> set_member("Lightbox の data-lightboxの属性"); ?> Lightbox で図を表示するためには,メソッド show_lightbox() を使います.Lightbox の適用は,「<?php $ArrayName[n]->show_lightbox(); ?>」とします. ページ作成情報参考資料更新履歴
|