2017年6月30日金曜日

InterpolationMode

 C#のGraphicsで画像を拡大する際の補完モード。









 128x32pxを1024x256pxに拡大した際の、処理時間を計測してみた。計測方法は、DrawImageをforで500回行って、forの前と後にDateTime.Nowで時間を取って、その差を500で割った。
 NearestNeighborは明らかに軽い。Bicubicはケタ違いに遅い。あとは2msec中盤のグループと、3msec後半のグループに分けられる。
 このサンプルでは、HighかHighQualityBicubicが好みかな。ただし遅いグループ。
 用途によって、例えば1ピクセル毎をちゃんと識別したい、という場合はNearestNeighborが最適解。画像を自然に拡大したい場合はHighQualityBicubicあたりかなぁ。Bicubicは処理時間の割にあんまり綺麗じゃない気がする。コレは画像データのタイプにもよるんだろうけども。

0 件のコメント:

コメントを投稿