『象印クイズ ヒントでピント』は、テレビ朝日系列局ほかで、1979年3月4日から1994年9月25日まで、毎週日曜 19:30 – 20:00に放送されていたクイズ番組です。前回に続いてクイズで出てきそうなモザイク画像をつくります。元ネタはこんな感じです。

最初にコンストラクタで元画像を渡せばモザイクを生成するクラスを作成します。

モザイクは全体を正方形に分割してその正方形を同じ色で塗りつぶします。どの色で塗りつぶすかはその位置の色を平均したものとします。GetColorメソッドは位置を指定するとその部分の平均の色を計算して返します。

SetColorメソッドはGetColorメソッドで得られた色を新しいBitmapにセットします。

GetImageWithMosaicメソッドはGetColorメソッドとSetColorメソッドを使って、一辺が引数と同じ長さをもつ正方形で全体を分割してモザイクを生成します。引数が1かそれよりも小さい場合はもとの画像をそのまま返します。

次にForm1クラスにおける処理ですが、タイマーをつかって粗いモザイクから細かいモザイクへと変化させていきます。そしてモザイクを構成する正方形の一辺の長さが1になったらそれ以上の処理は意味を持たないのでタイマーを止めます。