= なるべく小さい構成でプロット画面を作る試み == はじめに 画像を自由に拡大縮小したり、画像上にマーカーを描画したりしたくなったので、簡単なプログラムを作ってみました。GDI+ は使わず、Antigrain Geometry みたいにラスター画像データを作って丸ごとウィンドウに描画する方式で考えています。 現状実現できている処理は 1. 画像ファイル読み込み 2. 枠線の描画 3. 文字列の描画 4. ドラッグやマウスホイール操作に追従して画像のスライドや拡大縮小 といったところです。 1. は stb_image と この間作った SimpleFileDialogを、 2. は MIST、 3. はかなり昔に自作した フォント描画ライブラリをそれぞれ使用して、4. は C# WinForm と C++ を組み合わせて新規作成、となりました。 == 作成中の画面 [[Embed(ss1.png)]] プログラムを起動するとファイル選択ダイアログが表示され、画像を選択すると上図のように画像が画面表示されます。ドラッグやホイール操作も効きますし、ウィンドウの拡大縮小にも追従するようになってます。 スライドや拡大・縮小の結果、画像の範囲外が表示されないように調整する処理や、ズーム時にマウスカーソルがある位置を中心に拡大・縮小するように計算するところでちょっと手こずりました。一次方程式解くだけだったんですけどね・・・ 画像は、[https://polyhaven.com/ Poly Heaven] で配布されている thatch_chapel_1k.hdr を使用させていただきました。 == ライセンス * ソフト本体:Boost License v1.0 * 依存ライブラリ ... 各ライブラリに適用されているライセンスに従ってください。 * stb : MIT License or Public Domain * MIST : 3項BSD License * font_renderer : Boost License, v1.0 * SimpleDialog : Boost License, v1.0 == ソース * [/downloads/users/39/39879/PlotWindow_examine.zip ソース]