今回は簡易画像編集ソフトに文字を描画する機能を追加します。

[文字を挿入する]を選択したらダイアログを表示し、確定したら左上を起点に文字列を挿入します。このままではあまり役に立たないのですが、今後改良を加えます。

では文字列挿入のためのダイアログを表示させます。

上側にあるのがテキストボックス(複数行入力可)、下側にあるのはピクチャーボックスです。フォントボタンをおすとフォントを変更することができます。

このダイアログでは描画させたい文字列、文字列のフォント、色を設定します。

[フォント]ボタンがクリックするとフォント設定をするためのFontDialogが現れます。そして[OK]がクリックされた場合はフォントと色が設定されます。またダイアログ下のピクチャーボックスには設定した文字列がどのように描画されるかも表示されます。

テキストボックスの文字列が変更されると現在設定されているフォントから文字列がどのように描画されるか確認することができます。

メインフォームでメニューが選択されると、上記で作成したクラスから生成されたダイアログが表示されます。適切な設定をして[OK]ボタンをおすと文字列が画像のなかに挿入されます。

実際に文字を描画するにはUserControlImageクラスのInsertStringメソッドで以下のような処理をおこないます。

このままではあまり便利とはいえません。文字列が挿入される場所を固定しないで移動できるようにするにはどうすればいいのでしょうか?

選択領域を移動させる C#で簡易画像編集ソフトをつくる