More Related Content
Similar to Inside of excel 方眼紙撲滅委員会 #pyfes
Similar to Inside of excel 方眼紙撲滅委員会 #pyfes (20)
More from Takeshi Komiya (16)
Inside of excel 方眼紙撲滅委員会 #pyfes
- 2. お前だれよ
Twitter: @tk0miya
仕事
(株)タイムインターメディア所属
テクニカルオフィサ(技術責任者)として活動
参加コミュニティ
Sphinx-users.jp
Python mini hack-a-thon
Sphinx を中心にツールを開発
blockdiag シリーズ
Sphinx 拡張機能の開発
Googlechart やカレンダー機能
#bookathon 他読書会やってます
- 26. 解決策 / Resolutions
blockdiag シリーズを使おう
テキストを図に変換するツール群
blockdiag:ブロック図、画面遷移図、フローチャート
seqdiag:シーケンス図
actdiag:アクティビティ図
nwdiag:ネットワーク図、ラック図、パケットヘッダ
図
sphinxcontrib-webmocks: 画面仕様書
blockdiag は定義ファイル(テキスト)から画像を生成
する
レイアウトは自動的に行われる
増えても減っても適切にレイアウト
自由に並べ替えたい人には向きません
- 30. rackdiag の例
このテキストが…
{
1: UPS [2U, 0.5A, 10kg];
3: DB Master
4: Web Server (1)
5: Web Server (2)
6: LoadBalancer
}
- 31. packetdiag の例
このテキストが…
{
0-7: Source Port
8-15: Destination Port
16-31: Sequence Number
32-47: Acknowledgment Number
}
- 35. blockdiag の欠点
自由にレイアウトできない
→ Excel 方眼紙は無敵
書き方を覚える必要がある
→ Excel はだれでも使える(ことになって
る)
環境を整備する必要がある
→ Excel はどこにでも入っている
自由にレイアウトできない
→ Excel はどこでも吹き出し付けられる!
- 36. 世の中は Excel 縛りなことが多い
なんだかんだ言ってみんな使える
過去の資産が Excel ですよ
Office は買えるけど、Visio は買えない
ロートル上司が(ry
お客さんの指定が(ry
方眼紙欠乏症
他人の図をずらしたり壊したりしたい
- 41. Imagedraw プラグイン I/F
__init__, set_canvas_size, save
初期化と保存
line, rectangle, polygon, arc, ellipse, image
図形描画系関数
arc, ellipse, image は optional
textlinesize, text, textarea
テキスト描画系関数
- 42. Excelhogan 版の実装
方針:
描画はすべてセル単位にする
すべての描画を pixel 単位に置き換える
セルの塗りつぶし = point() メソッド
xlwt で Excel ファイルを生成できる
- 43. Excelhogan 版の実装
line() メソッド
ループで point() を呼ぶだけ
と思いきや
斜め線が必要
DDA (Digital Differential Analyzer)
Algorithm
加減算のみで各ドットの座標を計算
- 47. Excelhogan 版の実装
text 系メソッド
PIL によるダブルバッファリング
別バッファを作って、そこにレンダリング
Image#getdata() でピクセル情報が取得できる
最終的には point() でレンダリング
- 54. まとめ
ネタに困って imagedraw プラグインを
作った
Excel ネタにしたら反響多すぎて怖い
アニメーションSVG勉強したり
GIFアニメとか MPEG は力尽きた
役に立つかは知りません
最近地味なアップデートしかしてないので
せめて発表だけは動きを出しました。