チェック柄画像作成プログラム(1)

 イラストの背景を毎回変更する、時間をかけない、わかりやすい個性ということでチェック柄の背景を作成するプログラムを作りました。

自分だけしか使わないし、バグあっても全然気にならないですが、一応本職もプログラム書いたりするので、そこは気になってしまうところです。

というわけで、頭の中の設計を書き起こします。


◯使用ツール

普段Windowsしかほぼほぼ触っていないのと、デジタルイラストはクリスタを使うので、Windowsで問題なし。作成される画像を絶対確認してから出力するので、「画面」が必要です。

そこからいますぐに画像を作りたかったので、新しいツールを利用したりするよりは使い慣れたWindows FormsアプリかWPFでいいだろうということで、VisualStudioをインストール(個人開発なら無料で使えます)。

◯解像度

自分しか使わないので解像度はプログラムに固定記載し、一々VisualStudioを起動してデバッグ実行する、というのもありだが、そういう気分じゃないこともあるので、あまり設定を変えないが変えたいこともあるだろうという解像度の設定は外部のファイルで持つことに。

テキストファイルでも良かったが、テキストファイルの場合、変更した際に間違った形式にしてしまうと、プログラムではじかないといけなくなるので、そんなの面倒だ、ということでxml形式にします。


こんな感じで設定名に対して幅と高さを定義しています。外部のファイルに記載することで、急に「この解像度の背景ほしいな…」となったときに大きい解像度で作ったあとに削る、というのが面倒なので、幅高さをあとで追加してしまうことが可能です。これを画面上にドロップダウンで表示させます。

◯出力するチェック柄の種類

チェック柄はいっぱいあります。固定幅のチェック柄、ランダム幅のチェック柄、市松模様などを作成予定だったので、種類を選択する必要があります。ドロップダウンを用意し、そこに設定した項目で、if文で分岐し、選択された項目に合わせて別な画像を作るようにします。

色々なチェック柄をあとで追加を大量に行うので、そのたびにif文を書く、というのはナンセンスなので、ドロップダウンの選択値と各処理ファイル名を合わせて、チェック柄の処理部分を書いたファイルと選択値を追加すればよくなるように変更しました。

チェック柄の選択肢毎に作るif文が、これだけで済むようになります。
ここで、画面側で選択された「設定」を渡す必要があります。

作るチェック柄によって渡す設定がどれくらいになるかで考えた結果は

画面幅、画面高さ、繰り返しの幅、繰り返しの高さ、色(A,R,G,B)が縦用横用、それが複数

つまり色の種類により可変になるため、必要な分だけ渡すようにするより、必要な分設定した「画面の設定」のモデルクラスを渡すようにします。


◯繰り返しの幅

チェック柄のパターンを作成したらそのパターンを繰り返しますが、プログラム的には「同じ処理を繰り返す」か「パターンを作成し、それを繰り返す」、どちらでも良いですが、どちらにせよ、繰り返す幅が必要になります。

画面上に「数値」を入力出来るボックスを用意し、繰り返しの幅を設定出来るようにしました。

◯色

画面から色を選択させたいですが、商用ツールなどの「カラーパレット」があれば容易に選択可能と思いますが、それを作るのは面倒です。自分しか使わないので、とりあえず16進数のRGB値を利用します。2つの入力ボックスを用意して、RGBの16進数値を入力出来るようにします。

そこで一々選択したい16進数値を調べて入力、をするのが面倒なので、ランダムに設定された値を入力にします。ボタンを用意し、押された際にRGB値を自動入力します。

ここでそれぞれを0~255ではなく、224~255に範囲を限定します。そうすることで濃い色を排除出来ます。背景用なので、濃い色は不要です。濃い色にしたい場合もあるかと思いますが、濃い色は指定すればいいだけです。


という感じで細かいところは省きましたが、頭の中で考えたのをアプリにしました。

起動→ランダム色設定→表示→保存

で背景が作成出来ます。

ランダムで気に入らない柄になった場合は表示を繰り返す感じですね。これで数秒から数十秒で背景が完成するようになりました。便利!




コメント

このブログの人気の投稿

日常(33)超かぐや姫!の考察

日常(30)推しの誕生日イベント

日常(21)ぺん誕2025の旅