C#
グラフィックス&イメージプログラミング
- 著者 北山 洋幸
- 判型 B5変型、496頁
- 本体価格 4,200円
- ダウンロードサービス:学習に使えるサンプルファイル
- ISBN 978-4-87783-419-7
2017年6月10日 初版第1刷発行
本書について
C#は非常に強力な言語です。様々な機能が用意されていますが、ほかの機能と同様に、グラフィックスやイメージ処理も簡単に記述できます。本書ではグラフィックスやイメージ処理の基礎、フィルタ処理、輝度変換、座標変換、そしてアプリケーションの開発まで行います。本書を理解すると、オープンソースなどを利用していたアプリケーションを、C#の機能だけで実現することも可能です。例えば、OpenCVなどを利用していたアプリケーションを、C#のみで記述することもできます。もちろん、オープンソースが提供している機能は強力なため、すべてをカバーするのは困難ですが、基本的な処理や比較的簡単な処理はC#のみで実現できるでしょう。その際に問題となる性能についても言及します。画像やグラフィックスを扱うとCPUに多大な負荷をかけてしまい、GUIがフリーズする場合もあります。そのようなケースに対応するためTPL(Task Parallel Library)や非同期処理にも若干のページを割きました。最後の章は、いくつかの有益なアプリケーションの開発も行います。
プログラミング言語を習得するとき、グラフィックスや画像処理などのようにビジュアルなプログラミングを選択すると、楽しく言語の学習を行うことができます。概して退屈になりがちなC#や.NET Frameworkの修得を楽しく行うのに、本書の選択した題材を利用するのは悪くないと思います。
目 次
- 第1章 グラフィックスの基礎
- 1.1 線を引く
- 1.2 四角形を描く
- 1.3 ベジェスプライン
- 1.4 閉じたカーディナルスプライン
- 1.5 カーディナルスプライン
- 1.6 円弧を描く
- 1.7 楕円を描く
- 1.8 扇形を描く
- 1.9 ポリゴンを描く
- 1.10 GraphicsPathオブジェクトで多角形を描く
- 1.11 文字列を描く
- 1.12 クリップ
- 1.13 座標系の原点を変更
- 1.14 座標系を変更
- 1.15 座標系を変更・その2
- 1.16 座標系を変更・その3
- 1.17 座標系を変更・その4
- 第2章 グラフィックスの応用
- 2.1 マウスボタンヘの反応
- 2.2 ラバーバンド
- 2.3 変形ウィンドウ
- 2.4 実行時に形の変わる変形ウィンドウ
- 2.5 複雑な変形ウィンドウが画面を移動
- 2.6 たくさんの画像を使ってアニメーション
- 2.7 半透明のウィンドウ
- 第3章 画像処理プログラミングの基礎
- 3.1 画像ファイルの表示
- 3.2 画像の色をRGBで表示
- 3.3 CIoクラス
- 3.4 RGBの分離
- 3.5 CImgクラス
- 3.6 RGBの分離・その2
- 3.7 グレイスケール変換
- 3.8 グレイスケール変換・非同期処理
- 3.9 グレイスケール変換・その2
- 第4章 画像フィルタの基礎
- 4.1 ラプラシアンフィルタ
- 4.2 エンボスフィルタ
- 4.3 Prewittフィルタ
- 4.4 Sobelフィルタ
- 第5章 画像フィルタ
- 5.1 ソフトフォーカスフィルタ
- 5.2 強調フィルタ
- 5.3 画像の反転
- 5.4 画像の収縮
- 5.5 画像の膨張
- 5.6 ノイズ除去
- 5.7 ガンマ補正
- 5.8 ブラー
- 5.9 風
- 第6章 輝度変換による特殊効果
- 6.1 ヒストグラムの表示
- 6.2 水平方向の輝度を表示
- 6.3 垂直方向の輝度を表示
- 6.4 閾値
- 6.5 指定の閾値範囲を表示
- 6.6 輝度伸張
- 6.7 輝度をリニアに変換
- 6.8 輝度をポスタル変換
- 6.9 ソラリゼーション
- 6.10 多数のソラリゼーションパターン
- 第7章 画像の変形処理
- 7.1 拡大縮小
- 7.2 図形の回転・反転
- 7.3 図形の回転・反転・その2
- 7.4 マウスで画像回転
- 7.5 菱形に変形
- 第8章 画像処理応用
- 8.1 自動トリミング
- 8.2 自動リサイズ
- 8.3 縦横指定の自動リサイズ
- 8.4 画像を画像パターンで表示
- 8.5 画像を画像パターンで表示・その2
- 8.6 画像を多数の画像パターンで表示
- 8.7 CFontクラス
- 8.8 アスキーアート