2016年12月10日

VB.netやC#で同じ色かどうか調べる

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, "一致", "不一致"))
とすると、不一致になります。

よって、下記のような関数を作って回避することにしました。


なんだかなぁ。
posted by MON at 00:00| Comment(2) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
C#ですが同じ問題に直面しました。
やはり、そういう対策しかないのですね...
Posted by at 2018年12月14日 09:27
C#ですが同じ問題に直面しました。
やはり、そういう対策しかないのですね...
Posted by ああああ at 2018年12月14日 09:28
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
【今是昨非】http://nomulabo.com/