Shi-Painter help document
Menu
|
著作権者名 Copyright |
(c)2000-2004 しぃちゃん (c)2000-2004 shi-chan |
ソフトウウェア名 Softwere name |
お絵かきしぃペインター Oekaki Shi-Painter |
動作環境 System requirements |
Java1.*が使うことの出来るブラウザ(IEやネッ
トスケープ等) Macでも当然使用可能ですが、古いネットスケープをご利用の方は 上手く動作しない可能性もあります。この場合最新のブラウザとMRJという Java仮想マシンをインストールして下さい。 IEの方が融通が利きますのでNetscapeにあわせて作成されています。 IE5以降は必ず動きます。NetScape4.7以降も大丈夫です。 Macの方はプラグインで動くブラウザを使用して下さい(IEやネスケの最新版等) run platform of Java(IE or netscapeor and more) |
ファイル内容 (アップデート版のみ) Into archive (Update files only) |
spainter.jar アプレットです。
バイナリファイルです。 spainter.html spainter_std.html 表示用HTMLです。 Readme_Shichan.html このドキュメントです。 spainter.jar Applet file spainter.html spainter_std.html HTML for Applet Readme_Shichan.html document of this self |
使用許諾について Use permission |
このアプレットは個人法人に関わらずフリーです。 |
配布、改変条
件 Distribution and modification condition |
改造、作成したCGI
HTML等を付け加えたアーカイブの配布を許可します。 ただしReadMe_Shichan.htmlを変更したり、外さないようにして下さい。 res_**.txtファイルとres_**.zipの変更は許可されています。 アプレットの一部、若しくは全てのコードの改造、再利用は不許可とします。 アプレットの外に出ているclassファイルも同様です。 Javaのclassファイルへのリバースエンジニアリングは禁止されています。 商用利用時の詳細は此 方をご覧下さい。 The reverse engineering of an applet is forbidden. The distribution of the archive whichadds CGI and HTML and more. which are remodeled and made is permitted. However please don't change or remove ReadMe_Shichan.html |
保証/免責 Use permission |
このソフトに対して何らかの保証を求めることは出来ませ
ん。 使用する場合はすべて個人の責任において御利用下さい。 万が一何らかの損失が出たとしても作者に責任は無い物とします。 Those who manufacture it make it to the thing not concerned at all. It is not responsible for the author. |
その他 etc |
フリーソフトではありますが著作権を放棄したわけではあ
りません。 この著作物は日本国憲法により保護されています。 Although it was free software copyright was not necessarily abandoned. This work is protected by the Constitution of Japan. |
連絡先 contact to shi-cyan |
質問は出来る限り質問専用掲示板にてお願いします。 Please attention,shi-chan have so poor English.--;;; HomePage http://shichan.jp |
1 しぃペインターとは?
しぃペインターとは絵を描く機能を持ち、CGIに画像データ(フォーマットはJpegとPngの自動切換え)を送信する事が出来るアプレットの名前です。
(CGIは別の名前が付いている場合があります)またサムネイルとして描き手順のアニメーションを送信させ、それを再生させる機能もしぃペインターは持っ
ています。このアプレットは単独ではあまり役に立ちません。何らかのサーバーシステム
(CGI等)が必要になります。
しぃペインターは次の事を基本的に念頭に置き作成されています。
しぃペインターの生成する画像はPNG JPEG PCH(フォトショのPSDに相当するもの)の3つのフォーマットをサポートしています。
まずPNG付いては多少生成に時間が掛かりますが恐らく現在公開、利用されているどのJava系PNGエンコーダーよりもファイルの容量が小さくなる筈で す。(ファイルが大きいと50%程差が出る場合もあります)勿論完全な可逆式の画像です。またimage_interlaceをtrueにする事によりイ ンターレース表示対応の形式として送信可能です。
JPEGに関しては細かい圧縮率の変更が可能であり、最適なJPEGを生成される筈です。こちらも設定を参照し自動的に最適な画像が生成されます。また他 のツールと違いより綺麗に見えるような工夫がなされている為、極端に圧縮率を上げたとしてもある程度は劣化が気にならない筈です。
しぃペインターはファイル容量を軽くする為にJPEGをサポートしている為ユーザーがフォーマットを選ぶ事を通常許可していません。(CGIからの設定で 選択可能にはなります)よって圧縮率の高いPNGと最適な圧縮率を模索するJPEGとを自動的に選択する機能により
生成されるファイルの大きさは同系等のシステムよりもかなり小さくなるはずです。ただし 掲示板がJPEGとPNGを分けて処理するようなシステムが必要になる為多少CGI作者にしわ寄せが来ます(;_;)
生成する時間もCPUのスペックが低い場合で且つ全ての工程を通った画像、つまり一番圧縮率の高いJPEGか減色されたPNG画像に付いては最悪10数秒 かかります。メモリの消費量はかなり低く押さえていますし、メモリを流用可能な形態をしていますので時間は掛かりますがフリーズしたりする事はほぼありま せんのでご安心下さい。
PaintBBSよりさらに強力な画像復旧機能が搭 載されています。固有の機能で何らかのミスにより編集中にページを移動してしまったりウインドウを消してしまったりした時、直ぐに編集ページを開きなおす 事によりキャンバスに描かれた画像を復旧させる事が出来ます。書き手順をアニメーションさせる機能
WindowのIEや簡易起動をONにしたネスケ6.1以降であればウインドウを閉じても同じ画像の大きさの設定で編集ページに再度訪れれば大抵は残って いますのでかなり心強いはずです。(ネスケ4やMacIEの場合はブラウザのウインドウを全て閉じると復旧不能になります。)
しぃペインターではPaintBBSと同じく画像編 集中のデータをそっくりそのままアニメーション表示させる事が可能です。しかも描写速度は前回バージョンより高速な為、多機能だからと言って遅くなると 言った心配は御座いません。セキュリティーに関する事
しぃペインターはセキュリティーに関しても細心の注 意を払っています。
投稿時のIPアドレスはプロキシーを無効化された生(若しくはそれに近い)IPです。アドレスを隠しての荒らし目的の投稿はほぼ不可能です。設定により変 更可能ですが、一定時間以内に投稿されたり一定量しか書き込みが無かったりする場合に投稿を事前に拒否する機能があります。
PaintBBSではエンピツ等のツールは固定され ていましたが、しぃペインターは外部からペン定義ファイルを読み込む形の為、細かくカスタマイズする事が可能です。さらにペン先やテクスチャ等殆どの部分 が置き換え可能になっています。インターフェースも複数用意されており、より多くのユーザーからの利用が期待できます。
非常に多機能で且つ複数のインターフェースが用意されている都合上、しぃちゃん自身が使い方を書く事
が困難になっています。それ程複雑な機能は搭載されておりませんので色々触ってみてください。ヒントとして色々な場所を右クリックすると様々な特殊機能が
活用可能になります。使い方はしぃツールの使い方を紹介するサイトを利用する事を強くお勧めいたします。 |
image_bkcolor painting
color on the backgroundofcanvas キャンバスの背景色 image_bk painting tile image(jpeg or gif).on theapplet backgroung アプレットの背景のイメージ(タイル張り表示) layer_count default count of layers レイヤー数の初期値 デフォルトは2 undosize of undo(default size is 90) アンドゥの回数。(デフォルトは90回。) アンドゥの回数指定ですが、この値にきっちり収まるものではなく、値は多少前後しま す。 回数はundo_in_mgの倍数に収まる形となります。 undo_in_mg アンドゥを幾つにまとめて保存しておくか。(デフォルトで15) この値を増やすとメモリの節約が出来るかわりにレスポンスが多少鈍くなります。 減らすとその逆です。メモリはundo/undo_in_mg分消費します。 アンドゥの回数以上を指した場合、メモリの消費はキャンバス1枚分になります。 color_textword colors アイコン等アプレットのテキストカラー color_bk painting color to applet ofbackground アプレットの背景カラー color_bk2draws lines on the background of applet アプレットの網状の線のカラー color_icon painting color of icons アイコンのカラー color_frame frame of icons アイコンの枠のカラー color_iconselect painting color of icons selection アイコンを選択時出る枠のカラー color_barcolor of scrollbars スクロールバーのバーのカラー color_bar_hl スクロールバーのハイライトカラー color_bar_frame_hl スクロールバーのフレームのハイライト bar_size size of scrollbars スクロールバーの太さ tool_color_button colors for buttons(tool bar) ボタンの色(ツールバー) tool_color_button2colors for buttons(toolbar) ボタンの色(ツールバー) tool_color_textcolor for text(toolbar) テキストの色(ツールバー) tool_color_bar color for the value change bar(toolbar) 変更バーの色(ツールバー) tool_color_framecolor for buttons frame(toolbar) 枠の色(ツールバー) color_1〜12 color_1~12 for palette colors パレットのカラー cursor_1〜12 customize cursors カーソルカスタマイズ。ファイル名は x16xy16y.gifと言った感じに記述する事により基点の設定が出来る。 以 下追加されたカラー。 <!--プロの起動時に出現するメニューに関する設定--> <param name=pro_menu_color_text value="#FFFFFF"> <param name=pro_menu_color_off value="#222233"> <param name=pro_menu_color_off_hl value="#333344"> <param name=pro_menu_color_off_dk value="0"> <param name=pro_menu_color_on value="#ff0000"> <param name=pro_menu_color_on_hl value="#ff8888"> <param name=pro_menu_color_on_dk value="#660000"> <!--初期に通常上部に着いている(設定により下にも動く)の設定--> <param name=bar_color_bk value="#00ffff"> <param name=bar_color_frame value="#ff0000"> <param name=bar_color_off value="#ffffff"> <param name=bar_color_off_hl value="#ffffff"> <param name=bar_color_off_dk value="#888888"> <param name=bar_color_on value="#aaaaaa"> <param name=bar_color_on_hl value="#aaaaaa"> <param name=bar_color_on_dk value="#aaaaaa"> <param name=bar_color_text value="0xff"> <!--ウインドウ関係の設定--> <param name="window_color_text" value="#ff0000"> <param name="window_color_frame" value="#ffff00"> <param name="window_color_bk" value="#000000"> <param name="window_color_bar" value="#777777"> <param name="window_color_bar_hl" value="#888888"> <param name="window_color_bar_text" value="#000000"> <!--確認ウインドウの設定--> <param name="dlg_color_bk" value="#ccccff"> <param name="dlg_color_text" value="0"> <!--アプレットの背景の設定--> <param name=color_bk value="#ccccff"> <param name=color_bk2 value="#f0f0f0"> <!--レイヤーのメーターカラーの設定--> <param name=l_m_color value="#ffffff"> <param name=l_m_color_text value="#0000ff"> |
image_width width of
canvas キャンバスの幅。 image_height height of canvas キャンバスの高さ。 image_canvas load from image_canvas and write to canvas. 指定されたイメージを読み込み、キャンバスに書き込みます。 確実に読み込めるのはjpeg gifとPaintBBSのネイティブなデータであるpchファイルです。 拡張子を必ずフォーマットのものと同じにする必要があります。 PCHファイルはレイヤーやアンドゥアニメデータ等の情報を全て復元します。 PCHファイルの拡張子をどうしても変更したい場合はパラメータpch_fileに設定して読み込ませる事を お奨めいたします。 読み込める画像はJavaに依存します。例えばPNGはSunJVMがサポートしておりMSJVMはサポートされていません。BMPはこの逆となります。 animation_max length of data for animaion(KByte. default value is 0) アニメーションデーターの最大値をKByte単位で指定します。 大体の目安でこの値に制限する為、多少前後します。 0で制限無し。 pch_file 通常モードのときに指定した場合、指定されたPaintChatAnimationファイルを キャンバスに書き込みます。(バッファ上で書き込まれる為アニメーションは見る事が出来ません。) pchファイルである事を前提にして読み込みますのでJPEG等のイメージを読み込む場合は image_canvasの方に指定して下さい。 PCHファイルはレイヤーやアンドゥアニメデータ等の情報を全て復元します。 popup ポップアップ表示とビュー表示を両方使えますがそれをポップアップに固定します。 安定性はありますので選択出るに越した事はありませんが、通常は選択する必要はありません。 popup_parent ポップアップ表示を親ウインドウにするかサブウインドウにするかを決めます。 親ウインドウはアイコン化等が出来ますが、ブラウザの後ろに隠れます。 サブウインドウはブラウザの後ろに隠れませんがアイコン化ボタン等は付いていません。 Javaの仕様によりこの二つしか選択肢は無い為、都合の良い方をユーザーに選んでもらう形になります。 この設定が記述されている場合は窓ボタンを押した時の確認が省略されます。 security_click When transmitting at the time of belowthe writingof the number of times of fixed a certain action is started to URL specified to be security_url. 一定回数の書き込み以下の時に送信を行った場合 security_urlに指定された URLへ何らかのアクションを起こします。アンドゥしたデータもカウントされていますので多めに 設定して下さい。健全な運用の為にもテスト運用を終え、公開する時に 是非60回以上の設定変更を行って下さい。 security_timer When timein as action to security_url.(Unit is section) 一定時間以内に送信した場合、セキュリティー違反を排出します。 秒単位です。これは確認ウインドウが出ている時もカウントされますので大きめに設定しても 良いかと思います。健全な運用の為にもテスト後、40秒以上の設定変更を行って下さい。 経験上3分以内に送られるデータの殆どは荒らし目的かテスト投稿の為に送信するデータだと判明しています。 またクリックカウントより高い効果があるようです。 security_url URLusedwhenany conflicts with security セキュリティー違反が排出されると、ここに指定されたURLにジャンプ、もしくはurl_saveの替わりに使用されます。 security_post="false"の時はここに指定されたURLへジャンプします。逆はurl_saveの替わりです。 何処を指定していいか良く解らない場合は警視庁等の公的機関を指定して下さい。 自分のページや掲示板のトップ等には間違っても指定しないほうがいいです。 クッキー等を併用する事により、より堅固な物になると思います。 security_postAnimageissent when security istouched. true or false security_urlが指定されたURLへ画像データを送信するのか、それとも指定された URLへジャンプするかを選択出来ます。trueでurl_saveの替わりに使用され、 falseで何も送信せずsecurity_urlに指定されたURLへジャンプします。この機能に対応していない CGIの場合はfalseを記述する事をお勧めします。 send_advance UseadvancedURLConnection. trueor false Javaの標準URLConnectionを使用せず環境に依存しない独自の方法でデータを投稿します。 この機能を使用時は送信状況を細かく表示する事が出来ます。また環境に依存しません。 投稿に失敗した場合標準のURLConnectionで投稿しますので通常falseを選択する必要はありません。 標準URLConnectionは環境に依存しさらに送信状況は細かく表示されません(JavaURLで送信中と出るだけです) この設定が無い場合標準でtrueが選択されます。 dir_resource res.txt等のリソースがどこにあるのかを指定。最後に&、?、=がついた場合はファイル名と直接連結されます。 tools インターフェースの選択を指定します。 smp(simpleでも可能)を指定すると通常仕様が選択され、stdを選択するとプロ仕様が選択されます。 プロ仕様は操作が難しい為、片方に固定したい場合はsmp(通常仕様)を奨励します。 圧縮ファイル名の設定 tt.zipやres.zipと言う設定を変更する事により必要なリソースの位置をデフォルト位置から変更する事が可能になります。この設定は dir_resourceを無視します。 |
image_jpeg Need JPEG
Jpeg format(true or false) image_sizeが指定されたデータより大きくなる場合、PNGではなく JPEGにしてデータ量の減少を試みます。必ずJPEGにすると言う設定ではありません。 image_interlaceNeed interlace format(PNG only. True or false) PNG画像をインターレース形式で送信します。PNGであればサムネイルも同様のフォーマットになります。 (画像が徐々に現れるフォーマットです。)デフォルトはfalse。 image_size when this size is exceeded the coloris decreased.(unit is KByte) 画像のデータがこの画像より大きくなる場合、減色処理、若しくは image_jpegがtrueの場合JPEGに変換します。1を指定した場合必ず 摘要され、0や記述無しの場合は必ず適用されません。 あまり小さくした場合、PNGで最適な圧縮がされるデータもJPEG化されます。 逆に大きくなりかねませんので、キャンバスの大きさにもよりますが、最低40は 指定する様にして下さい。60KByte奨励。 compress_level compresslevel(JPEG and PNG) PNGの減色率とJPEGの圧縮率。この値が高ければ高い程 圧縮率が高まります。デフォルト、奨励値は15です。 この値を下げた時にはimage_sizeを高くして下さい。 そうしないとデータ量が大きなイメージが出来上がる可能性があります。 また逆に圧縮率を上げた時はimage_sizeを下げる事によりデータ量の減少が 期待出来ます。 url_save place send data of image(CGI or etc.) 保存を担当するCGI(若しくはそれに相当するもの) url_exit after fineshed jump to URL. 保存成功時にジャンプするURL url_target target of frame. 保存成功時にジャンプするURLを指定するターゲット (複数投稿は出来ない仕様になっていますのでご注意下さい) poopoo CGI format and to synchronize withtrue. 保存フォーマットを既に存在する絵掲示板のデータと互換にする これを適用した場合PaintBBSの拡張機能は適用されません。 (アプレットとoekaki.htmlを差し替えるだけでも動作すると言う意味です。) 例外としてサムネイルを設定した場合は送信するようにしておきました。 ただしpoo互換CGIでサムネイルを送信した場合、画像が壊れますので御注意下さい。 send_header Valueis transmitted at the beginning of first transmitting data. send_language encode of header and error responce データを送信する時、POSTデータの一番初めに指定されたフラグを初めに送信します。 データのエンコードの種類 データは指定された言語へエンコードを施し送られます。languageになにも指定していない場合は utf8が選択されます。日本語を使いたい場合はsjis jis utf8のいずれかを記述して下さい。 send_languageはエラーレスポンスの時にも使われます。 拡張ヘッダは個々のCGI作者に開放している物でJPEGフラグが追加される可能性がある以外に デフォルト値等は存在しません。 send_header_image_type true or false JPEGかPNGかを調べる為、自動的に拡張ヘッダ内の先頭にイメージの種類を注入します。 PNGの時はimage_type=png&でJPEGの時はimage_type=jpeg&と言う文字列が追加されます。 拡張ヘッダを使用しない場合は無効です。 send_header_timer true or false 描写開始から終了までのミリ秒単位のカウントを拡張ヘッダの先頭に追加します。 セキュリティー系はこれを参照しています。 send_header_count true or false 描写工程をカウントした数 値(正確な数値ではない)を拡張ヘッダの先頭に追加します。 セキュリティー系はこれを参照しています。 send_uencode true or false 拡張ヘッダをURLEncodeして送信するかどうか。デフォルトではfalse。 thumbnail_type サムネイルのタイプ。png jpeg animationが選択可能です。デフォルトはpng。 animationを選択した場合PaintChatAnimationファイルと全く同様の物が サムネイルの部分に送信されます。 PaintBBSには再生機能がありますので 掲示板が対応さえしていれば完成までの手順を表示させる事も可能です。 thumbnail_type2 二つ目のサムネイルを送信したい場合はこのパラメータにthumbnail_typeと 同じ様に種類を書き込む必要があります。 thumbnail_compress_level サムネイルの圧縮Levelを指定。JPEGサムネイルのみ影響を受けます。 thumbnail_width thumbnail_height width and height of thumbnail 送信するサムネイル画像の横幅と縦幅です。%でも指定可能。 二つサムネイルが指定されている場合は両方がこの大きさになります。 両方画像と同じ大きさだったり(両方100%等)両方設定が無い場合はサムネイルを送信しません。 例外としてサムネイルのタイプを明記している場合は必ず送信されます。 header_magic 送信時一番初めに送られてくる文字の設定。PaintBBSは'P'でしぃペインターは'S'です。 複数文字を指定する事も可能です。 |
しぃペインターはサーバーの負担を減らすために JPEGを実装している為、
ユーザーがフォーマットを決める事を許可しておらず、イメージサイズにより自動的にフォーマットを決めます。
PNGとJPEGの振り分は、まず完全にイメージを再生させるPNGフォーマットを
仮に作成し、image_sizeよりサイズが上回る場合は不可逆なJPEGでのデータを作成します。
(この時JPEGが許可されていない場合は減色処理が施されます)
その後出来上がったJPEGがimage_sizeの1.5倍以上のデータであった場合指定された圧縮率の1.5倍の
圧縮率で再度JPEG化します。そうして出来上がったデータを今迄PNGが入っていた位置につけて送信されます。
注意点は例え圧縮率を上げたとしても必ずしもPNGよりJPEGの方が
データ量の減少が望めるわけではありません。一般に使用された色が少ない場合は
PNGの方が明らかに小さくなります。強引にJPEGを生成した場合サイズが大きくなり、且つ絵の再現率は悪いです。
その為自動的に切り替える方式を片方に固定させる事は可能ですが極力避けて下さい。
Jpeg に関係するオプションは
image_jpeg | JPEGを使用するかどうか(デフォルトで false |
image_size | どのサイズまで来たらJPEGとして送信するか |
send_header_image_type | 拡張ヘッダの先頭部分にイメージの種類を書き込 むかどうか |
compress_level | 圧縮率 |
thumbnail_type thumbnail_type2 |
値が"jpeg"である場合はサムネイルは JPEGフォーマットになります。 |
thumbnail_compress_level |
サムネイルの圧縮率 |
の4つです。
簡易的な実装方法の説明とそれぞれの奨励している値の紹介
取りあえず良く解らない場合は次のようにオプションを設定して下さい。
<param name="image_jpeg" value="true">
<param name="image_size" value="60">
<param name="compress_level" value="15">
<param name="send_header_image_type" value="true">
そして拡張ヘッダの頭にあるimage_type=png&かimage_type=jpeg&を調べて
JPEGかどうかを調べればOKです。
細かい実装の説明
Jpegを作成するにはimage_jpegを trueに設定する必要があります。
それとimage_sizeに1以上を入れて下さい。丁度1の時は必ずJpegが生成されます。
JPEGデータは送信されるPNGの代わりにJPEGを入れて送信されます。
判別する方法は画像のバイナリデータを直接調べるか
<param name="send_header_image_type" value="true">
とする事により拡張ヘッダの先頭にimage_type=png&かimage_type=jpeg&と言う識別文字列が注入されます。
これを調べてください。
バイナリを直接調べる場合はPNGかどうかを調べるのが簡単です。
1ByteめからPNG\r\n(CRLF)と言う文字列が入っていますので
それを調べて下さい。このデータは固定であり不変ですので確実です。
PNGかJPEGしか無いのでPNGではない場合はJPEGと確定します。
あと実装にはあまり関係無いですがcompress_levelを変更する場合、
image_sizeも変更させる事によりデータ量の減少が望めます。
これは例えば65を設定している場合、圧縮率を上げても65KByte以内であれば
PNGとして送信される為劇的にデータ量の減少が望めない為です。
だったら1を設定して必ずJPEGを生成した方が小さくなると思うかもしれませんが、
前文に説明した通りPNGの方が小さく綺麗に出来る可能性がありますので
この容量まではOKだと思う値をimage_sizeに入れ、それを実現出来そうな圧縮率を
入れる、と言う風な設定方法を行って下さい。
簡単に言えばcompress_levelを上げた時はimage_sizeを下げ、逆の場合は上げて下さい。
compress_level=15とimage_size=60の設定を奨励します。
しかし圧縮率を上げてもそれなりに見れたりしますので圧縮率を上げるのは
一向に構いません。(PNGがあるので下げるのはあまり意味がないかも)
このアニメーションデータはアンドゥされたデータを 保存する事はありません。実装のヒント
画像ファイルのように急にデータ量が大きくなるような事は無く、時間に比例して緩やかに
データが大きくなっていきます。数時間掛けても100KByte程ですので余裕がないサーバー以外は
簡単に実装できる事でしょう。アニメーションファイルを直接Javaアプレットが読み込む為、CGIとは無関係に
表示が可能です。このシステムの導入によりサーバーの負担を増加させるような類の物ではありません。
サムネイルと同様の扱いになっていますのであまりに大きなデータが送られてきた場合は
カットする事も苦痛では無い選択肢になる筈です。設定により送られてくるファイルの大きさを制限する事も可能です。
アニメーションを保存したい人としたくないははっきりと分かれていますので選択可能な形にする事を奨励します。
アニメーション表示の実装をさせるためのヒント
thumbnail_type thumbnail_type2 |
"animation"
である場合はサムネイル部分がアニメーションデータになります。 この時サムネイルの幅と高さは無視され、確実に送信されます。 |
pch_file | アニメーションファイ
ルを示すURL。ビュワー時は再生されるアニメファイルの位置で お絵かきモードの時はキャンバスに読み込まれます。image_canvasに近いですが アニメファイルが対象であると言う以外にアニメデータとアンドゥデータも読み込まれ、 ほぼ完全に再現される点が違います。 |
animation_max | アニメーションデー
ターの最大値をKByte単位で指定します。 大体の目安でこの値に制限する為、多少前後します。 0で制限無し |
投稿時のエラー処理に付いて
オプションに
<param name="thumbnail_type" value="animation">
と入れる事によりサムネイル部分にアニメーションファイルが送信されます。
通常のサムネイルと併用して使いたい場合はthumbnail_type2もつかって下さい。
ビュワーは改造(解体、改良や付け加え等)さえしなければ
再配布可能ですので必要であれば配布用ファイル郡にビュワーを足してもOKです。
画像を投稿時、ロックに失敗したり画像が大きすぎた 場合、
時間を置いて投稿、また大きすぎる画像を編集しなおすチャンスを獲得させるため
例外的な処理を行う機能があります。そしてしぃペインターはエラーの詳細を文章で表示させる事が出来ます。
安定したエラー処理を行っておりますので少しでも失敗しそうであれば構わず返してしまっても
大丈夫だと思います。
スクリプトがエラー表示を返したい場合、die関数でも良いですが
サーバーによっては表示されないらしいので次のように返してください。
Content-type: text/plain \n\n
error\n
(ここから下の文章を全て表示させます。日本語可能)
text/plainではなくても良いですがこれが適当だと思いますのでこれを使って下さい。
改行は\nでも\r\nでも可能です。PaintBBSは一行目がerrorと小文字でぴったり一致する時のみ
HTTP的には正常であってもエラーと認識します。
Webサーバーからのエラー(設置ミス等)やdie関数から取得できるメッセージは
返されるメッセージを全て表示します。
エラーメッセージの文字コードはsend_languageに記述されている物が利用されます。
文字コードがサポートされないものであったり設定が無い場合はUTF-8として解読します。
日本語のエラーメッセージを行いたい場合はUTF-8の文章をあらかじめ定義しておいて返すか
明示的にsend_languageに文字コードを指定するようにして下さい。ただしこの場合は
JVMがコードをサポートしていない場合、文字化けします。
#Microsoft製JVM つまりWinIEはUNIXが使うEUCが嫌いなのか、何故かそれをサポートしていません。
#そしてWinIEは最も多く使われています。
英文のみでエラーメッセージを表示する場合は文字コードを考える必要はありません。
画像などを投稿
した後の返り値にURL:と言う文字が初めにある場合、続く文字列をURLとして読み取ってその指定されたURLへジャンプする機能がつきました。これに
より細かい動作をサーバー側が管理する事が容易になります。
JavaScript(LiveConnect)の紹介
JavaScriptが使用可能な場合幾つかのライブコネクトが可能です。
document.paintbbs.getColors() document.paintbbs.setColors(String) |
パレットの取得とパレットのセット。 カラーは改行で区切られた#RRGGBBの16進です。 #を0xに変更しても大丈夫です。 |
document.paintbbs.pExit() | 投稿ボタンをJavaScriptから自動的に実行しま
す。 主に送信ボタンを自作する時に使われます。 |
document.paintbbs.str_header | この値にString値を入れることにより投稿時に拡張
ヘッダとして 送信されます。param値より優先されます。 |
function paintBBSCallback(value) | PaintBBSは特定のタイミングでこの関数をコール
します。 どの様なタイミングかはString値であるvalueを調べる事により判別が可能です。 アプレットを開始した時。valueは"start"。 送信ボタンを押した時。valueは"check"。 "false" 0 をreturnで返すとボタンを押した事が無効化されます。 "true" 1 をreturnで返すとPaintBBSの標準確認ウインドウを出さずに送信を 開始します。 送信直前。valueは"header"。 returnで有効なString値を返した時場合拡張ヘッダとして送信されます。 この値はstr_headerに直接入れた値やsend_headerパラメータより優先されます。 ライブコネクトを使用時返す値は必ずStringオブジェクトを宣言してから 返すようにして下さい。(Netscape4.*対策) 例 res=new String("this is test"); return res; 拡張ヘッダの優先度は高い純から コールバック"header"のレス str_headerに直接代入した値 paramタグのsend_headerで指定された値 です。 |
しぃ堂 Shi-dow
(shi-chan webpage)