Menu
  1. PaintBBSとは?
    what's PaintBBS?(Japanese)
      
  2. 使い方 (Japanese)

  3. Webに設置する方法(pooCGI andaotamaCGI)
    setup on thewebpage


  4. カスタマイズ
    customize


  5. 確認されている問題点とその解決方法
    trouble shooting(Japanese)

  6. CGI作者の方への情報
    to cgi creater


著作権者名
Copyright
(c)2000-2001 しぃちゃん
(c)2000-2001 shi-cyan

ソフトウウェア名
Softwere name
お絵かきしぃ掲示板PaintBBS
Oekaki shi-BBS PaintBBS

動作環境
System requirements
Java1.*が使うことの出来るブラウザ(IEやネットスケープ等)
Macでも当然使用可能ですが、古いネットスケープをご利用の方は
上手く動作しない可能性もあります。この場合最新のブラウザとMRJという
Java仮想マシンをインストールして下さい。

IEの方が融通が利きますのでNetscapeにあわせて作成されています。
IE5以降は必ず動きます。NetScape4.7以降も大丈夫です。
Macの方はプラグインで動くブラウザを使用して下さい(IEやネスケの最新版等)
      run platform of Java(IE or netscape or etcbrowsers)

バージョン
Version
1.43

ファイル内容
(アップデート版のみ)
Into archive
(Update files only)
PainttBBS.jar アプレットです。
oekaki.html 公開用HTMLです。
Readme_Shicyan.html このドキュメントです。

PaintBBS.jar Applet file
oekaki.html   HTML for Applet
Readme_Shicyan.html document of this self

使用許諾について
Use permission
このアプレットはフリーソフトです。
個人、商用目的に関わらず自由にお使い下さい。
商用での使用時、どのような損失も作者は関知しない事にご注意下さい。

CGIが同梱されている場合、そちらの仕様許諾に関しては
CGI作者のヘルプをご覧下さい。
this program is free soft.
配布、改変条件
Distribution and
modification condition

改造、作成したCGI,HTML等を付け加えたアーカイブの配布を許可します。
ただしReadMe_Shicyan.htmlを変更したり、外さないようにして下さい。
アプレットの一部、若しくは全てのコードの改造、再利用は不許可とします。
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_Shicyan.html


保証/免責
Use permission
このソフトに対して何らかの保証を求めることは出来ません。
使用する場合はすべて個人の責任において御利用下さい。
万が一何らかの損失が出たとしても作者に責任は無い物とします。
Those who manufacture it make it to the thing not concerned at all.
It is not responsible for the author.

連絡先
contact to shi-cyan
メールかホームページの掲示板へお願いします。
質問は出来る限り質問専用掲示板にてお願いします。

CGIに関する質問は受け付けておりません。(アプレットに関することならOKです)
attention, shi-cyan is so poor in English.--;;;


E-Mail shirato@po.harenet.ne.jp
HomePage http://www1.harenet.ne.jp/~shirato/
DownloadPage http://hp.vector.co.jp/authors/VA016309/pbbs.html

質問掲示板supportBBS
http://www1.harenet.ne.jp/cgi-bin/cgiwrap/shirato/Child_Tree/cbbs.cgi
 
1 PaintBBSとは?

PaintBBSとは絵を描く機能を持ち、CGIに画像データを送信する
事が出来るアプレットの名前です。(CGIは別の名前が付いている場合があります)
またデータはpooさんのCGIと互換性がありますのでアプレットとoekaki.html(に相当するHTML)を
置き換えるだけで継続利用が可能です。また共存も容易に出来ます。

掲示板の部分は他の方が作成したものを使用します。
PaintBBSはCGIを含めて公開する事を認めていますので、アーカイブ内に
pooCGI互換CGIが入っている場合もあります。

ダウンロードページ内にあるフルパッケージ版は藍珠CGIが付属されている物で
バージョンアップをしたい方や、藍珠CGI以外のpoo互換CGIを使用する場合は
アップデート版をDLする事をお勧めします。


PaintBBSは次の事を基本的に念頭に置き作成されています。
  1. 初心者にやさしく、上級者もある程度満足する機能。

  2. 短時間でそれなりの絵を作成することが出来るインターフェース。
    掲示板と言う性質上、時間に対する効率がとても重要だと考えた為です。

  3. 高速な処理速度。

  4. 既存のお絵かき掲示板環境を継続利用、もしくは共存が可能な形態。
    共存,設置に関するご質問はCGIの作者にお願いします。

  5. PaintChatとの互換性。
    描写機能とインターフェース部分をPaintChatと共有する事により
    開発を容易にしています。また利点も数多くあります。

  6. 全てのプラットフォームでの動作
    Windowと性質上、Macの利用者がとても多いのでWindowsとMacは最低減完全サポートします。
    ネットスケープでの利用も可能です。
    (Macの場合MRJがインストールされている事が必要です。Apple社のHP上に置かれています。)

  7. 日本語以外に最低限英語のサポート。自動的に使用言語は選択されますので通常気にする必要はありません。

また機能的な特徴としてアンドゥの回数がデフォルトで90回超(!)。
上手く設定することにより200回くらいまではストレスなしに使える筈です。
恐らくこれは業界初ですので、機能的な特徴としてあげられると思います。
全体的にかなり描写速度が速いと言うのも特徴の一つです。
基本的に描写部分は過酷な環境である絵チャットの為に開発されたものであり
安定性、メモリ消費量、速度等かなり洗練された物である筈です。

もちろんキャンバスの大きさに処理速度が左右されることもありません。
たとえば こんな風に
BBSとしては大きなキャンバスですがPaintChatはこのサンプルの倍はあるキャンバスを
使って使用している方も多数います。ただしアンドゥのメモリ消費量はキャンバスの大きさに
大きく左右される為、巨大なキャンバスを利用したい場合は
アンドゥの回数は余り多めに設定しない方がいいかもしれません。


掲示板部分は製作していませんが、これはどちらかと言うと利点の方が大きいです。
まずしぃちゃんはお絵かきの部分だけに専念出来ますし、CGI作者はお絵かきは気にする事無く
作成出来、結果クオリティーの高い物に仕上がる筈です。
またCGI作者は比較的多いですので為選択肢が増えます。

日本語環境以外の利用者は自動的に英語モードに移行するようになりました。
これによりPaintBBSに関しては日本語モードの設定をする必要はありません。

2 使い方

基本の動作(恐らくこれだけは覚えておいた方が良い機能)
<基本>
PaintBBSでは一回の右クリック,ctrl+クリック,alt+クリックは同じ動作をします。
基本的に操作はクリックか右クリックで動作が完了します。(ベジエやコピー使用時を除く)

<ツールバー>

ツールバーの殆どのボタンは複数回クリックして機能を切り替える事が出来ます。
右クリックで逆周り。パレットの色,マスクの色,一字保存ツールに現在の状態を登録は全て右クリックです。
逆にクリックでパレットの色と一時保存ツールに保存しておいた状態を取り出せます。

<キャンバス部分>
右クリックで色をスポイトします
ベジエやコピー等の処理の途中で右クリックを押すとリセットします。

特殊動作(使う必要は無いが慣れれば便利な機能)
<キャンバス部分>
値を変更するバーはドラッグ時バーの外に出した場合変化が緩やかになりますので
それを利用して細かく変更する事が出来ます。
Shift+クリックで色をデフォルトの状態に戻します。

<キーボードのショートカット>
+で拡大-で縮小。
Ctrl+ZかCtrl+Uで元に戻す、Ctrl+Alt+ZかCtrl+Yでやり直し。
Escでコピーやベジエのリセット。
スペースキーを押しながらキャンバスをドラッグするとスクロールの自由移動。
Ctrl+Alt+ドラッグで線の幅を変更。

ツールバーのボタンと特殊な機能の簡単な説明

  • ペン先(通常ペン,水彩ペン,テキスト)
    メインのフリーライン系のペンとテキスト
       
  • ペン先2(トーン,ぼかし,他)
    特殊な効果を出すフリーライン系のペン

  • 図形(円や長方形)
    長方形や円等の図形

  • 特殊(コピーや反転等)
    コピーは一度選択後、ドラッグして移動、コピーさせるツールです。

  • マスクモード指定(通常,マスク,逆マスク
    マスクで登録されている色を描写不可にします。逆マスクはその逆。
    通常でマスク無し。また右クリックでマスクカラーの変更が可能。


  • 描写方法の指定。(手書き,直線,ベジエ曲線)
    ペン先,描写機能指定ではありません。
    また適用されるのはフリーライン系のツールのみです。

  • カラーパレット郡
    クリックで色取得。右クリックで色の登録。Shift+クリックでデフォルト値。

  • RGBバーとalphaバー
    細かい色の変更と透過度の変更。Rは赤,Gは緑,Bは青,Aは透過度を指します。
    トーンはAlphaバーで値を変更する事で密度の変更が可能です。


  • 線幅変更ツール
    水彩ペンを選択時に線幅を変更した時、デフォルトの値がalpha値に代入されます。

  • 線一時保存ツール
    クリックでデータ取得。右クリックでデータの登録。(マスク値は登録しません)

  • 全消し



投稿に関して:
絵が完成したら投稿ボタンで投稿します。
絵の投稿が成功した場合は指定されたURLへジャンプします。
失敗した場合は失敗したと報告するのみでどこにも飛びません。
単に重かっただけである場合、少し間を置いた後、再度投稿を試みて下さい。
この際二重で投稿される場合があるかもしれませんがそれは
WebサーバーかCGI側の処理ですのであしからず

アンドゥを有効に利用するコツ
PaintBBSは膨大な量のアンドゥを無駄なく使う事で製作時間を短く出来るように
思案されたお絵かきソフトです。
他の絵掲示板を利用している方はアンドゥの少なさから(恐らく1回しかない)
線を長めに描写していると思います。
PaintBBSのアンドゥの性質上余り長い線を引かずに細かく描写していく事により
その真価を発揮します。
また、例えばフリーライン系ツールで背景を塗りつぶす時、一回も離さずに塗りつぶした場合
次の数回のアンドゥが少し重くなります。編集のしやすさから言っても何度か区切りをつけると良いです。
水彩、ぼかし等少し重めのペンでの長期描写も同様に短く区切りをつけて描写していくことをお勧めします。
基本的に贅沢に使用してもアンドゥが足りなくなることはそうないと思います。


3 配布方法
  1. pooさんのCGIを使用する場合(When you usethe applet(CGI) of poo)
  2. 新規に設置する場合(New construction(aotamaCGI and more))
  3. バージョンアップについて(about versionup)
4 カスタマイズcustomize
if you wantcustomize,prease write tagofparam to oekaki.html.
<param name="name of option" value="value of option">


このアプレットは多くの箇所をカスタマイズする事が可能。
しかしすべて省略可能です。
oekaki.htmlアプレットタグ内のparamタグに以下のような情報を記載してください。
例:<param name="image_bkcolor" value="#ffffff">

適用か非適用の選択は適用の場合true,yes,1のどれかを記述して下さい。非適用はそれ以外の値、
例えばfalse,no,0を記述して下さい。未記述の場合はデフォルト値が適用されます。
nameに変更する場所、valueに変更する値を記載。ステータスは現在以下の通り。
image_width       キャンバスの幅。
width of canvas

image_height
       キャンバスの高さ。
height of canvas

image_bkcolor
 キャンバスの背景色
painting color on the background of canvas

image_bk
 アプレットの背景のイメージ(タイル張り表示)
painting tile image(jpeg or gif). onthe applet backgroung

image_size ここに設定された値(KByte単位)を超えた場合
減色処理を施します。色の劣化は極力抑えていますので
通常この設定を適用する事を奨励します。0で減色無し。65Kbyte辺りが適当です。
when this size is exceeded,the coloris decreased. (unit of KByte)

image_canvas  指定されたイメージを読み込み、キャンバスに書き込みます。
読み込めるフォーマットは環境に依存します。WinIEはpngを読み込めません。
MACやNetScape6の場合は読めると思います。
       
undo
 アンドゥの回数。(デフォルトは90回。)
size of undo(default size is 90)
アンドゥの回数指定ですが、この値にきっちり収まるものではなく、値は多少前後します。
回数はundo_in_mgの倍数に収まる形となります。

undo_in_mg
 アンドゥを幾つにまとめて保存しておくか。(デフォルトで15)
この値を増やすとメモリの節約が出来るかわりにレスポンスが多少鈍くなります。
減らすとその逆です。メモリはundo/undo_in_mg分消費します。
最低3で最高アンドゥの回数です。アンドゥの回数を指した場合、メモリの消費は
アンドゥの回数に関係なくキャンバス1枚分になります。


color_text
アイコン等アプレットのテキストカラー
word colors

color_bk
 アプレットの背景カラー
painting color to applet ofbackground

color_bk2
 アプレットの網状の線のカラー
draws lines on the backgroundof applet

color_icon
 アイコンのカラー
painting color of icons

color_frame
アイコンの枠のカラー
frame of icons

color_iconselect
 アイコンを選択時出る枠のカラー
painting color of icons selection

color_bar
スクロールバーのバーのカラー
color of  scrollbars

url_save
 保存を担当するCGI(若しくはそれに相当するもの)
place send data of image(CGI or etc.)

url_exit
保存成功時にジャンプするURL
after fineshed,jump to URL.

url_target
保存成功時にジャンプするURLを指定するターゲット
(複数投稿は出来ない仕様になっていますのでご注意下さい)
target of frame.

poo
        保存フォーマットを既に存在する絵掲示板のデータと互換にする           
これを適用した場合PaintBBSの拡張機能は適用されません。
(アプレットとoekaki.htmlを差し替えるだけでも動作すると言う意味です。)
例外としてサムネイルを設定した場合は送信するようにしておきました。
ただしpoo互換CGIでサムネイルを送信した場合、画像が壊れますので御注意下さい。
詳しくはこちら。     
poo CGI format and to   synchronize,withtrue.

send_advance Javaの標準URLConnectionを使用せず環境に依存しない独自の方法でデータを投稿します。
この機能を使用時は送信状況を細かく表示する事が出来ます。また環境に依存しません。
投稿に失敗した場合標準のURLConnectionで投稿しますので通常falseを選択する必要はありません。
標準URLConnectionは環境に依存しさらに送信状況は細かく表示されません(JavaURLで送信中と出るだけです)
この設定が無い場合標準でtrueが選択されます。
Use advanced URLConnection. true or false

send_header データを送信した時POSTデータの一番初めに指定されたフラグを初めに送信します。
send_language データのエンコードの種類
データは指定された言語へエンコードを施し送られます。languageになにも指定していない場合は
utf8が選択されます。日本語を使いたい場合はsjis,jis,euc,utf8のいずれかを記述して下さい。
拡張ヘッダは個々のCGI作者に開放している物でデフォルト値等は存在しません。
Value is transmitted at the beginning of firsttransmitting data.data foamat
       
thumbnail_width
thumbnail_height
送信するサムネイル画像の横幅と縦幅です。%でも指定可能。
両方画像と同じ大きさだったり(両方100%等)両方設定が無い場合はサムネイルを送信しません。
詳しくはこちら
width and height of samnail

以下PaintChat互換


tool_advance
色数が増えるツールの使用を制限します。trueで可falseで不可
Use limitation of tool which uses a lot of colors. true or false

tool_color_button ボタンの色(ツールバー)
colors buttons(tool bar)

tool_color_button2 ボタンの色(ツールバー)
colors of buttons(toolbar)

tool_color_text テキストの色(ツールバー)
color of text(toolbar)

tool_color_bar 変更バーの色(ツールバー)
color of value change bar(toolbar)

tool_color_frame 枠の色(ツールバー)
color of  buttons frame(toolbar)

color_1~12  パレットのカラー
color_1~12 is palette colors



 
5 確認されている問題とその解決方法
  1. アプレットをバージョンアップしてもブラウザが認識せずバージョンが変わらない場合

  2. アーカイブにアプレットファイルPaintBBS.jarが存在しない時

  3. 水彩ペン、ぼかしペン等特殊なペンが使用出来ない時

  4. 投稿が出来ない場合

  5. 拡大ツール等が効かなくなる、拡大時歪む場合

  6. アプレットが表示されない時(ステータスバーにpbbs.PaintBBS   not foundとでている時)

  7. 投稿時色が変わってしまう場合

  8. 色数が増え、ファイルが大きくなりBBSの設置が難しい場合



  1. アプレットをバージョンアップしてもブラウザが認識せずバージョンが変わらない場合

    ブラウザが新しいアプレットを認識せずキャッシュから
    アプレットを取得する為このような状態が起こります。
    とくにローカルで試しに開いて見た時等は良く前のバージョンのままになっています。
    解決方法としてはアプレットのファイル名を変更し、
    アプレットタグのオプションarchiveに書き込まれているファイル名を変更して下さい。


  2. アーカイブにアプレットファイルPaintBBS.jarが存在しない時

    eoと言う解凍ソフトを使用している場合、「徹底解凍しますか?」と聞かれますが、
    これを許可してしまいますとアプレットファイルまで解凍されてしまいます。
    ですので徹底解凍の選択は「いいえ」を選択するようにしてください。
    基本的に徹底解凍をすると正常に動作しないソフトがある可能性がある事を
    覚えておくと良いかもしれません。


  3. 水彩ペン、ぼかしペン等特殊なペンが使用出来ない時

    PaintBBS1.30で修正済みです。


  4. 投稿が出来ない場合

    サーバーが重い時、もしくは指定されたCGIが存在しない場合や
    CGIの設定を間違えている場合の時に発生します。
    投稿に失敗したとしても描いた絵は残っていますので、
    しばらく待った後再度投稿する事をお勧めします。
    パラメータのurl_saveの設定先にCGIがなかったりアクセス出来ない場合は成功しません。
    またCGIと違う場所のWeb領域にPaintBBS.jarが置かれている場合は送信が出来なくなる可能性があります。
    値をhttp://から始まる絶対URLで指定すると良い場合もあります。
    細かい設定は個々のCGI作者にお尋ね下さい。


  5. 拡大ツール等が効かなくなる、拡大時ゆがむ時場合

    PaintBBS1.10以前のバージョンでは低スペックの方はリソース不足を起こす可能性がありますが、
    1.11以降は少しはマシになっているはずです。気になる方はバージョンアップをお勧めします。
    また1.11以前はディスプレイの問題により、ブラウザのウインドウが特定の位置にあるとき
    歪む可能性がありますので1.12以降の最新版をご利用下さい。


  6. アプレットが表示されない時(ステータスバーにpbbs.PaintBBS not foundとでている時)

    これはPaintBBS.jarが見つからなかった時に起こります。
    解決方法としてhtmlファイルをテキストエディッタ等で開き、<applet>タグ内のarchive内に書かれている、
    PaintBBS.jarをhttp://から始まるURLに修正して下さい。

    例:PaintBBSがhttp://foo.com/PaintBBS.jarにある場合
    <applet archive="http://foo.com/PaintBBS.jar">

    これで駄目な場合はそもそもhtmlに書かれたurlにPaintBBS.jarが存在しない場合や
    その場所に置く事を許可されていない場合等です。

    ネットスケープ4.*環境の時,日本語が入ったローカルディレクトリで試した場合
    アプレットは読み込まれませんので御注意下さい。

  7. 投稿時色が変わってしまう場合

    PaintBBS1.30からは完全に修正されています。


  8. 色数が増え、ファイルが大きくなりBBSの設置が難しい場合

    色数や画像のサイズが増えますと画像データの大きさが大幅に増加します。
    その場合そのまま使用すると使い勝手が悪くなりますので次のどれかを
    採用するようにして下さい。

    PaintBBSは画像のサムネイルを生成し、送信する機能があります。
    サムネイルに対応したCGIを使用すれば画像が重くても大丈夫な筈です。

    データの量が指定された容量を越えた場合減色する機能を追加しました。
    色は余り劣化しませんが、グラデーションが若干少なくなります。
    かなり容量が減りますのでこれで十分ではないかと思います。
    <param name="image_size" value="65">
    これで65KByteを超えた場合減色すると言う意味です。

    水彩、ぼかし、焼き込み等の色数が大幅に増加するツールの使用を制限する
    パラメータをOFFにすることです。oekaki.html(に相当するHTML)のアプレットタグ内に
    <param name="advance" value="false">
    と記入、もしくは編集することによりツールバーから取り除くことが出来ます。
    (通常ペンでalpha値の変更は制限出来ませんが、
    水彩とは性質が違い、あまり色数は増えないと思います)


6 CGI作者の方への情報

this is the format of POST Data

P(1Byte Character)
Length of The header for CGI author(8byte Characters)
The header for CGI author
Length of PING
\r\n
PING
Length of thumbnail(format is PING 8byte Characters)
thumbnail
(format is PING)

Length is not transmitted, either, when there is not thumbnail
.

format of poo=true
0x00000000
\r\n
PING
Lnegth of thumbnail
l(8byte characters)
thumbnail




CGIに送信するデータの説明をします。<>は説明の便宜上つけているだけです。
send_headerはアプレットのparamタグで記述した場合送信されます。
send_headerは付け足しても\rを使用しない限りpooCGIと互換性がなくなることはありません。


P(1Byteの識別文字)
拡張ヘッダ長(必ず8文字8Byte)
拡張ヘッダ
画像の大きさ(必ず8文字8Byte)
\r\n(互換性の為入れています。ここから下はバイナリ含むの意味)
画像
サムネイル長(必ず8文字8Byte)
サムネイル

長さは8文字のアスキー文字で送信されます。
足りない分は0で埋められます。(1は00000001)
サムネイルを送信しない場合はサムネイル長とサムネイルは送信されません。

poo=trueの時は従来の
0x00000000
\r\n
画像データ
サムネイル長(必ず8文字8Byte)
サムネイル
を送信します。

サムネイルを送信しない場合はpoo=falseであっても
pooCGI互換です。pooCGIとは互換ですが旧バージョンの藍珠CGIとは非互換ですので、
現状の藍珠CGIを利用する場合はpoo=trueをfalseに変えないで下さい。

拡張ヘッダはアプレットのパラメータ
<param name="send_header" value="この部分の文字列">
を送信します。この部分はCGI製作者が容易に開発を
可能にする為に入れた物ですので制限は特に定めてありません。
デフォルトはUTF-8ですのでShift-JIS等を利用したい場合は
<param name="send_language" value="sjis">と言う感じのパラメータを追加して
下さい。

サムネイルは
thumbnail_width,thumbnail_heightのどちらかに画像の大きさより
小さな値が入った場合作成、送信されます。
%での指定も可能。(どのパラメータにも指定可能であったりします)

ついでにcompress_levelで減色レベルも変更可能。
4がデフォルト。0でも微妙に減色されます。



送信後PaintBBSはデータを受け取りますが現在は特に何もしません。
近い将来退室URLになる可能性もあります。




JavaScriptが使用可能な場合幾つかのライブコネクトが可能です。

document.paintbbs.getColors(String)パレットを取得
document.paintbbs.setColors(String)パレットをセット
カラーは改行で区切られた#RRGGBBの16進です。

反対に
function paintBBSCallback(value)
はアプレットから特定のタイミングで送信されます。
現在はアプレットを開始した時(valueは"start")と送信直前(valueは"header")のみです。
headerの時に有効なテキストを返した場合拡張ヘッダとして送信されます。
send_headerパラメータより優先されます。

ライブコネクトを使用時返す値は必ずStringオブジェクトを宣言してから
返すようにして下さい。(Netscape4.*対策)

res=new String("this is test");
return res;
















Javaなお子様的HP
(shi-cyan webpage)