VB.netやC#で同じ色かどうか調べる場合、Color構造体のARGBが一致していても
Array.IndexOf(colorArray, pixelColor) が -1 を返すことがあります。
これは、Colorを名前で定義している場合に発生するようで、
名前で作ったColorとFromArgbで作ったColorは別物らしいです。
つまり、
Dim BlackColorFromName As Color = Color.Black
と
Dim BlackColorFromArgb As Color = Color.FromArgb(255, 0, 0, 0)
は
Debug.Print(If(BlackColorFromName = BlackColorFromArgb, "一致", "不一致"))
とすると、不一致になります。
よって、下記のような関数を作って回避することにしました。
なんだかなぁ。
2016年12月10日
この記事へのトラックバック
やはり、そういう対策しかないのですね...
やはり、そういう対策しかないのですね...