mieki256's diary



2023/05/25(木) [n年前の日記]

#1 [gimp] GIMPでモーフィングをしてみる手順をメモ

無料で利用できる画像編集ソフト GIMP を使って、モーフィング処理ができそうかどうか試してみたので、作業手順をメモ。

モーフィングと言うのは、2枚の異なる画像から、その中間の画像を生成する処理、という説明でいいのだろうか…?

_モーフィング - Wikipedia

GIMPの標準機能だけではモーフィングはできないけれど、以下の組み合わせならモーフィングが使える。
とりあえず今回は、GIMP 2.10.34 Portable + G'MIC 3.2.4 でモーフィングができるか試してみた。

環境は、Windows10 x64 22H2 + GIMP 2.10.34 Portable。CPU は AMD Ryzen 5 5600X。

必要なソフト :

作業手順 :

まず、元になる2枚の画像を、レイヤーとして読み込んでおく。

gmic_morph_ss01.png


フィルター → G'MIC-Qt を選択。

gmic_morph_ss02.png


Deformations の中の、Morph [Interactive] を選択する。

gmic_morph_ss03.png


この画面で、中間画像を何枚作るか指定できる。Number of Frames で、必要な枚数を指定。

また、この画面ではショートカットキーが説明されてる。一応、以下に引用しておく。OCRで読み取った結果なので、綴りが間違ってるかもしれんけど…。

Instructions:

Use mouse buttons to add/move/remove correspondence keypoints over the
interactive window that will appear, in order to create the morphing.

Source/target window:

- Left mouse button: Add new keypoint on current image and move it on the other one.
- Right mouse button: Add/move keypoint on current image.
- Key DELETE or middle mouse button: Delete keypoint.
- Key SPACE or mouse wheel: Toggle source/target.

In-between window:

- Mouse wheel: Change morphing time, from 0 to 1.
- Left mouse button: Reset morphing time to 0.5.

Both windows:

- Key TAB: Change keypoint radius.
- Key ENTER Play/stop in-between animation.
- Key R Reset keypoints.
- Key K: Show/hide keypoints.
- Keys ESC or Q: Process fullres and exit.

基本的にはマウス操作で、制御点(キーポイント)の追加/移動/削除をしていく模様。

念のため、ざっくりと日本語でもメモしておく。
ソース/ターゲットウインドウ :

* 左ボタン : キーポイント追加、かつ、別画像に表示変更。
* 右ボタン : 現在画像上で、キーポイントの移動、もしくは追加。
* 中ボタン / Deleteキー : キーポイント削除。
* マウスホイール回転 / SPACEキー : ソースとターゲットの表示切替。

中間アニメーション表示ウインドウ : 

* マウスホイール : モーフィングタイム(現在表示中のフレーム)を、0から1の間で変更。
* 左ボタン : モーフィングタイムを0.5にリセット。

両方のウインドウ :

* TABキー : キーポイントの半径(大きさ)を変更。
* Enterキー : 中間アニメーションの再生/停止。
* Rキー : キーポイントをリセット。全消去。
* Kキー : キーポイントの表示/非表示。
* Esc / Qキー : 処理をして終了。


さておき。「OK」ボタンをクリックすると、2つのウインドウが表示される。

gmic_morph_ss04.png

  • 1つが、ソース/ターゲットウインドウ。
  • もう1つが、中間画像がどうなるかアニメーションで表示されるウインドウ。
ソース/ターゲットウインドウ上で制御点(キーポイント)を追加/移動すると、中間画像の見た目がリアルタイムに変わってくる。

作業中は、G'MIC-Qtのウインドウの下のほうで、緑色の処理進行バーっぽいものがずっとアニメーションしてる。おそらく、「今現在 G'MIC が動いてますよ」と伝えてくれているのだと思う。

ソース/ターゲットウインドウは、ウインドウサイズを変更することもできるので、作業しやすい大きさに変更することを推奨。わざわざ小さいウインドウのままにしてチマチマと作業する必要はないです。

gmic_morph_ss05.png


さて、ソース/ターゲットウインドウ上で、制御点(キーポイント)を追加していく。

この操作が、ちょっと説明しづらいのだけど…。
  • マウスの左ボタンを押した段階で、その位置に制御点が作られて、
  • それと同時に、もう一つの画像に表示が切り替わるので、
  • マウスの左ボタンを離さずにそのままドラッグして、
  • 目標の位置に来たら、そこでようやく左ボタンを離す、
ひたすらクリックで指定していく感じではなくて…。左ボタンを押したまま、離さずに、グーッとドラッグして、ここだという位置で離す、みたいな。

まあ、動画を見れば、なんとなくわかるだろうか…? 最初は戸惑うだろうけど、実際にやってみるとサクサク作業できるので、悪くない仕様だよなと…。




また、制御点を追加していくと、中間画像表示ウインドウ上の見た目がどんどん整っていくことが、上の動画でも分かるかと。

  • マウスホイール回転、もしくは SPACEキーで、2枚の画像の表示を切り替えて様子を見たり。
  • 右ボタンで、制御点の位置を変更したり。
  • Enterキーを押して、中間画像をアニメーション表示して具合を見たり。
そんな感じで作業していく。

ちなみに、制御点を追加するたび、中間画像を全部生成し直しているようで…。制御点の数が増えてくると、目に見えて反応が遅くなってくる…。制御点を1つ追加するだけで数秒待たされる感じ…。


制御点を配置し終わったら、ソース/ターゲットウインドウの右上の閉じるボタンをクリックして、ウインドウを閉じる。すると、G'MICが中間画像を生成して、中間画像をGIMPのレイヤーとして追加してくれる。

gmic_morph_ss07.png

この時、十数秒〜数十秒ほど待たされてしまうけど、ずっと計算処理をしている最中なので、フリーズしていると勘違いしないように。


GIMP上で、1フレーム=1レイヤーとして扱われている画像は、アニメーションを再生して様子を見ることができる。フィルター → アニメーション → 再生、を選択。

gmic_morph_ss08.png


アニメーション再生ウインドウが開く。左上の再生ボタン(右向きの三角)をクリックすれば、再生される。

gmic_morph_ss09.png

再生fpsを変更した場合は、上のほうの再読み込みボタンをクリックしないと反映されないので注意。


後は、アニメgifとして保存してもいいし、各レイヤーをエクスポートして連番画像にして動画編集ソフトに読み込んで使ってもいい。

ちなみに、各レイヤーをエクスポートできるプラグインは以下。何故か最初の一発目のpng保存でエラーが出て、再チャレンジすると正常にpng保存できるあたりが気になるけど…。

_Releases - kamilburda/gimp-export-layers


そんな感じで出来上がったアニメgifが以下になります。

gimp_gmic_morph_test_by_gimp.gif

頭のてっぺんのあたり、制御点の置き方を失敗している気がする…。そもそもこの元画像が、この手の処理のサンプル素材としては良くない気も…。でもまあ、これでモーフィングができることぐらいは分かるかなと。

GIMPの減色処理を疑ってしまった :

GIMP 2.10.34 の減色処理というか、インデックスカラーへの変換処理が、なんだかおかしいような…? どうして一定間隔で白い点が入るの? ちなみに、GIMP 2.8.22 Portable でインデックスカラーに変換してみても同じ結果になったので、GIMP 2.10 でエンバグしてるわけではなさそう。まあ、元々 GIMP の減色処理は品質が非常に悪いというのが定評なのだけど…。

試しに、GIMP から各レイヤーをpngでエクスポートして、ffmpeg でアニメgifにしてみた。一旦パレット画像(palette.png)を抽出してから、そのパレット画像を元に減色してアニメgifにする方法を試している。

gimp_gmic_morph_test_by_ffmpeg.gif
ffmpeg -i export_layers\%04d.png -vf palettegen=max_colors=256:reserve_transparent=1:transparency_color=lime:stats_mode=full -update 1 -frames:v 1 palette.png -y
ffmpeg -f image2 -framerate 12 -r 12 -i export_layers\%04d.png -i palette.png -filter_complex paletteuse=dither=bayer:bayer_scale=2 -r 12 gimp_gmic_morph_test_by_ffmpeg.gif -y

GIMPで生成した版と比べると、アルファチャンネルに対してディザをかけられなくて、しきい値で2値化されてしまうのがアレだけど、それ以外はGIMPの処理結果より全然マシに見える。

以下のページが参考になった。ありがたや。

_ffmpeg で 256色を最適化する palettegen, paletteuse | ニコラボ
_ffmpegでGIFアニメを作る - 脳内メモ++

と、ここまで書いて気が付いた。もしかして、GIMPのソレは透過部分にディザをかけているのがいかんのではないか。ffmpeg と同様に、アルファチャンネルをしきい値で2値化したら違う結果にならないか…? 試してみた。

gimp_gmic_morph_test_by_gimp_b.gif

一定間隔で点々が入ってない。つまり元画像のアルファチャンネルに微妙な値が入ってしまっていたのが原因だった模様。GIMPの減色処理の品質云々は、冤罪だった…。

GAPのモーフィングについて :

GIMP + G'MIC だけではなく、GIMP + GAP でもモーフィングはできるのだけど…。
  • 作業ウインドウ上で画像の拡大表示ができない。Windowsの拡大鏡等を併用しないとツライ。
  • 左右に画像が表示されていて、その間をマウスカーソルが行き来することになる。
  • 結果をプレビュー再生できない。
制御点の位置合わせをキッチリとやれないし、作業効率も悪いので、G'MIC の Morph を使ったほうがいいのではないかと。

フレーム補間とモーフィングについて :

先日利用したフレーム補間ツール FILM と、今回利用したモーフィングについて、違いは何だろうと考えてみたのだけど…。

フレーム補間は、制御点を人間様が指定しなくても済むのは便利だなと。自動でイイ感じにやってくれる。その代わり、2枚の画像の変化量が大きい時は対応できなくて、中間画像が崩れてしまったりする。

モーフィングは、人間様が制御点を一々指定しないといけないのがツラい。その代わり、2枚の画像の変化量が大きくても、人間様の指定次第で、中間画像の破綻を少なくすることができそう。

画像の変化が少ない時はフレーム補間で済むだろうし…。変化が大きかったり、あるいは、こちらの思った通りにちゃんと動かしたかったら、作業時間はかかるけどモーフィングで、という感じになるのだろうか…?

#2 [gimp] GIMP 2.10 64bit Windows版でGAPが使えると知った

無料で利用できる画像編集ソフト、GIMP には、かつて、GAP (GIMP Animation Package)と呼ばれる、動画編集を可能にするプラグイン集が存在していた。まあ、動画編集と言っても、連番の.xcfファイルを作成すると1ファイルを1フレームとして扱えますよ、みたいな感じなのだけど…。

Linux版のGIMPはもちろんのこと、Windows版のGIMPでも、GIMP 2.6、GIMP 2.8 の頃はGAPが使えたのだけど。GIMP 2.10 になったらGAPが使えない状態になってしまって…。どうしても GAP を使いたいなら GIMP 2.8 や GIMP 2.6 を使いましょう、GIMP Portable版を使えば異なるバージョンを共存することもできるし ―― そんな状況になっていた。

しかし、今回ググってみたら、Windows版 GIMP 2.10 用のGAPを公開してくれている方が居ると、今頃になって知った。

_GimpScripts: Gimp-GAP Win_64bit

2020年頃から公開されていたらしい…。GAP は古いGIMPじゃないと使えないものと思い込んで、全然チェックしてなかった…。

GIMP 2.10.34 Portable に導入して少し動作確認してみたけど、ある程度は動いてるように見えた。全部の機能を試してみたわけではないけれど、少なくとも以下の機能は動いてくれた。
もっとも、このGAP、1フレーム移動する度に、現在のファイルを保存してから別ファイルを開き直すわけで…。ストレージに何度も何度もアクセスすることになるので、サクサク作業できる状況には程遠い面もあるのだけど。

それでも、現行版のGIMPで連番画像の編集が可能になる点はありがたいなと…。

導入の仕方 :

一応、導入の仕方もメモしておく。

Gimp_GAP Win_64bit.zip をDLして解凍すると、中には以下のディレクトリが入ってる。
bin
plug-ins
scripts
share

  • bin/ の中に入ってる .dll ファイルは、GIMPインストールフォルダ内の bin/ にコピー。
  • plug-ins/gap_*.exe は、ユーザープロファイルフォルダ内の plug-ins/ 以下にコピー。もしくは、任意のフォルダに入れておいて、GIMPの設定で、プラグインフォルダとして追加してもいい。そのほうが、ファイルがグチャグチャにならなくて管理が楽かもしれない。
  • scripts/*.scm は、これもユーザープロファイルフォルダ内の scripts/ 以下にコピー。
  • share/ 内には各言語への対応ファイルが入っている。GIMPインストールフォルダ/share/locale/ja/LC_MESSAGES/ 以下に、gimp20-gap.mo をコピーする。

正しい場所に各ファイルがコピーできていれば、GIMP起動時に各プラグインが読み込まれて、メニューに「Video」という項目が増える。以下のように、使える機能が大量に増える。

gimp210_gap_menu_ss.png


ただ、言語ファイルは反映されてない感じがする…。どこも日本語表示にはならなかった。

使い方 :

簡単な使い方をメモ。

まずは、何かしら画像を新規作成して、0000.xcf というファイル名で保存。これが0フレーム目。


Video → Duplcate Frames を選べば、現在の画像(レイヤー構成)で、フレーム数(連番の.xcf)を増やせる。N times に増やしたいフレーム数を指定してOKをクリックすれば、指定した数のフレーム = .xcf が自動で作成される。例えば N times に16を指定すれば、0001.xcf - 0016.xcf が新規作成される。

gimp210_gap_ss01.png

gimp210_gap_ss02.png


Video → Go to → Next Frame / Previous Frame で、次のフレーム/前のフレームに移動できる。何かしら編集して、Next Frame / Previous Frame をすれば、今まで開いてた画像ファイル(.xcf)が上書き保存されて、次/前の .xcf が開かれる。

gimp210_gap_ss03.png

ちなみに、Next Frame に「.」を、Previous Frame に「,」を、ショートカットキーとして割り当てると、前後のフレームに移動するのが楽になる。


全フレームをアニメーションとして保存したい時は、Video → Frames to Image を選択。1レイヤーを1フレームとして扱う別画像を新規作成してくれる。

gimp210_gap_ss04.png

gimp210_gap_ss05.png

gimp210_gap_ss06.png

この状態になってしまえば、アニメgifとして保存することもできるし、各レイヤーをエクスポートして、別の動画編集ソフトで連番画像として読み込んで扱うこともできる。


そんな感じで作ったアニメが以下になります。

gimp210_gap_anime.gif

この程度のアニメでは何が便利なのか分らんだろうけど…。とりあえず、GIMP 2.10 でも GAP が使えた証明にはなるかなと…。

余談 :

ガシガシ描いてアニメーションを作りたいなら、Krita を使ったほうが良さそうな気もする。Krita なら、最初から標準機能としてアニメ作成機能を持っているので…。アニメを作る際には必須とも言えるオニオンスキン機能も使えるし。

2022/05/25(水) [n年前の日記]

#1 [xscreensaver][linux] xscreensaverの作り方を勉強中

xscreensaver(のモジュール)の作り方を勉強中。以下のチュートリアル記事を、自動翻訳を使って眺めつつ、サンプルソースをDLしてコンパイルして動作確認。

_How to Write a Screensaver Module
_How to install a module

環境は Ubuntu Linux 20.04 LTS。Windows10 x64 21H2 + VMware Player上で動かした。

コンパイルについて。 :

Ubuntu上でビルドの類をするには、build-essential をインストールしておけばいいのかな。たぶん。gcc や make がインストールされるはず。
sudo apt install build-essential

サンプルソースのコンパイルには、vroot.h が必要。以下のページから入手できる。サンプルソースと同じ場所に置いておく。

_Simplesquares

コンパイルは、以下のような感じ。

gcc -o simplesquares simplesquares.c -L/usr/lib -lX11
これで、実行ファイル(実行権限がついたファイル)、simplesquares が生成される。

注意点。後々、画像ファイル(.xpm)を描画するサンプルソースが出てくるけれど、その場合はコンパイル時のオプションに -lXpm を追加する。
gcc -o image image.c -L/usr/lib -lX11 -lXpm

実行ファイルが出来上がったら、パスが通った場所にコピーしておく。自分の場合は、~/bin/ というディレクトリを作って、そこにパスを通してあるので、~/bin/ にコピーした。
cp simplesquares /home/(USERNAME)/bin

ちなみに、パスは ~/.bashrc の中で通してあった。最後のあたりに以下の行を追加したような気がする。
export PATH="/home/(USERNAME)/bin:$PATH"

xscreensaverに追加登録。 :

xscreensaver が実行ファイルを呼び出せるように、隠しファイル、~/.xscreensaver に実行ファイル名を追加しておく。「programs:」と書かれた行の直後から、呼び出す実行ファイル名が列挙されているらしいので、その一番最後に、「 hoge \n\」といった感じで追記する。

ちなみに、~.xscreensaver は、TAB幅が8文字、TABはスペースで置き換えずにTAB文字のままだった。記述ルールが古い。さすが、1992年に産まれたプログラム…。
programs:                                                                     \
                                maze -root                                  \n\
  GL:                           superquadrics -root                         \n\
...
...
...
  GL:                           razzledazzle -root                          \n\
                                vfeedback -root                             \n\
                                simplesquares                               \n\


これで、xscreensaver から simplesquares という実行ファイルが呼び出せるようになったはず。

動作確認。 :

端末上で xscreensaver-demo と打って実行。xscreensaver の設定ウインドウ(?)が開くので、追加した「Simplesquares」を選んで「プレビュー」ボタンをクリック。これで動作確認ができる。終了はESCキー。

とりあえず、前述のチュートリアルの、画像を描画するあたりまでは動作確認ができた。サンプルソースをコピペしまくって、以下のようなソースになった。

_sampless.c

使用画像は以下。

_geisya.xpm
_star5.xpm

実際に動かしてみると、以下のような見た目になる。

問題点。 :

自分は Ubuntu のデスクトップ環境として Xfce (Xubuntu) を使ってるけれど、~/.xscreensaver への変更内容は、Xfceの設定画面から呼び出せるスクリーンセーバ設定には反映されない模様。xscreensaver-demo を呼び出すと、そちらには反映されているけれど。

ふと、Xfceの設定画面に、「スクリーンセーバー」が2つ表示されていることにも気づいた。何故こんな状態に。

少し調べてみたら、Xfce はスクリーンセーバを xscreensaver ではなく xfce4-screensaver で管理しているらしい。

_apps:xfce4-screensaver:start [Xfce Docs]

また、Xfce の設定画面 → セッションと起動 → 自動開始アプリケーション、を眺めたら、以下の2つが登録されてた。
  • xfce4-screensaver
  • /usr/share/xscreensaver/xscreensaver-wrapper.sh -no-splash
どうやら2種類の管理プログラムが起動しちゃってるようで…。

少なくとも、xfce4-screensaver は ~/.xscreensaver を見ていない気がする。xfce4-screensaver が、どの設定ファイルを見ているのかが分かれば、そこを修正することでこういった実験ができるのかもしれない。

とりあえず、sudo apt purge xfce4-screensaver で、xfce4-screensaver をアンインストールして、xscreensaver だけを動かしてみた。一応この状態でもスクリーンセーバは動いてくれる模様。

また、試しに sudo apt remove xscreensaver、sudo apt install xfce4-screensaver で、xscreensaver をアンインストール、xfce4-screensaver をインストールした状態にしてみたけれど、この状態でもスクリーンセーバは動いた。

つまり、使うだけなら、どちらかを選んでインストールするだけでいいのかもしれない。まあ、今回は、自作の何かしらを動かしてみたいので、xscreensaver を残しておくつもりだけど…。

Makefileも書いた。 :

サンプルソースを弄ってコンパイルするたびに gccナンタラカンタラなんて打ち込んでられないので、簡単な Makefile を書いて、make と打てばコンパイルできるようにした。また、make install と打てば、~/bin/ に、実行ファイルや画像ファイルをコピーできるようにした。

ちなみに、Makefile内のインデントは、TAB文字で記述する。スペースにしちゃいけない。
CC = gcc
CFLAGS = -L/usr/lib -lX11 -lXpm

sampless: sampless.c monalisa.xpm
	$(CC) -o $@ $< $(CFLAGS)
	
ball: ball.c
	$(CC) -o $@ $< $(CFLAGS)
	
double: double.c
	$(CC) -o $@ $< $(CFLAGS)

trans: trans.c star5.xpm
	$(CC) -o $@ $< $(CFLAGS)

framechars: framechars.c
	$(CC) -o $@ $< $(CFLAGS)

.PHONY: install
install: sampless
	cp sampless /home/(USERNAME)/bin
	cp double /home/(USERNAME)/bin
	cp ball /home/(USERNAME)/bin
	cp trans /home/(USERNAME)/bin
	cp monalisa.xpm /home/(USERNAME)/bin
	cp star5.xpm /home/(USERNAME)/bin
	cp framechars /home/(USERNAME)/bin

本当は、どれかしらの *.c が更新されたらコンパイルするような記述にしたいのだけど、Makefile の書き方がよく分かってなくて、今のところ一番最初に記述したファイルしかチェックしてくれない。そのへんは今後の課題。

XPM画像について。 :

今回、初めてxpm画像を扱ったのだけど、C言語のソース内で「#include "monalisa.xpm"」と書いてしまえば、実行バイナリに画像データを含めることができると知って驚いてしまった。

xpmの中身を覗いてみたら、フツーにテキストファイルで、しかもC言語の変数として扱える記述になってたのですな…。恥ずかしながら、今まで知らなかった…。これは結構便利な気がする。

ただ、XnView を使って、自分でxpm画像を作ってみようとしたら、256色までしか指定できなくて。フルカラーは扱えないのだろうか。それと、透過部分を持ったxpmはどうやって作ればいいのだろう。

_XPM - Wikipedia
_X PixMap - Wikipedia

XPMフォーマットには XPM1、XPM2、XPM3 があって、C言語で扱えるのは XPM1 と XPM3 らしい。

とりあえず、GIMP で xpm をエクスポートしてみたら、透過部分を持ったxpmを出力できた、ような気がする。

描画の仕方がちょっと怪しい。 :

前述のチュートリアルを読み進めていったら、アニメーションの実現方法のあたりで、なんだかちょっと内容が怪しくなってきた。「見た目が変化する場所だけを書き換えて描画を高速化しよう!」云々の話が…。

昔の pygame のチュートリアルでもそういう話が出てたけど、その手の苦労はもうしたくないなあ…。でも、OpenGL を使うのも、自分にとってはちょっとハードルが高そう…。いや、描画速度を気にしなくて済む分、OpenGL を使うほうが、むしろ楽なのだろうか。どうなんだろう。

余談。テキストエディタのタブ文字幅変更が不便。 :

自分は普段、xyzzy、サクラエディタ、Mery、Notepad++、といったあたりのテキストエディタを使っているのだけど。今回、どのエディタも、TAB文字幅が即座に切り替えられなくて不便さを感じてしまった。設定画面を出して、全体の共通設定としてTAB文字幅を変更しないといけないのはツラい…。

ちなみに、Ubuntu Linux 20.04 LTS 上で動く gedit は、ステータスバーのあたりに「タブ幅」が表示されていて、しかも、そこをクリックすると、2,4,8等を選べたり、「スペースを使用」の有効無効を切り替えられる。

gedit_ss.png


geditのような機能を、他のエディタも持ってたら助かるのだけどな。

更に余談。隠しファイルが開けなくて悩んだ。 :

gedit で ~/.xscreensaver のような隠しファイルが開けなくて悩んでしまったのだけど、ファイル選択ダイアログで右クリックをすると、「隠しファイルを表示する」という項目が選べるので、そこにチェックを入れれば良かったらしい。

でも、こういうのは、一目見て「コレかな」と予想できるメニューボタンみたいなものをダイアログ上に用意したほうが良さそうな…。いやまあ、*NIX文化圏では、端末から gedit ~/.xscreensaver & と打って済ませちゃう人が多いのだろうか。

というかLinuxユーザなら、vim か emacs を使って済ませちゃうのかな…。

2021/05/25(火) [n年前の日記]

#1 [web] 従兄が来訪

従兄のK氏からPC関係の質問があった。詳細はGRPでメモ。

とりあえず、メールサービス絡みの質問だったけど…。今時、無料で利用できるメールサービスというと、何があるんだろう…。Gmail、Yahooメール、Outlookメール、ぐらいだろうか。

2020/05/25(月) [n年前の日記]

#1 [synfig][cg_tools][svg] Synfig StudioにSVGをインポートしたいのだけど

Synfig Studio 1.3.14 に、SVG をインポートしたいのだけど…。環境は Windows10 x64 1909。

Synfig Studio にSVGをインポートするには、2つの方法があるらしい。
直接 SVG をインポートできるなら、ソレを使えば済むじゃんよ、と思ったのだけど。試してみたら、キャンバス上では妙に小さいサイズでインポートされてしまって…。

では、Inkscape で sif を保存してから、その sif をインポートするのはどうか。試してみたところ、 「これは古い Synfig Studio の形式だよ」と警告されたものの、一応インポートはできた。この方法なら、サイズについてはそれっぽい感じでインポートできた。しかし、複数のパスを含んでるはずの sif だったのに、パスが1つしかインポートできない…。

その後も試してみたら、どうやら以下のような状態らしい。
ということで、Inkscape 1.0 x64 に同梱されてるsif保存用スクリプトは、以前の版と比べると、ちと正常動作してない気配がありそうだなと…。

SVG を直接インポートする方法も試してみたけど。 パスがおかしな形で読み込まれてしまうのはヤバイ…。

結局、どんな SVG もコレなら正常に読め込めるという方法が確立してないっぽいなと。一通り色々試してみて、どれかしらでそれっぽい形になったらラッキー、ということなのかもしれない。

ちなみに、Synfig Studio 1.3.14 なら、インポートしたSVGのパスを編集することもできるように見えた。以前の版ではパスの編集ができなかった記憶もあるのだけど…。何にせよ、インポート後に編集できるなら、形が多少崩れたとしても修正することができるだろうし、そこそこ使えるのかもしれないなと…。

色もおかしくなるっぽい。 :

Stnfig StudioにSVGをインポートすると、一つのグループにまとめられた状態で読み込まれるけど。そのグループ内のパスやグループを、切り取り、貼り付けして元のグループ外に出すと、色が盛大に変わってしまう。

どこで色を決めてるんだろう…。グループのプロパティに色を調整する何かがあるのかと思って眺めてみたけど、それらしい項目が見当たらず…。

もう少し調べてみたら、sif を読み込んだ場合と SVG を読み込んだ場合で、色の変わり方が違うことに気づいた。
  • sifをインポート → 中身をグループ外に移動すると色が変わる。
  • SVGをインポート → 中身をグループ外に移動しても色は変わらない。

sif は sif で、こういう問題がある、ということだろうか…。

2019/05/25() [n年前の日記]

#1 [pc] NVIDIA 3D Visionがとうとう消滅した模様

WIndows10 x64 1809 + NVIDIA GeForce GTX 1060 上で、430.64-desktop-win10-64bit-international-dch-whql.exe をインストールしたところ、3D Vision の設定項目が出てこないことに気づいたり。そういえばインストール時、インストールされる項目が、以前と比べて少なかったような…。

もっとも、3D Vision は、2019/03 の時点で「終了するわ」と発表されてたので、とうとうその時が来たのですね、という感じではあるのだけれど。

_NVIDIA,3D立体視システム「3D Vision」のサポート終了を告知。Kepler世代のノートPC向けGPUサポートも打ち切りへ - 4Gamer.net

3D立体視ができるかもしれんという理由で NVIDIA製GPU + 立体視対応ディスプレイを購入した自分としては、なんだか裏切られた気分。

それはともかく、425.31-desktop-win10-64bit-international-dch-whql.exe までなら 3D Vision も同梱されているっぽいので、425.31 をインストールし直した。

と言っても…。ここ数年、3D Vision はドライバ更新直後の動作確認時しか有効にしてなかった気もする。有効にすると、通常アプリの表示で不具合が出たりするので、基本的には無効にして使うようになってしまったし。たしか Unity で作られたアプリは立体視できなかった記憶もあるので、その手のアプリは TriDef 3D を使っちゃうし。そう考えると、無くても別に、というところも正直あるなと。

でもまあ、今まで利用できた機能が使えなくなるのは、気分的にもやもやする。自分で「使わない」ことを選択するのと、他者から「使えない状態」を強制されるのは、気分的に違うので。

雑感。 :

3D Vision に対して、個人的には…。まずは「立体視」という市場を確立することを最優先にせず、最初から「NVIDIA製GPUを経由して立体視をしたいならライセンス料を払え」と言い出しちゃったのが失敗だったのではないかと思っていたり。

今後使えるのか使えないのかも分からない段階からそういうことをしていたから、ディスプレイメーカも、「ライセンス料なんか払ってられるかよ」とNVIDIAと契約しなかったりもして。

その結果、立体視可能なスペックを持ってるディスプレイをせっかく買っても、PC利用時は立体視ができなかったし。せいぜい、TV放送されていた、左右に画面を並べた解像度の低い映像しか立体視できなくて、「立体視と言ってもこんなもんか」「ショボいですね」とユーザに思わせちゃったりして。

こんな状態で市場が確立・存続できるわけがないよなと。

つまり、NVIDIAは、金の卵を産むガチョウを早々に潰して肉にして売っていた、そんな印象があるわけで。まずはある程度市場そのものを育てないと…。まあ、TVだの、ディスプレイだのが既にあったから、全然違う市場を作るのではなく、既存の商品ジャンルの延長線上で楽に商売ができるかも、と考えていたところもあるのだろうかと邪推したりもするのですが。

そもそも立体視がアレ。 :

もっとも、仕組みからして立体視が普及せずに終わるのは必然、と言われそうでもあるなと。
  • アクティブシャッター方式は、解像度はともかく光量が落ちるし、ディスプレイ側もメガネ側もコストがかかるし。
  • 偏光フィルタ方式は、コストは安く済むけれど、縦解像度が半分になるし、やっぱり光量は落ちるし。メガネのデザインが悪くて、左右画面の分離がちゃんとできなくて、おかしな映像に見えたりもするし。
光量が落ちて色がショボくなるとか、チラつくとか、映像機器としては結構致命的だよな…。

更に、TV放送された立体視映像は、左右の画面を横方向に並べているから、偏光フィルタ方式では結果的に1/4の解像度になっちゃうのが厳しかった。フルHDの表示デバイスを使っていてもSD画質+αになるのだから、そりゃ「こんなもんか」と思われちゃうよな…。

それに、HMDの類 ―― 左右の映像が、チラつきもなく、光量も落ちず、解像度も保証された別々の映像として提示される表示デバイス ―― で立体視を体験してしまうと、アクティブシャッター方式も偏光フィルタ方式も見れたもんじゃない、と感じてしまうあたりも…。

そもそもメガネの類をかけないとTVやPC画面を見れないという時点で、一般ユーザにとっては面倒臭いわな…。まあ、その面倒臭さすら我慢できるレベルの何かしらを提示できなかったのがアレだけど。

今後はVRの機材に期待するしか…。と言ってもググってみたら、これまた厳しい。独立型を謳いながらも初期設定にスマホが必須・PCの利用不可と妙な制限を無意味につけてみたり。そもそも既存の立体視環境より数倍のコストがかかるし。また普及せずに終わりそうな気配。

ところで。偏光フィルタ方式のデメリットは解像度が落ちてしまうこと、だったけど。当時から、「4Kディスプレイなら解像度の問題は解決する」「しかし4K対応液晶は高いので商品化は現実的ではない」と言われてたわけで。しかし、今現在は、どうなのか。4Kは今でも非現実的なのか。そうではないよなと。

せっかく偏光フィルタ形式のデメリットを解決できそうな状態になってきたのに、どこのメーカも立体視から手を引いてしまったのは、どうなんだろうなと。いよいよあの方式の本領発揮、ここから挽回、と言えそうな時期に、業界の空気にまんまと支配されて、機会損失(?)になっていたりしないか。あの当時、「もっと解像度の高い液晶を低コストで入手できれば」とボヤいてたことを、皆、もう忘れたのだろうか。それとも、そんな議論すらしてなくて、「他社が出してるからウチも」的に、単なる空気で安易な製品企画を立ててたメーカが大半なのだろうか。

というか、昔は無理だったけど今ならイケそうな仕組みって他にもありそうな気も。

#2 [anime] 「ブラッククローバー」84話を視聴

凄い作画だった…。あまりに凄過ぎて、もはや何をやってるのか分からないレベル。稀にとんでもない映像が出てくる作品だなと…。素晴らしい。

2018/05/25(金) [n年前の日記]

#1 [cg_tools] 連番画像ビューアについて

Windows10 x64 上で無料で使えそうな、連番画像ビューアについて少し探してみたり。この場合の連番画像と言うのは、動画にする前の、各フレーム画像のこと。

自分の環境では、あふという2画面ファイラーを使っているので、コマンドライン指定で画像を開けると助かるのだけど…。日本製のソフトが存在しないせいか、なかなか厳しいところがあって。

DJV :

_DJV Imaging - Home

Windows、Linux、Macで使える連番画像ビューア。

基本的には、File -> Open で連番画像を開くけど、以下の指定でも起動できた。
djv_view.exe 連番画像の最初のファイル

ただ、手元の環境で試したところ、日本語文字列が含まれたパスを開くことができなかった。

mrViewer :

_mrViewer - Home

Windows、Linuxで使えるビューア。EXR等のHDRI画像を開くことを目的としているらしいけど、連番画像を開くこともできる。

メニューが無くてちょっと面食らうけど…。画面内の右クリックメニューから設定変更等ができる。

アプリを起動して、ウインドウ上に連番画像が入ったフォルダをドラッグアンドドロップして開くこともできるけど、以下の指定でも起動できた。
mrViewer.exe "C:\hoge\fuga\pi yo\@@@@@@.jpg" 0-49
「@」で埋めたところに連番が入る。上記の例では、000000.jpg から 000049.jpg までを読み込んで表示する。

日本語文字列を含んだパスの扱いは以下のような感じ。
  • 右クリック -> File -> Open なら開ける。
  • コマンドラインから渡すと開けない。

SqCheck :

_SqCheck - An image sequence viewer

FLTKで実装されてるビューアだろうか。以下の指定で起動できた。
sqcheck.exe "C:hoge\fuga\pi yo\######.jpg" 0-40
「#」で埋めたところに連番が入る模様。上記の例では、000000.jpg から 000040.jpg まで読み込んで表示する。

日本語文字列を含んだパスの扱いはなんだかちょっと妙な感じで。
  • コマンドラインから日本語文字列を含んだパスを渡すと開くことができる。
  • メニューから開こうとするとダメ。開けない。

FISP :

_FISP - Free Image Sequence Player
_CGTalk - [Application]FREE Image Sequence Player

ウインドウ上に、連番画像の最初のファイルをドラッグアンドドロップして開くことができた。コマンドラインで起動する方法は分からなかった。

Dufrap :

_Dupl - Rainbox

Dufrap Frame Player、という名称でいいのだろうか…。

ループ再生する際、最後のフレームを表示した直後に、一瞬画像が消えてしまうようで。この仕様では、ちゃんと滑らかなループ再生になってるか、確認する作業が難しい気がする。

JefeCheck :

_JefeCheck - play.process.share

元は有償のソフトだったけど、随分前に無償で提供されるようになったらしい。

ただ、手元の環境 (Windows10 x64) では、随分前にインストールしていたのだけど現時点ではエラーを出して起動すらしなかった。そもそも入手する際、OS選択で「Windows7」を選ぶあたり、開発終了して放置状態なのかもしれない。

それと、ダウンロードする際、メールアドレスの登録を要求されてしまうあたりもちょっと…。

SqCheckを呼び出すRubyスクリプトを書いてみた。 :

SqCheck なら日本語文字列を含んだパスをコマンドラインから渡しても開けるのだけど、パスと数字を指定するのがなんだか面倒臭い。

そこで、最初のファイルのパスだけ渡せば、指定文字列を得て SqCheck を起動するRubyスクリプトを書いてみたり。

_run_sqcheck.rb
# Run SqCheck (Image Sequence Viewer)
# 
# usage : ruby run_sqcheck.rb C:\hoge\fuga\piyo00000.jpg

sqcheck_path = 'C:\Prog\SqCheck\sqcheck.exe'

exit if ARGV.size != 1

filepath = ARGV[0]
dir, fn = File.split(filepath)
exit unless fn =~ /^(.*?)(\d+)\.(jpg|bmp|png|gif)$/i
prefix, count, sufix = $1, $2, $3
numsize = count.size
newbasename = prefix + '#' * numsize + "." + sufix

fnlist = Dir::entries(dir)
nmin = 0
nmax = 0
fnlist.each do |s|
  if s =~ /^#{prefix}(\d+)\.#{sufix}/
    n = $1.to_i
    nmin = n if nmin > n
    nmax = n if nmax < n
  end
end
puts "Dir: #{dir}"
puts "basename: #{fn}"
puts "          #{newbasename}"
puts "number:   #{nmin}-#{nmax}"

lines = "\"#{sqcheck_path}\" \"#{dir}\\#{newbasename}\" #{nmin}-#{nmax}"
# puts lines
exec(lines)
exit

2017/05/25(木) [n年前の日記]

#1 [cg_tools] 歩きについてまだまだ勉強中

_AnimeEffects を使って、アニメの歩きの動きを作れそうか実験、というか練習中。いやまあ、 _AnimeEffectsで走りが作れる のだから、そりゃ歩きだって作れるだろうけど。そうじゃなくて、自分が歩きの動きをつけることができるかどうかが問題で。

AnimeEffectsはフレームベース(フレーム単位で管理)のソフトではなく、タイムベース(時間単位で管理)のソフトっぽい気配があるので、正確にアニメのソレを再現できるか怪しいけど、一旦60FPSでレンダリングして、レンダリング画像からそれらしい画を何枚か抜き出して並べれば、少しはそれらしくなるのかな、と予想しつつ作業してみたり。

ちなみに元画像の作成は _コミPo! を使いました。買ったはいいけど全然使ってないので、こうやって少しは元を取らないと…。

手足のパーツ分け作業は、 _CLIP STUDIO PAINT_GIMP 2.8.20 を使用。

結果画像。 :

それぞれgifアニメにしてみたり。

ちなみにgifアニメは、1/100秒単位でしかwait値を指定できないので、どれもこれも正確に○○FPSにではできないのだけど、大体そのぐらいの再生速度、ってことで。 *1

まずは、3コマ中3(3コマ撮り、中割3枚)から。
walk_take1_3kn3.gif
たしかに、なんだか早歩きというか、せかせか動いてる感じがあるなと。

次は、3コマ中4(3コマ撮り、中割4枚)。
walk_take1_3kn4.gif
中3に比べたらゆっくりした感じの歩きになってきた。

最後は、3コマ中5(3コマ撮り、中割5枚)。
walk_take1_3kn5.gif
かなりゆっくりした歩きに見える、ような気がする。

おそらく本職の人が見たら「ハイ。リテイク」な歩きだろうけど…。自分のようなろくに絵が描けない人間でもこうやって動かせるのだから、AnimeEffects、便利なソフトだなと。

ちなみに、1コマ、24FPSで動かすとこんな感じ。
walk_take1_1k.gif

元々の60FPSではこんな感じ。

60FPSのソレは滑らかではあるけど、アニメの動きって現実の動きをデフォルメしてるはずだから、高フレームレートになると気持ち悪い動きになるのでは。などと予想してたけど、別にそういう感じは受けないな…。なんでだろ。単に慣れなんだろうか。

実験に使ったデータ。 :

元画像のpsdファイルと、AnimeEffectsのプロジェクトファイル(.anie)をまとめてzipにして置いときますので、何かしら実験に使いたい方はどうぞご自由に。と言ってもコミPo!のライセンスが絡んでくるからホントに実験にしか使えないと思いますが。

_walk_a01.zip

参考資料。 :

_アニメーターweb で公開されてる _帰ってきた動画バカへの道 2015年増補版(dougabaka_2015.pdf) の歩きのページがとても参考になりました。ありがたや。

む。再度眺めてみたら、今回自分が作ったコレって、原画に相当するコマのポーズがおかしいことに気づいた…。

*1: ていうかgifアニメはさすがに仕様が古過ぎるんで新しいフォーマットを…作ったところで普及しないか。 _MNG_APNG の二の舞にしかならんわな。

2016/05/25(水) [n年前の日記]

#1 [comic] 「トクサツガガガ」(丹羽庭著)、1〜6巻を読んだ

妹が以下略。内容は、特撮ヒーロー番組オタクのOLさんが、その趣味を周囲に隠そうとすることで、日常的にあらゆる場面で様々な事件が発生して、みたいなお話で。

面白いし、勉強にもなった…。自分、特撮関係の知識はかなり薄い人なので、ジオラマ制作や撮影テクニックのあたりは「勉強になるなあ…」と。また、特撮ヒーロー番組の台詞を、リアルワールドの出来事に被せて見せていくフォーマットが上手いなと。毎回よくまあこんなリンクのさせ方を思いつくものだなと。

コレ、せっかくだから東映あたりで実写ドラマ化したら…。いや、難しいか…。 *1
*1: オリジナルのスーツを作るとなったら予算が必要になりそうだし…。公式のアレコレで置き換えることができればいいんだろうけど…。しかし、誰が円盤を買うのかと考えると、リターンが期待できない感じも…。だけど、視聴者から「わかる。わかるぞー」と、めちゃくちゃ共感してもらえそうなドラマになりそうな予感も。グサッと来て吐血しそうな台詞・名言がてんこもりだし。

2015/05/25(月) [n年前の日記]

#1 [nitijyou] 昼に地震

埼玉が震源地の地震だったらしいけど、結構揺れた。震源地から離れた茨城のほうが震度5弱だったらしいけど、何故なんだろう…。

#2 [dtm] Tracktion 4とやらをDLしてみたけれど

手持ちの USBオーディオ BEHRINGER UCA202 U-CONTROL について調べてたら、ある時期から BEHRINGER製品には Tracktion 4 というDAWソフトがバンドルされることになっていたようで。まあ、現行バージョンは Tracktion 6 で、しかも少し前に Tracktion 4 がフリー配布・誰でも無料で使えるようになってしまったから、ほとんど旨味は無いのだけど。

ただ、BEHRINGER製品を買って Tracktion 4 をゲットした人は Tracktion 6 にアップグレードできるよ、Tracktion 5以降は Melodyne Essential がついてるよ、という話も見かけたので一つDLしてみようかなと。Melodyne を使えば男声から女声に変換できるらしいしのだけど、それはちょっと興味があるし。

入手の仕方は、 _「TRACKTION 4」ダウンロード方法|サウンドハウス を参考に。BEHRINGER公式サイトで製品登録するとライセンスコードが送られてくるので、それを使ってTracktion公式サイトでユーザ登録すればいいらしい。

しかし、途中で自分が勘違いしてることに気づいた。BEHRINGER製品を買って Tracktion 4 をゲットした人は、たしかに Tracktion 6 にアップグレードできるけど、それは、たったの「30ドル」でアップグレードできるよ、という話だったようで…。てっきり無料でアップグレードできるのかと思い込んでた。そうじゃないのね。まあ、Tracktion 6 を購入すると60ドルかかるらしいので、お得と言えばお得なのだけど。

とりあえずインストールしてみたものの、起動時の Unlock 画面で登録情報を打ち込んでもサイトに繋がらないと言われて登録できず。うーん。

使い方もよく分からんし、VSTi、VSTeが付属してるようにも見えなかったので、アンインストールしてしまったり。せめてデモ曲・サンプルプロジェクトでも入っていれば、少しぐらいは試用してみようかなという気にもなっただろうけど、どうやら何も入ってないように見えるし。

そもそもお目当てだった Melodyne Essential も、フォルマントシフトが省略された版らしくて。フォルマントを変えられないと男声・女声に変更ができないから、使ってみても意味ないなと。ピッチ変更だけなら他のソフトでもやれるし。 *1
*1: 自分は Music Maker 2 も持ってるので…。エラスティック・ピッチ機能で似たようなことできるよなと。

2014/05/25() [n年前の日記]

#1 [cg_tools] 蒼姫ラピス嬢の3DCGモデルデータがCC0で公開されてたらしい

_蒼姫ラピス | Arc Project | クラウドを利用した3DCGデータ利活用実験
_「Ark Project」サイトにて「蒼姫ラピス」3D-CGモデルデータの著作権を開放しました。 | VOCALOID3 i-style Project オフィシャルブログ

2014/02月末頃にそのような展開があったとは…。知らなかった…。

どこかの時点でニュースにはなっていたけど自分は見落としてしまったのだろうか、などと気になったのでGoogleのニュース検索でググってみたけど。どのIT系ニュースサイトでも完全に無視されていて…。アレゲな人々が集うと言われる _/.J ですら検索しても見つからず。これでは自分が知らなかったのも仕方ないなと思えてきました。

それはともかく。 _大崎一番太郎 とセットで使えば、魔法少女+UMA の見た目が再現できそうな予感。素晴らしい。

せっかくだから、他に把握してるモデルデータもメモ。

モブ子さん。 :

_mato.sus304さんのぶろぐ PMCAv0.0.6について
■利用について

PMCAによって生成されたモデルの利用許諾は、モデルの組み立てに使われたパーツの利用許諾に準じます。

PMCAに付属しているパーツは全てパブリックドメイン相当とし、その利用に制限を求めません。また、作者はパーツを利用した事によって生じた損害に対し一切の責任を負いません。

mato.sus304さんのぶろぐ PMCAv0.0.6について より

全裸おじさん。 :

_Makehuman | Open source tool for making 3D characters
_Can I create a commercial closed source game with models generated by MakeHuman? | Makehuman

MakeHuman で作成されたモデルデータは CC0 扱いになる、と書いてあるのかな。たぶん。

G-Tuneちゃん。 :

以下、独自ライセンスがついて回るけど、利用に関しては比較的自由度が高いモデルデータ。

_TuneちゃんMMDモデルデータ無償配布開始!|G-Tune −ハイエンド ゲームPC ブランド−
TuneちゃんMMDモデルの使用要件は簡単! 作品紹介で「G-Tuneちゃん」を紹介するだけ! 商用・非商用フリー!改造・改変制限なし! 使用報告も必要なし!

TuneちゃんMMDモデルデータ無償配布開始!|G-Tune −ハイエンド ゲームPC ブランド− より

■禁止事項
・反社会的な行為や目的、特定の信条や宗教、政治的発言のために弊社キャラクターを使用することを禁止します。
・弊社キャラクター、弊社、弊社が提供する製品およびサービスの名誉と品位を傷つける目的で使用することを禁止します。
・弊社による別途認可を受けた場合を除き、弊社公式製品のような誤解を招く利用をすることを禁止します。
・第三者の知的財産権およびその他一切の権利を損なう行為、またはかかる権利を損なう目的のために使用することを禁止します。

TuneちゃんMMDモデルデータ無償配布開始!|G-Tune −ハイエンド ゲームPC ブランド− より

要するに、「マウスコンピューターのG-Tuneシリーズ宣伝に繋がるなら使ってもいいよ」というお話なのだろうなと。

UNITY-CHAN。 :

_UNITY-CHAN!
_UNITY-CHAN! キャラクター利用のガイドライン 1.01バージョン
_ユニティちゃんライセンス条項 1.01バージョン

比較的制限は緩いほうらしいという噂をどこかで見かけた記憶があるのですが、条項が膨大で読む気がしない…。とりあえず、トレードマーク画像を必ずどこかで表示しないといかんのでしたっけか。

ゲーム関係って、昔アメリカで変な裁判を多々起こされて日本企業がボコボコにされていたそんな印象があるので、自衛のためにはこのくらい必要になってしまうのかなと想像していますが。

珠音嬢。 :

_HSP3オフィシャル3D素材 "珠音(たまね)"
一般的な組み込みでの使用については、特に制限を行なうことは考えていません。元データの改変、改造、キャラクターの2次創作作品なども自由に公開して頂いて構いません。ルールを守って、ぜひ楽しいオリジナル作品を製作してください。

この素材は、Hot Soup Processor(HSP)とともに使用され、HSPの普及と発展に寄与することを願っています。意図的にイメージを悪化させることを目的とした使用、違法行為、迷惑行為、不正行為を助長する目的に使用しないでください。 また、3D素材 "珠音(たまね)"データのみを販売するなど、著作権を侵害する形での使用は禁止致します。

HSP3オフィシャル3D素材 "珠音(たまね)" より

HSP利用、かつ、HSPの普及発展に貢献する範囲であれば制限は緩い、という認識でいいのかしらん。

#2 [dxruby][cg_tools] テキスト描画にも対応させた

swfをDXRubyで再生する実験をしているわけだけど。

一応テキストの描画にも対応。ただ、swfのテキスト描画は機能が豊富なので、イイ感じの対応は無理。あくまで間に合わせで、一応表示できるかな、といった感じで。 テキストも画像と同様に凝った描画をしたいなら、事前にテキストを画像として用意しちゃうほうが楽だろうなと。

2013/05/25() [n年前の日記]

#1 [windows] ActivePerlをアップデート

環境は Windows7 x64。 5.14.2 build 1402 から、5.14.4 build 1405 にアップデート。ActivePerl-5.14.4.1405-MSWin32-x86-296746.msi をDL。

上書きインストールできないかなと思ったけど、なんか色々と面倒なことになるらしいので、一旦アンインストールしてからインストールすることに。

アンインストールする前に、インストール済みモジュールの一覧をメモ。ppm を使う。
ppm query * > hoge.txt

最初、単に ppm と打ち込んだらGUI版ppmが起動して面食らったり。ActivePerl の ppm は、標準でGUI版になっちゃってるのだな…すっかり忘れてた…。ppm-shell と打ち込めばCUI版が起動する。

インストール後も同じように、インストール済みモジュールの一覧をテキストファイルに出力して、 _WinMerge で比較。

以前は以下のモジュールを入れてたらしい。
perltidy
Jcode
HTTP-Server-Simple

#2 [windows] phpをインストール

環境は Windows7 x64。php-5.4.15-Win32-VC9-x86.zip をDL。解凍して C:\php\ を作ってコピー。以下を参考にして作業。

_PHPインストールと初期設定(Windows)
_HTTPサーバーにPHP5を導入しよう

以下のように各行を指定・修正・有効化。
04WebServerを起動。サーバ設定 → CGI、SSIの設定 → php の項目を追加して設定。

以下の内容を phpinfo.php として、04WebServerのドキュメントルートに保存。
<?php phpinfo(); ?>
ブラウザで http://localhost/phpinfo.php を開いて動作確認。

500が返ってきた。うーん。

_PHP: CLI と CGI - Manual
PHP 5 では、CLI および CGI のファイル名にいくつかの変更があります。 PHP 5 では、CGI版は php-cgi.exe に変更されました。 (以前は php.exe) CLI版はメインディレクトリに 置かれるようになりました。(以前は、cli/php.exe))

PHP: CLI と CGI - Manual より

なるほど。php.exe じゃなくて、php-cgi.exe を設定。動いた。

2012/05/25(金) [n年前の日記]

#1 [cg_tools] 画像の分割でちと悩む

透明色を含む16色で描かれたキャラが、1枚の中にたくさん収まっているpng画像があるとして。32x32ドット単位等で分割して保存したい。

分割結合「あ」を試用。 :

縦横の分割数を指定するだけで分割できる。

元画像が消滅することに注意。また、透明色情報が消えてしまった。大量のファイルについて、1枚1枚透明色を指定していくのは現実的ではない。透明色の情報を保持したまま分割できるソフトはないものか。

GIMPのギロチン機能を試用。 :

ガイド?の位置で画像を分割して、新規画像を作ってくれる機能。ガイドを指定していくのが少し面倒だが、透明色情報は保持してくれる。

だが、数枚の画像ウインドウならともかく、大量に開いた画像ウインドウを一つ一つ手作業で保存していくのはツライ。

現在開いている画像ウインドウを、順々に自動保存してくれるスクリプトがあれば、話は別かもしれないが…。

GIMPの画像分割スクリプトを試用。 :

フィルタ→ウェブ→画像分割を使ってみた。ガイドの位置で画像を分割して、保存までしてくれる。元々はWeb制作用に書かれたスクリプトのようで、テーブルで配置をして1枚の画像のように見えるhtmlまで出力してくれる。ブラウザで見る限り、透明色部分は、透明になっているように見えた。

しかし、EDGE2で開くと、透明色=背景色の位置が違ってしまっている。透明色関係で、何か情報が書き換わっている可能性がありそう。

ImageMagickを試用。 :

_Cutting and Bordering -- IM v6 Examples を参考に。
convert hoge.png -crop 3x3@ +repage +adjoin hoge_%d.png
こんな感じに。
  • -crop 3x3@ は、横3、縦3で分割するよ、という指定かしら。
  • +repage +adjoin は、何の指定か分からない。とりあえずオマジナイと思っておくことにする。
  • 最後に、保存ファイル名を指定する。%d は連番に置き換わるのだと思う。
出力されたpngは、パレット情報が書き換えられて、最小限の色数になっていた。また、透明色は必ず0番パレットに移動されている模様。値は以前のまま。

今回は、この方法で分割するのが良さそう。

#2 [android] drawBitmap()について実験中

SurfaceView と Canvas#drawBitmap() を使って画像を描画する際、ビットマップ画像の一部分から切り出して描画するのに、drawBitmap(Bitmap bitmap, Rect src, Rect dst, Paint paint) を使っているのだけど。

描画元範囲と描画先範囲に異なる値を指定できる、つまりは拡大縮小ができるわけで…。もしかすると、等倍で描画する場合ですら、拡大縮小処理が行われているのではないか、それが原因で描画が遅くなるのではないかと疑念が湧いた。

試しに、BG描画処理を書き直し。今までは、画面の中で見えるはずの範囲を計算して、その部分を切り出して描画していたけれど。画面より一回り大きいビットマップ画像を4枚分、画面からはみ出そうが気にせずに、そのまま描画するように書き直してみたり。

Lenovo IdeaPad A1 で確認してみたところ、切り出して描画するより、無頓着にベロンベロンと描画したほうが、数FPS速くなった。もちろん、機種によって結果が全く異なる可能性が高いのだけど。描画面積は4倍に増えているはずなのに、逆に速くなったあたりがややこしい。拡大縮小が入ってくる描画処理より、クリッピング処理のほうが軽い、ということなのかしら。わからんけど。

GLSurfaceViewなら、こんなことを気にせずに速度が稼げるのだろうか…?

2011/05/25(水) [n年前の日記]

#1 [nitijyou] 記録するのを忘れた

この日は何をしてたんだろうか。

2010/05/25(火) [n年前の日記]

#1 [pc] 19:30-22:00まで自宅サーバ止めてました

ドドーンと雷が落ちる音がして、自分、父、妹は大慌てでした。サーバもルータも、コンセントとLANケーブルを抜いて、音がしなくなるのを待ちました。なんか色々と申し訳ない。

#2 [cg_tools] Sodipodiが起動しない

_【レビュー】本格派ドローソフトでイラストに挑戦 - オープンソースソフト「Sodipodi」 を参考にインストールしてみたのだけど、起動すると「Sodisetup.msiを指定してOKを押せや」みたいなダイアログが表示されて先に進まない。Sodisetup.msi なんて無いよ…。どういうことやねん…。ちなみに環境は Windows XP Home SP3。検索してみたが、どうも海外でも同様のトラブルがあるようで。しかし解決策は見つからず。掲示板でのやり取りでも、回答として「Inkscapeを使ったら?」「それしかないスか…」で終わり。

たしかに、もはや開発停止したのであろう Sodipodi に拘っても意味がないのかもしれない。Inkscape より起動が速かった記憶があるので、動かせるなら入れておこうかと思ったのだけど。諦めるしかないか。バグも多いしな…。

#3 [cg_tools] SVGビューワを探してみた

HTML5の普及と共に、ここに来てようやく、SVGも普及するのではないかと睨んでいるのだけど。さすがにこういう状況なら、昔と違って .svg を表示できるビューワも増えているのかなと期待した次第。

調べてみたら、甘かった。相変わらず対応ビューワが少ない。

IrfanView と XnView については気になる点が。svg のサムネイル表示はできるみたいなのだけど、実サイズ?で表示しようとすると、画像の中によくわからないメッセージが表示される。

理由が分かった。前述の2つは、 _CAD Image DLL というプラグイン?を使って、対応してるかのように見せているらしい。しかし、CAD Image DLL は有償ソフト。無料で使うと画像中に、「このメッセージを消したければ俺達のサイトにアクセスしろ」=「買えやコラ!」とメッセージが表示されるのだろう。ビューワ側にしてみれば、「対応している」というより「対応している状態にするための手段については用意した。後はお前次第」ということなのかもしれない。

だが、しかし。CAD Image DLL は、生成されるビットマップの精度がとんでもなく低いように思える。svg によっては、ストロークだか塗り潰しだかがめちゃくちゃになったり、なんだかディザで塗り潰しがされてたり、そもそも画像が出てこなかったり。こんな状態のソフトウェアに金を払う気にはなれない。手持ちの svg のほうがおかしいのかと思ったが、OperaやFirefoxでは正常表示されているのだから、やはり CAD Image DLL 側の不具合だろう。でもまあ、名前からして、svgへの対応はそもそもオマケなのかもしれないが…。

_musasabi footmarks: SVGファイルの閲覧に関するメモ から辿って、色々試してみた。感じとしては、 がヨサゲな感じ。それぞれのショートカットを SendTo に入れてみたり。

_Anti-Grain Geometry - A Simple SVG Viewer
_examotion: Home (Renesis SVG Player)
_Squiggle, the SVG Browser

SVGに対応したSusieプラグインも存在するらしいのだが困った状態に。 :

_Bay-side というサイトに、SVG形式Susieプラグイン(ifsvg100.zip)があって、一瞬喜んだのだけど。zip を 7-zip で解凍したら、エラーが出て解凍できない。

たぶんアップロードに失敗してzipが壊れてる予感。一応作者様に報告しておいたほうがいいのかな。と思ったが、メールアドレスもなければ掲示板もない。連絡ができん。こういう場合、どうすればいいんだろう…。

7-zip の動作を疑って、Explzh で解凍を試みた。一見解凍できたように見えたが、実は見せかけ。Explzh で zip の正当性を検査したところ、「ファイル後方部のデータ欠損した破損ファイルか、またはマルチボリューム書庫の一部です。」と表示された。やっぱり件のzipは壊れてる。Explzh はエラーを無視して出来る限り解凍するツールなのだな。…そういう時はエラー表示してくれないと困るのだが、どこで設定すればいいのやら。設定ダイアログを眺めてみたけど、それらしい項目がない。うーん。

一応サンプルを。 :

_Tiger 。例のトラ。

2009/05/25(月) [n年前の日記]

#1 [xyzzy] ac-mode.lやcomplete+.lやその他モロモロをインストール

ネット検索中に「ac-mode.lチョー便利」みたいな書き込みを見かけたので試しにインストール。

_silog - xyzzy

以下のソレを入れた。 それと、session-ext.l もインストール。最初、前述のlispスクリプト群が session-ext.l に依存してることに気づかずに入れてしまって、xyzzy が起動しなくなって泣きそうになった…。今現在、 _netinstaller 経由じゃないと session-ext.l はインストールできないっぽい。

#2 [anime] ライダーディケイド、カブト編後編と響鬼編前編を鑑賞

いいじゃないですか。いいじゃないですかー。

カブト編はシチュエーションというか設定にズキューンと。 異なる時間に分かれて生きることになった兄と妹…。悲劇のようだけど、でもおそらく悲劇ではない。こういう設定・展開はシビレル。や、途中で変身を解除してるんだから、そのまま変身しなけりゃいいんじゃないかとも思ったけど、そこにツッコミを入れるのは野暮。たぶん。

響鬼編は、少年がいきなり になって出てきたうえに、響鬼本編の脇を固めていた本物の方々が次々に出てきて、しかも「空我」の文字。これはもうファンサービスしまくり、特別扱いしまくりだなと…。見ているうちに思わず顔がにやけてしまったり。

それにしても、モモが出てくると笑える。彼は実にイイ。いや、笑える台詞を用意する脚本家と、声優さんの熱演と、スーツアクターさんの絶妙な演技が組み合わさって生まれるソレなわけで、とにかく感心というか。

#3 [prog] VisualuRubyでbmp以外の画像は表示できないのだろうか

VisualuRubyと言えば、 _SourceForge.net: vruby >> FormDesigner を見る限り、どうも2006年版FormDesignerが公開されていた時期があったらしいのだけど。しかしSourceForge.JPには見当たらず。何が実装されたんだろう…。 *1

さておき、bmp以外の画像を表示する方法が判らず。いや、正確には、 _こちらで公開していただいてるスクリプト と、Susie Plugin の ifGIF2.spi、IFJPEGX.SPI、 を使わせてもらって、jpg、gif、tiffの読み込みと表示はできたのだけど。ifpng.spi を使って png を読もうとするとエラーが発生してしまう…。ifpng.spi は _色んな版 があるので、元々HDDに残ってたソレも含めて4種類ほど入れ替えてみたけれど、結果は変わらず。何故なのだ…。

アレコレ検索してみたら、Susie plugin を使ってRubyで画像を読もうとした際、pngだけが読めなくてハマったというblog記事を見かけたり。Susie plugin において、pngは、jpgやgifなどとは異なる特別な取り決めでもあるのだろうか。さっぱりわからん。
*1: いやまあ IronRuby が正式リリースされるとどうなるのかがちょっと判らない感もあってアレだけど。

#4 [perl][imagemagick] ImageMagickってどれを入れればいいんだっけ

Q8とQ16は、Q8のほうが24/32ビット処理だからそっちを入れれば良かったはずだけど。dll版とstatic版はどっちだったかな…。Perlでexe化するときに関係してくるような記憶があったけど…。とりあえずdll版を入れてみるか…。

#5 [prog] 色々とインストールフォルダを変更

各ツールのインストールフォルダパスを、hs側と合わせたほうが不具合に遭遇しにくいので、この際色々とインストールし直し。

2008/05/25() [n年前の日記]

#1 [windows] mpeg2編集ソフトをいくつか試したり

iアプリ作成時の資料として、RD-H1で某スポーツのTV映像を録画していたのだけど。ファイルサイズが大きくてちょっとアレだなと。基本的に風景等が判ればそれでOK・人物のアップなどは全くいらないわけで。

ということで、mpeg2編集ができるフリーソフトを探してみたり。基本的に、再エンコードしてしまうものは却下。録画した段階で、すでにmpeg2という不可逆圧縮がかかっていて劣化した画質になってるのに、それを再エンコードして更に劣化させるわけにはいかない。まだ、GOP単位で切り出せる・無劣化で切り出せるほうがマシ。

_Cuttermaran ガイド
_Mpg2Cut2 日本語化パッチ
_MPEG2/VOBのカット編集ソフト
_ProjectX - MPEGのDemux(映像と音声を分離)ソフト

最初の1本は Cuttermaran で編集したのだけど。キーボードで操作できないのがかなり厳しい。その点、Mpg2Cut2 なら、カーソルキーと「[」「]」キーで操作できるのでかなり楽になった。しかし、Mpg2Cut2 で編集した mpg を ProjectX で読みこんで映像だけ取り出してみたところ、どうも切り張りした箇所でエラーだか警告だかが発生してるらしく。Mpg2Cut2はmpegファイルの構造とやらを壊してしまうという話も見かけたけど、実際そのとおりなのかもしれない、という不安が。

Avidemux も試してみたけど。操作方法は非常にやりやすい・キーボードであれこれ操作できるものの、m2v で吐き出す方法が判らず。再生ソフトの類が「ファイル形式がわかんねえよ」と文句を言うファイルになってしまう。うーん。

2007/05/25(金) [n年前の日記]

#1 [nitijyou] 新しい自転車を買ってきた

今まで乗ってたママチャリのブレーキがほとんど効かなくなってしまったので、新しいママチャリを購入。親父さんにお願いして、車でケイヨーD2(ホームセンター)まで。ちょうど、n周年記念とかで、外装6段変速のママチャリが 9,980円。購入。

乗って帰るつもりで外に出たら、雨が降り出した。親父さんの車に積むかどうか悩んだが、積まずに乗って帰ることに。…ヒドイ降りになった。自分も自転車もずぶ濡れ。購入早々、錆びるのでは…。

今まで乗ってた自転車について。 :

学生時代から使ってるから、かなり長い間乗ってたんだな。ただのママチャリなのに。今までありがとう。仙台まで乗っていってヘトヘトになったあの頃が懐かしい。…そういやあの日も、雨に降られてヒドイ目にあったっけ。自分が自転車関連で何かアクションを起こしたときは、雨が降るのかもしれない。まあ、本当にそんな人間が居たら、水不足のときに有効活用できそうだけど。

#2 [game] Macの「マンホール」のスクリーンショットってどこかにないものか

見たこともプレイしたこともないのだけど。アレは、その手のジャンルのゲームを作るうえで、歴史として抑えておかなければならないような気がしてきた。

_デゼニランド も同様。…ファミコンのポートピア殺人事件等で、メニュー表示→選択と言うUIが提示されてそっちに流れてしまったが。今のPCの記録容量と処理速度なら、ユーザがタイピングをすることで、圧倒的に自由度が高い何かができるのではないかという妄想を。嘘。物量作戦(?)になるから無理か。

_週刊電子ゲームレビュー「マンホール」 :

コレジャナイ。

#3 [cg_tools] _psd2png - PSD の各レイヤーをアルファチャンネルつきPNGで保存

_3DACEの部屋

検索してたら遭遇。試しに、Photoshop Elements 3.0 で作ったレイヤー入り psd を渡してみた。…おお。複数の png になった。素晴らしい。今まで GIMP に渡してどうにかしてましたよ。

#4 [prog] _Rubyist Magazine - Ruby/SDLで始めるゲームプログラミング【前編】

_Rubyist Magazine - Ruby/SDL で始めるゲームプログラミング【後編】

こんな記事があったのか。メモメモ。

#5 [prog] _Perl, Python, Ruby の比較

_はてなブックマーク - Perl, Python, Ruby の比較
_odz buffer - 「Perl, Python, Ruby の比較」があまりにもいい加減な件

メモ。

#6 [anime] 「やさいのようせい」は凄いな

おそらくは3DCGアニメでありながら、手描きアニメに見えるその表現技術もさることながら。キャラクターは可愛いわ、話はほんわかほのぼのを貫いてるわで。完璧過ぎる…。

#7 [prog] _Perlメモ/Windowsでのファイルパス

先日作成したスクリプトを動かしたら、フォルダ名に漢字を使ってる、かつ、特定文字が含まれてる場合に、エラーを出してしまってハマった。File::Find はそのあたりダメなのだな。うーん。

_Windowsで日本語フォルダを使用。「ソ」とか 2 バイト目が「\」な文字が含まれてると処理できない。その対策方法。 :

メモ。

色々試してみたが :

ダメだった。解決方法はないのか。サブフォルダを辿って、各フォルダをカレントディレクトリに変更して、DOSツールを呼び出したいだけなんですが。

2006/05/25(木) [n年前の日記]

#1 [linux] 自宅サーバのFTPに対して1秒間隔で30分ぐらい延々とアクセスしてくる人が居るのだけど

Administrator というアカウント名で延々とアクセスしてくる。アカウント名からして、Windows の管理者権限が絡んでるアクションな気がする。さては、ウイルスやワームの類かしら…。何にせよ、ログが増えて鬱陶しいし、LAN内を無駄なパケットが流れて気持ち悪い。さて、どういう対策をしたらええのやろ。

_FTPに対してadministratorやtestといったユーザーでログオンを1秒おきに試みる恐ろしいログ :

サーバーのログを見たらFTPに対してadministratorやtestといったユーザーでログオンを1秒おきに試みる恐ろしいログを発見。18日は朝から延々とやってたみたい。

おろかな日々 - うーむ より

あー。同じだ。む。去年の話か…。

TCP Wrapper を設定してみた。 :

ウチの自宅サーバは Vine Linux で動かしてるのだけど。TCP Wrapper なるものを設定すれば、IPでアクセス制限できるらしい。また、ポートにアクセス(?)されたときだけサーバを起動するので、サーバをメモリ上に常駐(?)させずに済む、というメリットもあるらしく。…もちろん、サーバが起動するのに時間がかかるから、頻繁に使うサーバならかえってデメリットになりそうな。と言ってもウチのFTPサーバは1日に数回しか呼ばれないので、そのへんの問題はナサゲ。

以下を参考にして設定してみたり。

_Linuxで自宅サーバー構築(TCP Wrapperの設定)
_TCP_Wrapper を使う
_TCP Wrapper
_@IT:止められない基幹業務サーバの管理対策 第3回 - Page2

_設定内容の妥当性チェック(tcpdchk) + 設定したアクセス制限をシミュレーション(tcpdmatch)
TCP Wrappers付属のtcpdchkを使い、hosts.allowおよびhosts.denyの設定に不備がないかをチェックする。存在しないパス名やプロセス名が含まれていた場合は、その問題点が報告される。

@IT:止められない基幹業務サーバの管理対策 第3回 - Page3 より

tcpdchkと同様に、TCP Wrapper付属のtcpdmatchコマンドを使うことで、設定したアクセス制限のルールを疑似的に確認することが可能だ。

@IT:止められない基幹業務サーバの管理対策 第3回 - Page3 より



ということで作業。

Vine Linux はFTPサーバに proftpd を使ってるので、/etc/proftpd.conf を編集。FTPサーバの起動方法(?)を変更する。
# vi /etc/proftpd.conf
ServerType                     standalone
    ↓
#ServerType                     standalone
ServerType                      inetd
standalone で動かしてたものを、inetd 経由で起動するようにする、のかな。

proftpd サーバが動いてるので、停止。…このへんの順番はよくわからない。/etc/proftpd.conf を編集する前に止めたほうがいいのかしら。
# /etc/rc.d/init.d/proftpd stop

inetd.conf を編集。
# vi /etc/inetd.conf
#ftp     stream  tcp     nowait  root    /usr/sbin/tcpd  in.proftpd
    ↓
ftp     stream  tcp     nowait  root    /usr/sbin/tcpd  in.proftpd
Vine Linux なら、コメントの形で既に記述があるので、コメントアウトを外すだけ。

hosts.allow、hosts.deny というファイルに、アクセス制限するIPを記述。
  • hosts.allow ← 許可するIPを記述。
  • hosts.deny ← 拒否するIPを記述。
本来なら、hosts.deny に「ALL: ALL」と書いて、一旦全部アクセス拒否にしたうえで、hosts.allow で許可する範囲を記述していくらしいのだけど。 *1 ウチは、友人知人にもアカウントを与えてるので、外部からアクセスされる・異なるIPからアクセスされることがありえる。ので、IPを固定して考える・許可するのは難しい。ひとまず hosts.deny に、
in.proftpd: xxx.xxx.xxx.xxx
という形で、拒否したいIPを追加するだけにした。…また、本来なら、hosts.allow、hosts.deny を別のところにコピー → そちらを編集 → 内容が正しいかチェックしてから、本来の場所に移したほうがいいらしい。

tcpdchk で hosts.allow、hosts.deny が正しいかチェック。
# tcpdchk -v
オプションをつけなければ、/etc/hosts.allow、/etc/hosts.deny をチェックする。…警告が出てきた。
warning: /etc/hosts.allow, line 8: sshd: no such process name in /etc/inetd.conf
「sshd なんてプロセス名は /etc/inetd.conf に書いてないけど?」という感じ? なのかな?

_[vine-users:062359] Re: sshd接続時のtcpwrapperでの動き
これは多分,sshd の再起動をしてなかったからではないでしょうか。
# 私もよくはまります。(^^;

sshd は, tcpd 経由で invoke されるのではなく, 直接 /etc/hosts.{allow,deny} を起動時に読みにいって制限を掛けるはずなので, /etc/hosts.{allow,deny} を書き換えた後には /etc/rc.d/init.d/sshd restart が必要です。

[vine-users:062359] Re: sshd接続時のtcpwrapperでの動き より

ということで、/etc/inetd.conf には書いてなくても、sshd が直接 hosts.allow、hosts.deny を見ていくらしい。なもんで、警告が出るらしい。気にしなくていいということかな。あくまで警告、でもあるし。

inetd を再起動。
# /etc/rc.d/init.d/inet restart

tcpdmatch で、アクセス制限できてる感じかどうかをチェック。
# tcpdmatch in.proftpd xxx.xxx.xxx.xxx

client:   address  xxx.xxx.xxx.xxx
server:   process  in.proftpd
matched:  /etc/hosts.deny line 13
access:   denied
一番最後に、「denied」と出てる。このIPは拒否、ということかな。 「granted」なら許可、ということらしい。

Windows 機でFTPクライアントからアクセスしてみた。…アクセスできてる。…Windows 機のIPを hosts.deny に追加してみた。…アクセスできなくなった。期待通りに動いてるっぽい。

hosts.allow、hosts.deny に書いた瞬間に、アクセス制限は働くらしい。一々、inetd を再起動する必要はないらしく。

それでも問題が。 :

「Administrator」というアカウント名(ユーザ名?)でアクセスしてくる相手は、IPを変えてアクセスしてきてるので、その都度 hosts.deny に書いてかないといけない。なんだか、根本的に対策できてる感じがしない。

アカウント名で拒否するような設定にはできないんだろうか。参考ページによると、それもできるっぽいように見えたのだけど。具体的にはどう書けばいいのか、あるいは、そういう指定をする際に、何かしら条件があるのか、そのへんまだ判ってない状態。

*1: hosts.allow と hosts.deny を見る順番は、hosts.allow が先らしい。hosts.allow に書かれた条件に該当するなら許可 → hosts.deny に書かれた条件に該当するなら拒否 → どっちにも指定が無ければ許可、てな処理の順番なのだとか。

この記事へのツッコミ

Re: 自宅サーバのFTPに対して1秒間隔で30分ぐらい延々とアクセスしてくる人が居るのだけど by けいと    2006/05/28 17:58
hosts.allow/denyってドメインで拒否できたような…
違ったかな?
ちょっと許可する幅が広くなるけど、
いちいちIPアドレス指定するよりは楽かも。
一長一短ですが…
ドメインを特定できない感じであります by mieki256    2006/06/01 19:34
> hosts.allow/denyってドメインで拒否できたような…

はい。たしかそのはず。ではあるのですが。
逆引き(でいいのかな?)できなかったり、
まったく関連性のないIPからアクセスしてきたりするので、
その指定はおそらく難しい、のではないかと想像するのでありました。

それにしても、何だろうなぁ。やっぱりウイルス・ワームなのかしら…。
Re: ドメインを特定できない感じであります by けいと    2006/06/01 22:27
普通にiptablesとか書いちゃった方が早かったりして。
iptables? by mieki256    2006/06/10 21:39
> 普通にiptablesとか書いちゃった方が早かったりして

iptables? それは一体…
と思って検索したら、なるほどパケットフィルタってやつなのですか…
そのへんも勉強しないとあかんかなぁ…

2005/05/25(水) [n年前の日記]

#1 [css] ブラウザによってどのスタイルシート指定を使うのか、そのへん切り分けする方法

目にしたものをメモ。

_CSSの識別名にアンダースコアを使って切り分け :

Internet Explorer 5以降には、これにまつわるちょっとしたバグがあるみたいです。そのバグというのは、「識別名の先頭にあるアンダースコアを無視する」というもの。
_Underscore Hack

_子セレクタで切り分け :

_子供セレクタ Child selectors でも切り分け可能らしい。

_\マーク :

_Simplified Box Model Hack
主に WindowsIEの〜5.5から隠すため

_Escaped Comment End
外側のコメントハックは、MacIEから隠すため

_"通"御用達、CSSハック
公式仕様では間違っている記述をします。
なるほど…。であれば、こういった方法を使わずに済めばそれが一番なのだろうなぁ…。

#2 [css] css関係で気になった記事

メモ。色々あるのだなぁ…。

_"display: inline"の使いどころ :

リストを横に並べるのに使えるのか。なるほど。

_:hover疑似クラスは宣言順序に注意が必要です :

a:link{} a:visited{} a:hover{} の順に並べないと反映しない、と。

_tableでのレイアウトをCSSに置きかえる :

_CSS YEAR OF THE CAT :

各種サンプルが。

#3 [xyzzy] 編集中のHTMLファイルをFirefoxに送ったりIEに送ったり

_HTML関連Tips - Xyzzy Wiki を辿って、 _2chスレ の記述を使わせてもらったり。…消えると怖いから引用させてもらおう。

下は、ブラウザを指定できる方法。
;; C-F8    バッファから送る。
;;         利用するブラウザ・アプリを指定できる。

;; 「バッファから送る」で使用するリスト
(setf *buffer-send-to-list*
	  (list
	   '(" Internet Explorer"  . "C:/Program Files/Internet Explorer/iexplore.exe")
	   '(" Firefox"            . "C:/Program Files/Mozilla Firefox/firefox.exe")
	   ))

;; バッファから送る
(defun buffer-sendto-dialog ()
  (interactive)
  (let ((file (get-buffer-file-name)))
	(when file
	  (multiple-value-bind (result data)
		  (dialog-box
		   '(dialog 0 0 219 100
			 (:caption "送っちゃうよ")
			 (:font 9 "MS UI Gothic")
			 ;; (:font 9 "Microsoft Sans Serif")
			 (:control
			  (:listbox list nil #x50b10111 7 7 150 82)
			  (:button IDOK "送る" #x50010001 162 7 50 14)
			  (:button IDCANCEL "送らない" #x50010000 162 24 50 14)))
		   (list (cons 'list *buffer-send-to-list*))
		   nil)
		(when result
		  (let
			  ((cmd (cddr (assoc 'list data))))
			(if cmd
				(call-process (map-slash-to-backslash (concat cmd " " file)) :wait nil)
			  (message "なにもえらんでない。"))))))))

(define-key *global-keymap* '(#\c-F8) 'buffer-sendto-dialog)
(set-function-bar-label #\C-F8 "バッファから送る")
下は、標準で設定されるブラウザで開く方法。
;; C-F6    編集中のファイルを関連付け実行。
;;         標準で設定されてるブラウザ・アプリで開く。

(defun execute ()
  (interactive)
  (shell-execute (get-buffer-file-name)))

(global-set-key #\C-F6 'execute)
(set-function-bar-label #\C-F6 "関連付け実行")

~/.xyzzy を眺めてたら、アプリケーションランチャなる記述があった。これもどこからかコピペさせてもらったはずだけど…。ネタ元失念。前述の、ブラウザを指定できるタイプと似たような記述なので、これも一応引用しておこう…。
;; C-F7    アプリケーションランチャ

;; ランチャリスト
(defvar *launch-application-list*
  (list
   '(" CALC"                 . "C:/WINDOWS/system32/calc.exe")
   '(" FFFTP mirror job"     . "C:/Program Files/ffftp/FFFTP.exe --set your_setting --mirror --quit")
   ))

; アプリケーションランチャ
(defun application-launcher-dialog ()
  (interactive)
  (multiple-value-bind (result data)
      (dialog-box
       '(dialog 0 0 219 100
         (:caption "Application Launcher")
         (:font 9 "MS UI Gothic")
         (:control
          (:listbox list nil #x50b10111 7 7 150 82)
          (:button IDOK "実行" #x50010001 162 7 50 14)
          (:button IDCANCEL "キャンセル" #x50010000 162 24 50 14)))
       (list (cons 'list *launch-application-list*))
       nil)
    (when result
      (let
          ((cmd (cddr (assoc 'list data))))
        (if cmd
          (call-process (map-slash-to-backslash cmd) :wait nil)
          (message "何も選択していません。"))))))

(global-set-key #\C-F7 'application-launcher-dialog)
(set-function-bar-label #\C-F7 "ランチャ")

#4 [cg_tools] _Seamless Tile Plug-in Filter for Adobe Photoshop: Seamless Workshop

シームレス画像を作成する Photoshop の plugin。Webページ制作作業中にシームレス画像が必要になって、妹にヨサゲなpluginがないか尋ねたら教えてもらった。なかなかイイ感じ。

#5 [cg_tools][windows] 画像をスライス(分割保存)するツール

ちと必要になったので、検索。

_SplitImage - 画像をスライスするツール :

インストールしてみた。イイ感じ。画像の横幅や縦幅が表示されると嬉しいのだけど、さすがにそこまではアレだろうなぁ。テーブルでレイアウトするHTMLを吐き出せるあたり、時代を感じる。 _(via Web制作に役立つフリーソフト)

_画分作文 - 画像分割、JPG保存、ホームページ作成支援ソフト :

同種のソフト、かしら。インストールしてみた。

こちらは座標が表示される。イイ感じ。…と思ったら、jpegでしか保存できないみたい。ちと残念。

_分割保存 スクリプト - GIMP :

GIMPで分割保存できるスクリプトを作成された方が。しかも _ガイド位置情報 まで表示可能なスクリプトが。素晴らしい。

#6 [cg_tools][windows] Gimpを最新版 2.2.7 にした

WinXP Home SP2 の環境に入れた。手順をメモ。

以前の版をアンインストール :

念のため、まずは、各種設定等が入ってるフォルダ、~/.gimp-2.2/ *1 をバックアップ。

それから、
  • Gimp 2.2.3
  • GTK+ 2.4.14
の順で、アンインストール。 *2

で、~/.gimp-2.2/ を削除。新しい版が、以前の版の設定を参照することで、動作が怪しくなったら面倒なので。あくまで、念のため。

新しい版をインストール :

_GIMP - Windows installers から、
  • GTK+ 2 for Windows 2.6.7 [fixed installer]
  • Gimp for Windows 2.2.7
をDLして、GTK+ → Gimp の順にインストール。

起動時の不具合を避けるために色々と :

_GIMP / GTK+ for Windows 覚え書き から、修正済み script-fu.exe を、感謝の念を送りつつDL。"GIMPインストールフォルダ"\lib\gimp\2.0\plug-ins\script-fu.exe を、念のためバックアップしたうえで、修正済み script-fu.exe と交換。

_GIMP2.2の日本語ローカライズ問題 - その傾向と対策 から、WinXP版 mo-xp.zip をDLして、解凍。"GIMPインストールフォルダ"\lib\locale\ja の中身を、やっぱりバックアップしたうえで、交換。

_GIMP のインストールはタタカイ - Note @ Temporary-Depot を参考にしつつ、x:\Program Files\Common Files\GTK\2.0\etc\pango\pango.aliases を xyzzy で開いて修正。 *3
courier = "courier new"
を、
courier = "courier new,ms gothic"
Tahoma = "Tahoma,MS UI Gothic"
に修正。

ここまで作業したところで、試しに Gimp を起動してみる。

…フォントの検索で随分時間がかかってるなぁ。それでも、一応起動してくれた。一安心。

フォントの検索で時間がかかる原因が判った :

~/.fonts.cache-1 がおかしかったせいみたい。該当ファイルを削除してから Gimp を起動したら、1回目はキャッシュ作成で時間がかかるけど、2回目からはスンナリ起動するようになった。

ただ…。たしか、インストールしてあるフォントによっては、名前に漢字を使ってる云々が理由で、Gimp の起動が上手くいかないときもあったような気もする。その場合は、HDD容量を若干無駄に食うけれど、~/.gimp-2.2/fonts/ 以下に、必要なフォント“だけ”をコピーして…システム側のフォントを無視して起動するように設定すればよかったような。 _GIMP掲示板 にそれらしい情報があったので、念のためにメモ。
起動時のフォント検索に時間がかかる(この症状は相変わらず)
従来通り使用フォントを限定した
GIMP で使用するフォントをユーザー用のフォントフォルダへコピー
GTK\etc\fonts\fonts.conf をテキストエディタで開き…
<dir>WINDOWSFONTDIR</dir> の部分を…
<!-- <dir>WINDOWSFONTDIR</dir> --> に書き換え
む。起動オプションで無視する設定もあったような。 _コレ かな。
Gimp でフォントを読み込まないようにするには、次のように変更します。

GIMP 2.0 を起動するショートカットを右クリックし、プロパティからショートカットを表示する。そしてリンク先の欄が、例えば
"C:\Program Files\GIMP-2.0\bin\gimp-2.0.exe"
のようになっていたら、
"C:\Program Files\GIMP-2.0\bin\gimp-2.0.exe" "--no-fonts"
のように変更する。
ただ、この記事と一緒に、
将来のバージョンアップで不正なフォントの読み込みをスキップするようになるので、それを待つことになるでしょう。
とあるので、現在のバージョンではそのへん既に実装されてる=問題が出ないのかもしれないし、起動オプションが取り除かれてる可能性もある、のかしら。そのへん判らないけど、まあ、念のためにメモ。

残ってる作業は :

  • gtk2_prefs.exe 導入。
  • bold、italic も内包してるフォントの導入。
  • EXIF付きJPEG読み込みに利用するDLLを新しい版と交換。
ぐらいかしら。それが終わったら、各種スクリプトやプラグインをガシガシインストールせねば。一応念のため、GAPの動作確認もしてみたいところ。まだ DOS窓は開くだろうか。開くだろうなぁ。GAP のバージョンは変わってないし…。

_継ぎ目なしタイルの比較 :

Gimpにもシームレス画像を作成するpluginがあったのか。そのうち試してみよう…。

*1: 「~/〜」=ユーザのホームディレクトリ。たぶん。自分の環境は、cygwin を使う関係で、環境変数 HOME に任意のフォルダを指定してあるので…。他の環境とはディレクトリの場所が違ってるような気がする。
*2: ついでに、GTK+ を使ってたようなおぼろげな記憶もある PyGTKもアンインストール。
*3: pango.aliases は、改行文字がLFになってるファイルなので…。そういったファイルを開けるテキストエディタが必要になる。xyzzy や、サクラエディタなら開けるらしい。

#7 [windows] _Winampの実験室

MAD plugin を求めて検索。辿りついた。おかげさまで入手できました。

2004/05/25(火) [n年前の日記]

#1 [vine] mgstatをインストール

_こちらのページ を参考に。rootになって作業。
$ tar zxfv mgstat-0.10.tar.gz
$ cd mgstat-0.10
$ ./configure
# make
# make install
# /usr/local/bin/mgstat -l /var/log/httpd/gzip_log -d /home/www/html/mgstat -s HOGEHOST
/etc/cron.weekly 中に、mgstat.cron というファイルを作成。
#!/bin/sh

/usr/local/bin/mgstat -l /var/log/httpd/gzip_log.1 -d /home/www/html/mgstat/ -s HOGEHOST -q
# chmod 755 /etc/cron.weekly/mgstat.cron
これで一週間毎に集計してくれるのではないか、と期待。

#2 [seiji] _救う会あてに千件以上のメールや電話、3分の2は批判

そのうち3分の2は「総理に感謝するべきだ」「子供たち5人の帰国について喜びの言葉がない」などとする批判的なものだった
お膳立てされてポーズ取っただけの人に、感謝? こんな時まで上に媚びへつらわなくても。日本人って骨の髄まで下僕思考(?)なんだな。

自分の家族が生死不明のままで不安な最中の人達に、「他所の家族の子供が日本に来るからお前も喜べ」と平気な顔して要求するとは。残酷な人種も居たもんだ。まるで鬼か悪魔の生まれ変わり。

感謝云々の意見は、『小泉の90分間の苦労』を想像できるから出て来るのだろう。つまり、批判してる人達は、結構想像力を持ってる人種であろうと思われる。しかし、『小泉の90分間の苦労』が想像できて、『被害者家族のン十年の苦労』が想像できないのは、なぜなんだろう。かの家族達の心情を想像すれば、「最悪の結果」云々のコメントも、全くもって当たり前だと判らないか。彼等と関係ある内容については成果ゼロだもの。そりゃ「最悪」なる感想が出てくるに決まってる。…とはいえたしかに、彼等の要求は、時々無茶だと思うけど。でも、それら要求を口にする心情も判るナリ。難しいのう。

#3 [hns] スタイルシート指定を少し弄った

見やすくなったような、逆のような。うーん。

2003/05/25() [n年前の日記]

#1 日記ページの意味

人によってそれぞれ意味は違うと思うのだけど、自分の場合は、電源ステータスランプと露出プレイ記録。

2002/05/25() [n年前の日記]

#1 日本海

えー、月曜にコレ書いてます。
一応記録残しとくです。


朝9:00に出発。
妙に早い時間に出るなと思ったら、親父さんがあちこち写真取りながら行きたかっただけという…
なんか今回、私と私の用事はオマケと化してますな(爆)

東北自動車道を北上し、途中から山形へ。
月山湖の道の駅で巨大噴水を見ながら食事を取った後、日本海側へ出て国道7号線を北上。
十六羅漢岩を見たり、象潟の九十九島を見たり。
そうこうしてるうちにもうPM5:00。

宿は、みちかわ駅?の手前あたりにあるウェルなんとかってホテルで取ってたんですが。
向かう途中、天気が急に怪しくなり、大粒の雨どころか雹が降ってきたり。
明日は大丈夫なんかな、と不安に。

チェックインしたら雨も止み始めたんで、日本海の夕焼けを写真に収めに。
写真取る人はスゴイです。1時間ぐらいは平気で粘るのだな…
こっちは飽きて、車の中でゴロゴロしてました。

にしても、車で来て良かった。
電車じゃこういうスケジュールは立てられないし。

ホテルの中にゲームコーナーがあるらしかったんで期待したんですが。
プリクラとUFOキャッチャーとレースゲーム(RaveRacer)しかなかった。ショボン

次の日起きられないと困るんで早目に就寝。

2001/05/25(金) [n年前の日記]

#1 最近の玩具フィギュア

ようやく「はづきっち」と「おんぷっち」のフィギュア付きお菓子を開封したのです。

まいった。
むっちゃエエ出来ですがな。

以前H氏から、ガシャポン人形関係におけるクオリティ向上の話は聞いていたのですが。
まさかここまでとはなぁ…
スカートの中のパンツまでモデリング&着色してあるし <コラコラ

どういう過程で制作してるのかな。
原型師の方々が、コツコツと原型を作るのでしょうか。
それとも今は、CGでやるのかな。
CGでやってるなら、手を加えてデータ集発売とかしてほしい。
きっと売れまっせ(極一部に)

製造・着色は中国でやってるみたいですね。
民芸品なんかを作る際に求められる、細かい手作業の能力が、
こういうところでも脈々と生き続けているのかな…
とか思うのは考え過ぎでしょうか。

目の前で眺め回して、 ヘ( ̄▽ ̄ヘ) エヘエヘ してます。
可愛いな。可愛いよ。うん。
二人とも可愛いすぎるぅ〜ん <精神崩壊

2000/05/25(木) [n年前の日記]

#1 生活サイクル

Perl/Tkのサンプルを動かしてたら、ウインドウ上で日本語を表示すると文字化けする事がわかったり。
ダメじゃん。
フォント変更すれば解決できるのだろうか。
もしくは昔のバージョンを入れて、日本語対応パッチをあてるとか?

サンプルを見ているうちに、寝るタイミングを逃し、結局PM4:00頃布団に入る始末。
目がさめたら、AM2:00。
夕飯食べ損なってしまった…
ダメじゃん。

仕方ないんで、カップラーメン食べたりして。
ラーメンじゃん。

なんだか最近、反復するのが好き。

1999/05/25(火) [n年前の日記]

#1 (NoTitle) FLASHでハマって朝ま...

FLASHでハマって朝まで。Tell Target ダメでした。問題解決ならず。5つ目のシーンを作ってる最中、またしても動作せず。トホ。

教習所でシミュレーターに乗りました。クラッチ操作が難しいッス。

FLASH、結局 Tell Target はあきらめ、メインのムービーにずらずらずら〜とレイヤーやフレームを作成していくようなやり方にしました。美しくナイ。口惜しい。でもどんどん先を作ってしまわないとなぁ…。

以上、25 日分です。

過去ログ表示

Prev - 2024/03 - Next
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project