GD ライブラリに、しばし苦戦する

 

萌え時計というボクがテキトーに作ったウェブアプリ(?)があるのだが、それにキャラクタの大きさを変えられるようにしようと思いついたので、ちょっと組んでみることにした。萌え時計の仕組みはとても簡単で、背景画像とキャラ画像が別々になっていて、建物の外か中・時間帯・場所・表示するキャラの種類が決まったら、それに適した背景にキャラクタを合成して表示しているだけだ。

だから、キャラクタを拡縮して背景に貼り付ければそれで終了である。

って思ってたんだけど、そもそも読み込んだ画像を単純に拡縮する命令は、PHP5.5 以上じゃないと使えない(amatsukami.jp はPHP5.3)。ちょwww
では拡縮はどうするのかというと、背景と合成する時にキャラのどこからどこまでを、どこからどこまでとして貼り付けるなんて方法でやるのである。たちえば (0.0) – (99,99) という 100 x 100 ドット四方の画像を、貼り付け先の (0,0) – (199, 199) にってやると倍の大きさで貼り付けられるわけだ。
%指定ですらない!

そしてこの仕様では問題が起きる。背景の画像は 512×512 ドットあるのだが拡大率によっては立ち絵がこの大きさを超えてしまうこともあるのだ。そうなると貼り付け先の領域が存在しないことになって合成がうまく行かないのだ。
そこでどうしたかというと簡単に%指定できるように、立ち絵を読み込んだら、それに%分拡縮した何もない画像を作成し、そこに元の立ち絵を目一杯貼り付けて拡縮するようにした。そしてあらためて、背景にこの拡縮済みの立ち絵を貼り付けるのである。

まぁそんなわけで、キャラの大きさが指定できるようになった。

Docomo のデータ回線を解約する

二年縛りが解けたので Docomo のデータ回線を解約することにした。
ボクは三つの回線を契約している。

  1. 主回線(iPhone 7)
  2. データ専用回線(MR04LN
  3. 開発用回線(iPhone 7)

ところがコレには欠点があった。それはシェアパックだ。いや、これ自体は別に悪いものではないのだが、上の 3 回線の通信量はボクに紐付けられている。どの回線使用しようが、ボクがドコモと契約した通信量の制約を受けてしまう(かつては、各回線ごとに通信量の最大値が決まっていた)。
そのため、データ専用回線は非常用の回線(たとえばドコモの許容量をオーバーしてしまった時に使うなど)という意味がなくなっていたのだ。

しかも月 2,572 円もする。これなら MVNO を契約した方がマシである。
ということは結構前から考えていたんだけど、二年縛りのため解約できないでいたのだ。ちなみに違約金は 9500 円らしいので 4 ヶ月以上前だったら解約してもよかったんだよなぁと何となく思う(汗

ついでに契約を見直してもらった。カケホーダイを 1000 円安いライトへ。他にもなんかボクが知らない間にいろいろ入っていたよく解らないサービスを全部解約。機種変するときにつけたものの翌月に解除するのを忘れていたものだと思われる。
あと他にも i-mode 時代に使っていたと思われる、今は使ってないサービスがあったのでそれらも。なんだかんだで、データ専用回線の分と合わせて 5000 円以上削減された様子。
だんまりでお金引かれてる人、いっぱいいるんだろうなぁと思いつつ……。

9/23 に買ってきた液晶が 1920×1200 ドットの Android 端末の電源が入らなくなった。なんだこれー?? 電池残量さえ出ない。普通、電源ボタンをを長押しせずに普通に押すと電池残量が表示されるじゃない?? それすら出ない。

ありゃー、こわれたかぁ……さすが 3000 円。せっかくのデュアル ディスプレイが……と思ったら、ただ充電が切れてただけだった。

えー、充電切れてても、電池残量くらいは出るよね??
というか、この kobo Arc 7HD という機械はこの電源回りの告知がすごく不便なんだよね。というのも電源ボタンを普通に押しただけで電源が入ってしまうので、電池残量だけ見たいとかいうことが(たぶん)できない。
やはり安かろう悪かろうと言うことか。まぁ、こちらはディスプレイとしてしか使ってないので、そんなに文句はないのだが……。

ふと画面を見ると、叶さんの手が欠けているのを見つけてしまった。
なんだこりゃー?? 背景に立ち絵を重ねる処理になにか御簾でもしたんだろうかと思って PHP のソースを見直すも、おかしいな所は特にないように見える。あれこれと頭をひねったものの、やはり原因がわからなかったので何となくデータ(画像)の方を見に行ったら、この神坐湖駅前の背景データが 512×512 よりでかかった。
HTML によって表示は 512×512 に縮小して表示されているものの、内部の処理は実際の画像データの大きさに従って反映されるので、512×512 より広い部分はデータはコピーされないため、このようなことになってしまったようだ。

今は 512×512 で決め打ちしているが、背景データの大きさに合わせるようにしたほうがいいのかなぁと思いつつ……。

復帰後最初のまぜはる

萌え時計に黒翼とテトメトを追加した。脇役もちょっとずつ追加できればなぁと思いつつ。
追加したあと、黒翼はすぐに出たがテトメトがなかなか出ない。レアキャラになってしまった。
萌え時計のキャラ表示決定部分は、今のところ完全に立ち絵ファイルのランダムである。そのため、表情やポーズが多いキャラほどヒットする確率は高くなる。テトメトはポーズも表情も少ないので、なかなかヒットしないのだ。
もう一つ、着物姿の黒翼(表記ではクロハ)もヒットしづら。こちらは夜 Only になってしまっているためだ。ゴスロリの黒翼は F5 連打で割とすぐ出てくると思う。

と言うわけでお昼はまぜはるに行ってきた。台湾まぜそばで有名なお店である。
渋谷から浅草橋に戻ってきてからのリハビリ飯(ぁ
辛くて濃くてうまい、と思う。コレを置かずにご飯がいけてしまう(笑

日乃屋の野菜カレーは根菜だった

日乃屋カレーへスペシャルカレーを食べに行った。最近、日乃屋カレー率高いなw
まぁ好きなんだからしようがない。
そして今回は、野菜とウインナーと鶏南蛮をトッピングに選んだんだけど、野菜がサツマイモにズッキーニ、パプリカ、レンコンというラインナップで驚いた(笑)。いやまぁ、全然いいんだけど、ただサツマイモはやっぱりモサモサしちゃうねー。ルーが甘いから余計甘くなっちゃうし。
レンコンはイイ感じ。パプリカとズッキーニも水分少なめでベチャッとならないようになってた。

そして今日も 9/25 だというのに 30 ℃越えである。

萌え時計をレスポンシブデザインに対応させた。サイズ指定がいっさい必要なくなり、萌え時計が配置された要素に従うようになった。だいたいは iframe を使って貼ると思うのだが、その iframe の大きさに勝手に合わせるようになる。
上のツイートでもブラウザいっぱいに表示された萌え時計の文字が、画像の大きさに合わせてちゃんと拡大されて、位置も概ね合っていることが解る。

詳しい記事はこちらに。

ただ今回の対応では縦横比が 1:1 じゃないと正常には表示されない。
萌え時計はそもそも 1:1 なので、まぁ別にいいかって感じではあるのだが……これが長方形だと今の組み方では文字の大きさを幅に対してしか見てないので、横幅に関しては正しく認識するけど、縦幅に関しては正しい大きさにならない。縦横比が 1:1 だと横の%=縦の%でもあるので正常に表示されるのだ。
縦に対して考慮してないのは、Microsoft Edge が対応してないから(汗
なのでそのうち、対応する予定。

なんねんぶり!? やすべえ

やすべえに行った! 事の始まりは、同僚が出向している芝公園にすげー大盛りの店があるので来いよと誘われたことである。ところが行ったら閉まってた(汗)。ご飯がなくなると営業時間よりも早く閉まるらしい。ううむ……

帰り、どこかで食べようと言うことにはなったものの、ボクの胃袋はすでに大食いモードに入っており、生半可な店では満足できないぞと思いながら車を走らせていると、やすべえを思い出した。そうだ、あそこならけっこう量が食えるはずだ。
というわけで、新宿のやすべえにやってきました。440g の大盛りを頼む。

ボクの記憶の中にあるやすべえとまったく変わってなかった。
食い応えあるし、味もまぁまぁ。うまかった!
システムも特に変わってなかった。ということは完成されているんだろう。

いつも通りスペシャルを頼んだ。スペシャルには水餃子が二つ入っているのだが、これがけっこう腹にたまるんだよね。これを計算して麺の量を決めないと、後悔することになるw

しかし新宿店、大人気だったわー。並んでた。ボクらの前に 10 人はいたかなぁ?
ボクらが入れた後も続々と客が来ていた。すごいなぁ。
ちなみに、タイトルは「なんねんぶり」と書いてしまったが、日記を検索すると 2013 年の 4/30 に池袋店に来店しており、そんなに久しぶりでもなかった(笑)。ボクの記憶では池袋に勤めていた時(8 年くらい前?)以来だと思っていたので……。

話変わって、萌え時計に「鳥越 抄」を追加した。っていうかてっきり入れたもんだと思ってた。まぁ人気なかったからいらないと思ったのかも。前作の 1/2 summer で攻略対象でもないのに妹が人気が出てしまって、その反省もこめてあまり人気が出ないように作ったキャラである。
萌え時計では製品版には入ってない、スマートフォンを持っている立ち絵でそれのスマートフォンを持っていないバージョンも作ってみた。

iPhone の動画とか西武池袋線とか萌え時計とか

iPhone で撮影した動画を Premiere で読み込ませると、映像と音声が同期しないという記事は以前にも書いた。原因はわからないまま、現在も動画を編集するときは 60 分 あたり 2 秒ほど音声を短くするという対処方法をとっている。
でもこれをやるのはけっこうめんどくさかった。

上のツイートでは Premiere が直してくれたようにつぶやいているが、実はこれ、iPhone 7 だと問題なく、iPhone 6 ではやっぱり音と映像がずれていた。というのも Premiere 2017 でも iPhone 6 で撮ったデータは相変わらずズレているからだ。
どうやら Premiere が悪いのではなく、iPhone 側のデータに問題があるようだ。

そしてこれは iPhone 7 で解決したわけでもなかった。
2 ヶ月後の話になるが、iPhone 7 でも 60fps のデータは音ズレが発生することが判明。やはり iPhone 側に問題があるようだ。だが、ネットで検索してもこの現象に悩んでる人がいないみたいなんだよねぇ? iPhone はプロが映像作品を作る時にも使われているらしいのでこの問題にぶち当たってる人はいそうなんだけどなぁ。

もちろん気付かれていない(問題視されてない)可能性もある。そもそも音は別マイクで録っているだろうし、ズレも 60 分に 2 秒程度だ。プロの映像作品だと細切れにして撮っていることが多い。5 分や 10 分程度ではズレに気付かない(問題ない)かもしれない。

電車は 5 分くらい遅れたのでは運行情報には出ないようだ。
遅刻したけどな!

萌え時計を自分のサーバに設置せずに使う場合、amatsukami.info サーバを使うことになるのだが、コイツは HTTP で通信しているため、HTTPS なサイトに萌え時計を貼ると表示されなくなる。
う~む、最近は何でもないサイトでも HTTPS を使う傾向にあるし、そもそも Google 検索の検索結果は HTTPS を優先させる措置を執ったため、どうでもいいサイトでもどんどん HTTPS 化している。
ウチも HTTPS にすればいいじゃんと言われるとそれまでなんだけど、IIS 7.5 ではバーチャルホストのどれか一つしか HTTPS のサイトが作れないという欠点があるのだ。現在、ウチのサーバは開発者用のサイトがあるのだが、そいつが HTTPS を使っているため、他のサイトは HTTPS 化できないのである。
IIS 8.0 以降では出来ることは確認しているので、サーバを刷新してからかなぁと思っている。

サンダルとか iPhone のキーボードとか萌え時計とか

12/19 にサンダルが傷み始めたという記事を書いたが、ついに壊れた。ところでお前は毎日サンダルで出社しているのかと言われると、実はその通りで、これは足のムレ対策である。ボクは掌や足の裏に非常に汗をかく体質で、足の風通しをよくするためにサンダルを常用している。

ちなみにかつては臭いもあったのだが、石けんを変えたことによって臭いは全くなくなった。

さて、サンダルの新調である。ボクが履くサンダルはスポーツサンダルでなければならない。理由は車を運転するからで、いわゆる突っかけタイプでは運転中に脱げてしまうと事故の原因になる。カカトを確り固定できるサンダルでなければダメなのだ。
ところがこの手のサンダルは、履いたときにカカトや足首を固定するために結んだり、マジックテープで固定したりしなければならない。これがめんどうくさい<ヲイ
そこで、普通の靴のように足を入れるだけで固定され、かつ風通しがよい履き物はないものだろうか?

ドンキホーテに売ってたwww

ccilu というブランドのサンダルなのか靴なのか解らないが、まぁ、とにかくボディ全体がメッシュになっているので常に空気が入ってくる。これはいいなぁ。しかもお値段 980 円だった。

というわけで、コイツを二足買って、快適に過ごしている。

電車通勤の時間がもったいない。せっかくじっとしてるんだから、シナリオの入力でもできないかなと思って、とりあえず iPhone のフリック入力でやってみたんだけど、正直ストレスがたまるばかり。そこでキーボード付きカバーというのを探してみたのだが……

高い!
う~ん、なんか他にいい方法はないものか。ちなみに、iPhone そのものは自宅のサーバのファイルを直接覗けるようになっていて、小説のファイルも iPhone から編集できるようにしてある。なのであとはキーボードさえ何とかなければなぁ……。

萌えクロックにカウントダウン機能をつけた。どういうことかというと、実際に下に貼ってみたが、発売日とかまでの日にちをカウントダウンする機能。マウスをバナーの上に持ってくるとカウントダウン表示になる。
画像もカウントダウン用(発売日前用)、発売日後が設定できる。つまり発売日後になるとカウントダウンはしなくなり、発売日後の画像が表示されるようになる。

どこか使ってくれないかなぁ~。