検索結果に表示されるアイコンはバージョンなどによって異なるので注意せよ.必ずしも図1と全く同じ表示となるわけではないので名前をよく見て適切なライブラリを選択すること. ↩︎
【課題10-05】複数のドーナッツを描く(加点)
プロジェクトタイプ | C#コンソールアプリ※ |
---|---|
プロジェクト名 | Prac_10_05 |
ソリューション名 | PET10 |
ターゲットフレームワーク | .NET 6.0 (長期的なサポート) |
最上位レベルのステートメントを使用しない | 使用しない(チェックオン) |
※ 「コンソールアプリ(.NET Framework)」ではないので注意せよ!
指定された 複数のドーナッツ模様 を描いた画像ファイルを生成するプログラムを作成せよ.
注意
- この課題は加点課題である.
- 必ずC#で画像を扱う方法の説明を読んでから取り組むこと.
C#で画像を扱う方法
C#で画像を扱う方法はいくつかあるが,ここではSkiaSharpという ライブラリを使用する方法を紹介する.
このライブラリをプロジェクトにインストールして以下のように書くと,実行ファイルと同じ場所に
output.png
という赤一色の画像ファイルが作られる(このプログラムを実行するには後述するプロジェクトの設定が必要である).
|
|
SkiaSharpを使用するためには以下の手順を行えばよい.
- 【手順】SkiaSharpのセットアップ手順
以上のセットアップを行いリスト1のプログラムを書き込んで実行すると画像が生成されファイルに保存される. 保存された画像ファイルを確認するには以下の手順を行う.
- 【手順】出力画像の確認方法
- Main()メソッドにプログラムを書きこんで実行する(図2(1)).
- コンソールには何も表示されない(正常な動作).この画面は閉じてもよい(図2(2)).
- ソリューションエクスプローラー上で実行したプロジェクトを右クリックして,「エクスプローラーでフォルダーを開く」をクリックする(図2(3)).
- エクスプローラーの画面が開くので「bin」→「Debug」→「net6.0」とナビゲートする(図2(4)(4)~図2(6)).
- プログラム内の img.Save(...) メソッドに渡した文字列同じファイル名の画像ファイルが作られている(図2(7)).
- この画像ファイルを開くと,サンプルの通り書いていれば赤く塗りつぶされた画像が表示されるはずである(図2(8)).
- Main()メソッドにプログラムを書きこんで実行する(図2(1)).
詳しい操作方法が分からない場合は,図3の動画を参考にするとよい2 脚注2: 脚注3: Microsoft Edge で動画を閲覧するためには,AV1 Extensionをインストールする必要があります. ↩︎
リスト1をベースとして,図4のような 複数のドーナッツ模様を描いた画像を生成するプログラムを作成せよ. 画像サイズはリスト1の通り縦横512×512ピクセルで固定とする.
このためにリスト2のように,ドーナツ模様の情報を表すクラスTorusInfo
と背景色を表す定数を用意すること.
リスト2には,このクラスの配列tori
があらかじめ用意されている.
この配列に含まれているすべてのドーナッツ模様を描くようにすること.ピクセルが複数のドーナッツ模様に含まれる場合は,
この配列内のより先頭に近いほうのドーナッツ模様を優先して描くこと.
|
|
ヒント
なし