ベクターグラフィックスドローイングツール、バージョン4.5をリリースしました


こんばんは。

ベクターグラフィックスドローイングツールを開発しています。皆様に使っていただきたくて、こうして宣伝記事を書いています。よろしくどうぞ！！！

こちらの記事でもお世話になりました。

https://qiita.com/dhq_boiler/items/dd2afcc36a5a205872eb

さて、今回は現在開発中のベクターグラフィックスドローイングツールである boiler's Graphics のバージョン4.5をリリースしたよという話です。

バージョン4.5を必死に実装したので、その詳細を解説しておこうと思います。

バージョン4.5で実装した機能は以下の3つです。

1. 描画プロパティ画面の実装
1. スナップポイントの追加実装
1. アプリケーションログの実装

順番に説明していきます。

## 描画プロパティ画面の実装

描画プロパティ画面は、図形を描画した後、細かな修正（例えば図形の中心をずらすとか）をしたくなった時の受け皿として実装しました。
図形を右クリックした後「プロパティ」をクリックすればすぐにアクセスできます。（本当は図形をダブルクリックするだけでアクセスできるはずでしたが諸事情でボツになりました）
直線でも四角形でも多角形でもベジエ曲線でも、文字でもこの描画プロパティ画面を開くことができます。
開いた後は、だいたいやることが決まっていて、LeftかTop、Width、Heightと中心点の位置を編集することができます。

（この記事を書いていて気づいたのですが、値を変更した後OKボタンを押して確定しないと変更できないのは不便ですね...。適用ボタンのようなものがあるといいのかも。後続のバージョンで実装します）

![property_dialog.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4734/56a1135c-f3b1-05be-204f-11bee150d3d9.gif)

四角形
![2021-10-27 (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4734/e3edb61d-0852-3e74-a3b5-a9573a69f371.png)
楕円（円）
![2021-10-27 (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4734/e01263ef-fa8b-6163-8efe-c45ba031c127.png)
直線
![2021-10-27 (3).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4734/5f75663c-26ac-f3d5-f936-8a247af79022.png)
ベジエ曲線
![2021-10-27 (4).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4734/ddc4905e-aaca-e763-0151-6dad9e4737c0.png)
画像ファイル
![2021-10-27 (5).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4734/557a7af0-1d4f-5325-bfbb-d13b67130ca5.png)
文字
![2021-10-27 (6).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4734/35034875-0674-2ef9-dd11-15a52c22fa62.png)
縦書き
![2021-10-27 (7).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4734/819d5715-ef59-acd9-c14a-3a92c41fef7a.png)
多角形
![2021-10-27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4734/ca91b2c5-103d-8024-3f91-b431402f52a3.png)

こうしてみると、boiler's Graphicsは表現力豊かですねぇ。誰が作っているのだろう...。

## スナップポイントの追加実装

バージョン4.5以前、図形の中心にはスナップポイントがなかったので少し不便だったのですが、バージョン4.5で図形の中心にスナップポイントが実装されました。これでまた少し便利になると思うのですが...。

![additional_snappoint.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4734/b30d51fb-4efb-1991-fa01-ecfb6a618b35.gif)

スナップポイントは気がついた時に追加実装しています。今後のアップデートをお楽しみに。

## アプリケーションログの実装

メインメニューのヘルプ→アプリケーションログを開くをクリックすると、アプリケーションログがnotepadで表示されるようになりました。何かboiler's Graphicsにバグを見つけた時等にこのログを添付してIssueに投げつけてやると、作者が喜びます。

アプリケーションログは下記の場所に自動的に出力されるようになってます。

```
C:\Users\[ユーザー名]\AppData\Roaming\dhq_boiler\boilersGraphics\Logs\boilersGraphics.log
```

![application_log.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4734/5afeef13-abd5-a4f0-469f-dc62dd643917.gif)

まあ、今の段階では、積極的にログに出力するようにプログラムを設計していなかったので、今後のアップデートでたくさんログを出力するようにしたいと思います。

またバージョン4.6では、ログレベルの選択をできるようにしようと考えています。

ログレベルって何？という方のための解説。
アプリケーションログではログレベルという段階を持って、ログを記録するのが慣例となっています。
ログレベルは使用するライブラリによっても違いがあるのですが、boiler's Graphicsで採用しているNLogというライブラリではログレベルは以下のように定義されています。

* Trace
* Debug
* Info
* Warn
* Error
* Fatal

こうやってレベル毎に情報を集約して出力することで、検索する時に便利なのです。例えば、アプリでエラーが起きていて、該当のログを調査したい時に"Error"で検索してあげると、エラーが起きているログをすぐにピックアップできるのです。

詳しくは下記の記事が有用かと思います。

https://qiita.com/developpermanati/items/1de20d836070f42049cf

以上、boiler's Graphics のバージョン4.5のお話でした。

# プロジェクトサイト

プロジェクトのお気に入り(star)もよろしくお願いします！フォークも歓迎いたします。

https://github.com/dhq-boiler/boiler-s-Graphics

# 宣伝

私はコンピューターグラフィックスツールも開発していたりします...。いろいろと手が回っておりませんが、ひとつよろしくお願いいたします。

https://qiita.com/dhq_boiler/items/b9fe777737528db1bfe7