あまり硬くならずに書iいていこうと思います。
制作の動機
スクリーンキャプチャソフトを作ります。わざわざ自作しなくても、フリーのキャプチャソフトはたくさんあります。
しかし、自分で作ってみるのも一興です。
軽くggってみたところ、技術的にいろいろ勉強できそうです。
要件・仕様など
- デスクトップ画像キャプチャソフト
- ウィンドウの選択はめんどくさいのでやらない
- 範囲選択は後々ペイントで行えばよい
- タスクトレイ常駐型
- バックグラウンドで動作
- 保存先フォルダの設定と終了を右クリックメニューに表示
- キー入力をトリガとして撮影、保存を行う
- シャッターキーはPauseやScrLkキーなど、使用頻度の低いキーに固定
- 非アクティブウインドウがキー入力を知るためには、「グローバルフック」なる技術が必要らしい
- グローバルフックはDLLで実装する必要があり、システム全体に影響を与えるので慎重な開発が必要とのこと
- デスクトップ画面をPNG形式で保存
- 個人情報保護の観点から、クリップボードを経由しない(PrtScr劣化互換にしない)
- 一時ファイルをキャッシュとして使用する方法も回避したい
- メモリに一時的に画像データを蓄えるとすると、RGB24ビットだと、1920x1080のMy PCの画面サイズでは、6MBytes程度の動的メモリ確保が必要
- PNG画像の出力にはオープンソースのlibpngライブラリを使う
- ファイル名はキャプチャ日時で自動的に設定
ポンチ絵
段階を追って進める
プログラミングは順を追って進めるものです。
特に、タスクトレイ常駐型、DLL開発、グローバルフックなど、私にとっては未知の技術が多いので、一歩ずつ着実に進んでいこうと思います。
今後の予定- キャプチャソフト開発 その1 フォルダの選択ダイアログを表示する
- キャプチャソフト開発 その2 タスクトレイに常駐するモックを作る
- キャプチャソフト開発 その3 DLLを作ってみる
- キャプチャソフト開発 その4 キーボードフックの実装
- キャプチャソフト開発 その5 libpngを使う
- キャプチャソフト開発 その6 全体の統合
0 件のコメント:
コメントを投稿
コメント表示は承認制に設定しています