POTI改 設置サポート掲示板

  • POTI-board改の設置サポート掲示板です。

[108] 書いた画像をjpgで保存するようにしたい

書いた画像をjpgで保存するようにしたいのですがどうすればいいでしょうか・・?

config.phpの下記部分の512を1に変えてみたりしたのですがpngで保存されてしまい。。
---------
/PNG画像のファイルサイズが設定値より大きな時はJPEGに変換
//アップロードしたPNG画像もJPEGに変換します
//JPEGに変換した画像ともとのPNG画像を比較してファイルサイズが小さなほうを投稿します
//単位kb
define('IMAGE_SIZE', '512');
--------

テンプレートはPINKを使わせていただいてます。

[109] Re: 無題
PNGではなく、JPEGにする目的が何かによりますが…。

>config.phpの下記部分の512を1に変えてみたりしたのですがpngで保存されてしまい。

ここの処理で1だとすると、1kbより大きなPNG画像はJPEGにいったん変換します。
しかし、できあがったJPEGのほうがファイルサイズが大きければJPEGを破棄してPNGで投稿します。

PNGで100kbのものをJPEGにすると200kbになる事があります。
ファイルサイズが逆に大きくなります。
その時はPNGのほうが劣化していないしファイルサイズも小さいので自動選択でPNGのまま投稿する処理をします。

JPEGと一言でいっても、品質60、85、98では画質もファイルサイズの圧縮率も異なりますが、このシステムでは品質98のJPEGを出力します。
この場合、画質はいいのですがやや大きなファイルサイズのJPEGになります。
それでも水彩を多く使ったものであればPNGよりJPEGのほうがファイルサイズは小さくなります。

[110] Re: 無題
>書いた画像をjpgで保存する

NEOの時は…ですが、必ずJPEGにする機能はPOTI改二にはありません。
しぃペインターとJavaのPaintBBSの時は
COOL SOLIDで保存タイプをJPEGにすればJPEGになると思います。

[111] Re: 書いた画像をjpgで保存するようにしたい
あとは、もし水彩をたくさん使った投稿でもPNGになるとしたら…。
JPEGに変換する機能がサーバにないのかもしれません。
GDモジュールを使ってJPEGにしていますがGDが使えないサーバもあります。
ほとんどのレンタルサーバでは大丈夫…なのですが。

[112] Re: 書いた画像をjpgで保存するようにしたい
ご回答いただきありがとうございます!
jpg保存したい理由としましてはtwitterにのせるときにpngだと劣化してしまうためですね。。
neo使用してると難しいとのことで、残念ですが了解しました!ありがとうございます!

[113] Re: 書いた画像をjpgで保存するようにしたい
Re: 書いた画像をjpgで保存するようにしたい  by さとぴあ@管理人 (189704 B)
絵板の時点でもJPEGになれば劣化します…。

かなり大きな画像…ですかね。
以下の情報通りなら900px以下の画像はPNGのまま投稿できるようです。
Twitter投稿時にJPEGに変換されないPNG画像の条件 | OPTPiX Labs Blog

画像サイズが900px × 900px未満であれば、PNG24でもそのまま投稿される。
透過部分もそのまま。
上記の条件から外れた場合は投稿時にJPEG変換(品質85%)が行われ、ファイルサイズの小さい方が投稿される

これとよくにた事をやっているのが現在のPOTI-boardです。
違うのは品質が85ではなく98。
85が一般的ですがノイズが多いです。

現状ではより高画質なPNGのファイルは手元に残るので、

MediBang Paintのような無料のペイントソフトでJPEGにしてもいいですし、私だったら、
ファイルビューアーXnView MPで個別に変換したり場合によっては選択したものを一括で変換…ですかね…。
xnViewでPNGをJPEGにエクスポートする時の画面を添付しておきます。
パソコンじゃないと使えなかたりはしますが。

ちなみに、従来のしぃペインターやJava版のPaintBBSは投稿処理の時点で劣化しながらJPEGを出力していたので「投稿ボタンを押す」→「劣化したという悲鳴があがる」の繰り返しでした。

[114] Re: 書いた画像をjpgで保存するようにしたい
詳しくありがとうございます!
なるほど絵版でもjpgになった時点で劣化してしまうのですね。。
ひとまずはアドバイスのとおり手動でjpg変換して見ようかと思います!ありがとうございました!

[81] 壁紙の設定方法

一つだけ質問があります。
全ページ(mono_catalog.html、mono_main.html、mono_other.html、mono_paint.html)を背景固定で壁紙を設定したいのですが、どうすればいいですか?
使用しているテーマはthemeです。

bbsnoteで背景固定で壁紙を使っているので、POTI改二でも使いたいと思いまして。

背景色が#EEEEEEだという事は分かり、
背景色だけでも変えられないかとmono_conf.scssやmono_main.cssを弄ってみたのですが、全く反映されません。
ご教授願います。

返信が3件省略されています。全て読むには返信ボタンを押してください。

[85] Re: 壁紙の設定方法
Re: 壁紙の設定方法  by さとぴあ@管理人 (442633 B)
Chromeのデベロッパーツールで確認するとこんな感じです。

[86] Re: 壁紙の設定方法
Re: 壁紙の設定方法  by さとぴあ@管理人 (446245 B)
私も、このCSSの書き方は詳しくないのですが、
collar [MONO] [dark] [deep] [MAYO]
のリンクのうち、
[MONO] なら、
mono_main.css
[dark] なら
mono_dark.css
で設定を変更すれば反映されるようです。
気をつけなければいないのがブラウザのキャッシュで、変更しても変更前のCSSが読み込まれます。
それを防ぐには、Chromeのデベロッパーツールを開いた状態で、更新ボタンを長押しして、ハード再読み込みをします。

[87] Re: 壁紙の設定方法
ありがとうございます!
無事反映されました!
本当はPINKを使いたかったのですが、画像投稿機能がないのでthemeを使いました。

[73] 提案したい事があります

こんばんは。
改二の設置自体は上手く行ったので、
困っているわけではないのですが、提案したい事があります。

荒らし対策として以下の機能を装備して欲しいです。
1.コメント本文の最低文字数を設定出来るようにする(短文投稿を繰り返す荒らし対策。最低文字数より少ない文字数の時は「投稿内容を認識出来ませんでした」とエラー表示して、何故投稿出来ないのか分からないようにしておくと効果的です。)
2.プロキシサーバー経由の投稿を拒否する(拒否するかは管理者の任意)
3.アクセス解析等のタグやバナーを貼る場所を作って欲しい

[74] Re: 提案したい事があります
1.の荒らし対策は…。
例えば要望のあったものを実装するだけ…なら短文の投稿を拒否はできます。
懸念は、例えばキャンバスに線を一本引いただけの投稿は拒否という機能がお絵かき掲示板にはありますが、それによってこの掲示版は投稿できないという問い合わせの発生となるケースが何件もありました。
従って慎重に考えなければいけない事だと思います。(つづきます

[75] Re: 提案したい事があります
2.は正直にいいます最近の公開Proxyはホスト名にne.jpが入ったり80番以外の公開Proxyがあったりでお手上げです。
そのため改にはあったProxyチェックを改二で削除しました。
こちらの開発能力が向上して対応できるようになる時がくるかもしれませんが現状では無理です。
また、Proxyを使う事でSSLを実現しているサーバにも対応する必要があり、だったら設定項目を追加して…とやっていくと、この設定は何のためにあるのか開発側でもわからなくなる設定項目ができてしまいます。
→実際にこれまでの設定項目が何のためにあってどういう動作をするのか開発側でもわからないという事例が発生していました。

[76] Re: 提案したい事があります
Re: 提案したい事があります  by さとぴあ@管理人 (42519 B)
3.アクセス解析等のタグやバナー
GoogleAnalyticsならテーマのHTMLの<head>から</head>の間にコードを貼り付ければ解析できます。
しかし、HTMLファイルが4個から5個あって、HTMLファイルの編集に慣れていない人には不親切…ではあります。
configなどで設定可能にする場合はテーマ作者の方のHTMLの書き直しも必要になります。
正直にいうと、テンプレートの仕様をあまりいじりたくない…というのもあります。
しかし、これにさらにTwitterカードのメタタグが加わる事もありますので、どうするか相談してみます。
画像は、テーマのHTMLファイルをVScodeという無料のエディタで開いた画面です。
Google Analyticsなら<head>のすぐ下に解析用のコードを貼る。
バナー広告が最上段なら<body>の真下。下段なら</body>の上…ではだめでしょうか?
HTMLを編集すればどの位置でもバナーを表示できますが、テーマのHTMLのカスタマイズ作業にはなります。

[77] Re: 提案したい事があります
そのような事情があったのですね。
無理強いみたいな感じになってしまってすいません。現状維持で問題ありません。
大変素晴らしいものを開発してくれてありがとうございます。
bbsnoteを使っていたのですが、Javaのサポートが終了して描画機能が動かないのに気付いたのが去年のこと。
NEOを見つけた時は衝撃的でした。

>バナー広告が最上段なら<body>の真下。下段なら</body>の上…ではだめでしょうか?
全然大丈夫です。

[78] Re: 提案したい事があります
Re: 提案したい事があります  by さとぴあ@管理人 (27544 B)
1.の要望を改造で個別に対応してもらう方法を書いておきます。
//本文に日本語がなければ拒絶
という処理をしている箇所が2箇所あります。
その真下に以下のコードを貼り付けます。

if (mb_strlen($com) < 10){//文字数が10文字未満なら処理中断
exit;
}

これだけではエラーメッセージはでませんが処理は中断されます。

if (mb_strlen($com) < 10){//文字数が10文字未満なら処理中断
error(MSG035);
}
とするとエラーメッセージがMSG035なので、「日本語で何か書いてください」というエラーメッセージがでます。
そのエラーメッセージじゃない…
という場合は、使っているテーマの
template_ini.phpに、番号と出したいエラーメッセージを追加して、potiboard.phpのの該当の箇所にそのエラーメッセージの番号を入れれば任意のエラーメッセージを出せます。

[79] Re: 提案したい事があります
短文投稿の…改造方法が入れ違いになってしまいました…。
いろいろと細かくてすみません…。

[80] Re: 提案したい事があります
ありがとうございます!
その方法を教えていただけるだけで感謝です。
試してみたら処理も上手く行きました。

[66] お絵描きウインドウのアスペクト比

お絵描きウインドウのアスペクト比 by いずる (15916 B)
こんばんは、昨日は詳細なお返事ありがとうございました。

改v1.55.9と改二v2.6.6でお絵かき中、+ボタンでウインドウを拡大すると窓が縦長の長方形になってしまうのですが、これを改v1.41.1では有効だったスクエアに戻すことは出来ませんでしょうか。絵を描くことには支障ないのですが、スクエアサイズでの投稿を意図しているので、描画中も同様に確認したいのです。

連日の質問ですみません、よろしくお願いいたします。

[67] Re: お絵描きウインドウのアスペクト比
Appletの領域をこれもツールバーの左右切り替えに対応させるために、最低の高さを560pxに変更したからですね。

1. 窓ボタンをおして窓モードにする。
300x300pxで1920x1080のモニタであれば二倍に拡大された四角いキャンバスの全体を表示できると思います。

2. v1.41.1と同じになるように改造する。

if($picw < 300) $picw = 300;
if($pich < 300) $pich = 300;
if($picw > PMAX_W) $picw = PMAX_W;
if($pich > PMAX_H) $pich = PMAX_H;
// $w = $picw + 150;
if(!$useneo && $shi){
$w = $picw + 510;//しぃぺの時の幅
$h = $pich + 120;//しぃぺの時の高さ
}
else{
$w = $picw + 150;//PaintBBSの時の幅
$h = $pich + 172;//PaintBBSの時の高さ
}
// if($w < 400){$w = 400;}//PaintBBSの時の最低幅
if($h < 560){$h = 560;}//共通の最低高
//NEOを使う時はPaintBBSの設定
// if($w < 610 && !$useneo && $shi){$w = 610;}//しぃぺの時の最低幅
// if($h < 520 && !$useneo && $shi){$h = 520;}

ここの一連の箇所を1.44.1と同じにしてしまう…という解決方法もあります。

[68] Re: お絵描きウインドウのアスペクト比
if($h < 560){$h = 560;}//共通の最低高
の箇所で、
キャンバスサイズにあわせてAppletの高さを調整しても560px以下なら560pxにするという処理をしています。

ここが最低でも560pxになった事で、結果的にズームの時に縦に表示できる領域が広くなりました。
正方形ではありませんが、表示できる領域が上下に増えた感じになっているわけです。

ここの最低値を下げてやれば上下に拡大される領域が少なくなりますので、正方形に近い領域になると思います。

ツールバーの左右切り替えを使わないのであれば、ここだけv1.44.1の記述をコピペでいいと思います。
ただ…確認作業までしていないものですからテスト環境でためしてから使うようにしていただけるとありがたいです。

[69] Re: お絵描きウインドウのアスペクト比
Re: お絵描きウインドウのアスペクト比  by さとぴあ@管理人 (35646 B)
古いバージョンのPOTI-board改からコードをコピペしてみました。
この場合は左右切り替えには対応できないため、ツールパレットを左に配置するとこの画像のようになります。
右への配置であればv1.44.1に近い感じになります。

[70] Re: お絵描きウインドウのアスペクト比
貼り付けたコードの内容は以下の通りです。

if($picw < 100) $picw = 100;
if($pich < 100) $pich = 100;
if($picw > PMAX_W) $picw = PMAX_W;
if($pich > PMAX_H) $pich = PMAX_H;
// $w = $picw + 150;
if(!$useneo && $shi){
$w = $picw + 510;//しぃぺの時の幅
$h = $pich + 120;//しぃぺの時の高さ
}
else{
$w = $picw + 150;//PaintBBSの時の幅
$h = $pich + 170;//PaintBBSの時の高さ
}
if($w < 400){$w = 400;}
if($h < 420){$h = 420;}
// if($w < 500 && $shi){$w = 500;}
// if($h < 500 && $shi==2){$h = 500;}
//NEOを使う時はPaintBBSの設定
if($w < 500 && !$useneo && $shi){$w = 500;}
if($h < 520 && !$useneo && $shi){$h = 520;}

[71] Re: お絵描きウインドウのアスペクト比
画像そのものの拡大時の縦横比は改二の状態でも保持されています。
おそらく質問はそこではないという解釈でレスしました。
これまでできていたことができなくなった…とSNSの運営にいいたくなることがわたしにもあるのでわからなくはありません…。
ただ、iPadで描きやすくなるように…という点ははずせないものですから現時点では改造して対応していただく形になると思います。
機能の切り替えの設定項目を追加して対応…もやろうと思えば可能ですが、テーマのHTMLの書き直しが必要になり、設定項目が増えていくためなかなか難しいところです…。

[72] Re: お絵描きウインドウのアスペクト比
お世話になっております。改造のポイントを教えてくださって有難うございます。

仰る通り、画像そのものサイズではなく、見た目の表示を古いバージョンと同じにしたいという意図でした。前回の質問で教えていただいた描画サイズの変更も、無事再現できました。

iPadでの掲示板利用は個人的にも今後増えてくると思うので、テスト環境で旧仕様を試しつつ、新しい仕様にも慣れて行こうと思います。ありがとうございました!

[61] お絵描きサイズの最小値

お絵描きサイズの最小値 by いずる (14838 B)
はじめまして。

今後の保守を考えて「POTI-board改二 v2.6.6+PaintBBS NEO ver1.5.8」を設置しました。設置自体は成功し、お絵描きも問題なく出来たので、config.phpでお絵描きのデフォルトサイズを100x100に変更したのですが、

//お絵描きデフォルトサイズ
define('PDEF_W', '100'); //幅
define('PDEF_H', '100'); //高さ

と変更しても、NEO側では300x300になってしまいます。300以上のサイズは指定通りになるのですが、300未満のサイズは駄目でした。そこで、mono_main.htmlの100行目から129行目を添付画像の様に変更もしてみましたが、やっぱり駄目でした。

現在メインで使用している「POTI-board 改 v1.41.1+PaintBBS NEOv1.5.8」の組み合わせでは、デフォルトサイズ300x300で最小値100x100を選択してのお絵描きも出来ました。この場合、どこを変更すると適応されるのでしょうか。設置サーバーは「さくらのレンタルサーバ」です。
お手数をおかけしますが、よろしくお願いいたします。

[62] Re: お絵描きサイズの最小値
Re: お絵描きサイズの最小値  by さとぴあ@管理人 (46252 B)
残念ながら仕様です。
potiboard.phpの改造になります。
300x300を最小値に設定したのには理由があります。
iPadなどのタブレット端末で描く時に右手がツールパレットに接触して誤動作するのを防ぐためツールパレットを左に配置できるようにしましたが、ツールパレットを左の空きスペースに入れるための高さが300px以下では足りませんでした。
そのため最小値を300pxに変更する事になりました。
potiboard.phpの1578行目に
if($picw < 300) $picw = 300;
if($pich < 300) $pich = 300;
という箇所があります。
ここでは、もし入力された幅が300より小さければ300にする。もし入力された高さが300より小さければ300にするという処理をしています。
ここで最小値が決まっていますので、
if($picw < 100) $picw = 100;
if($pich < 100) $pich = 100;
とすれば、以前と同じサイズになります。しかし、改造になりますので、300pxが最小値なのは仕様ですという回答になってしまいます。

[63] Re: お絵描きサイズの最小値
//お絵描き最大サイズ(これ以上は強制でこの値
//最小値は幅、高さともに 300 固定です
define('PMAX_W', '700'); //幅
define('PMAX_H', '700'); //高さ

//お絵描きデフォルトサイズ
define('PDEF_W', '300'); //幅
define('PDEF_H', '300'); //高さ

以前は最小値100となっていたと思いますが、現在は300です。

[64] Re: お絵描きサイズの最小値
>POTI-board 改 v1.41.1
このバージョンのPOTI-boardには
脆弱性があります。
>警告
>ユーザーの入力、例えば $_GET や $_FILES のような、 信頼できないデータに extract() を使用しないでください。

また、非推奨のエラーが残っているため改1.55や改二よりも早い時点でこれからリリースされる将来のバージョンのphpでは動作しなくなる可能性が高いです。

仕様上気になる点があるかもしれませんが…。
新しいバージョンへの移行をおすすめします。

[65] Re: お絵描きサイズの最小値
返信ありがとうございます。
仕様ということで納得いたしました。改の更新と、新バージョンへの移行を進めたいと思います。
最小値変更のヒントもありがとうございます。改造はサポート対象外になってしまうと思いますので、正規版を運用しつつプライベートでこっそり試してみようと思います。ありがとうございました。