Compare-Color

Сравнить 2 цвета.
Параметры

  • -Color1 Цвет

  • -Color2 Цвет

  • -Deviation Допустимое отклонение цвета по всем каналам RGB. От 0 до 255, либо в процентах от 0 до 100.

  • -Rmin Отклонение красного канала в меньшую сторону. От 0 до 255.

  • -Gmin Отклонение зелёного канала в меньшую сторону. От 0 до 255.

  • -Bmin Отклонение синего канала в меньшую сторону. От 0 до 255.

  • -Rmax Отклонение красного канала в большую сторону. От 0 до 255.

  • -Gmax Отклонение зелёного канала в большую сторону. От 0 до 255.

  • -Bmax Отклонение синего канала в большую сторону. От 0 до 255.

  • -Percent Параметр -Deviation указан в процентах.

Возвращаемое значение

  • true/false

Примеры

  1. Сравнить два цвета.

    Wake up, Neo, select all

    Compare-Color (100, 50, 150) (100, 50, 150)
  2. Сравнить 2 цвета с отклонением +-10 по всем каналам.

    Wake up, Neo, select all

    Compare-Color (100, 50, 150) (105, 48, 147) -Deviation 10
  3. Сравнить два цвета и выполнить действие в зависимости от результата.

    Wake up, Neo, select all

    Clear-Host
    if(Compare-Color (100, 50, 150) (105, 48, 147) -Deviation 10){
    Write-Host "Цвет совпадает" -ForegroundColor Green
    }
    else{
    Write-Host "Цвет не совпадает" -ForegroundColor Red
    }

    if(Compare-Color (100, 50, 150) (105, 48, 147) -Deviation 2){
    Write-Host "Цвет совпадает" -ForegroundColor Green
    }
    else{
    Write-Host "Цвет не совпадает" -ForegroundColor Red
    }
  4. Сравнить 2 цвета с отклонением 2% по всем каналам. 255 * 0.02 = 5.1, т. е. цвет может отличаться +-5.1 по всем каналам.

    Wake up, Neo, select all

    Compare-Color (100, 50, 150) (105, 48, 147) -Deviation 2 -Percent
  5. Получить цвет в указанных координатах и сравнить его.

    Wake up, Neo, select all

    Compare-Color (Get-Color 200, 100) (0, 25, 55)
  6. Сравнить цвет в координатах 200, 100 с отклонением красного канала +10 и зеленого -5

    Wake up, Neo, select all

    Clear-Host
    if(Compare-Color (Get-Color 200, 100) (0, 20, 55) -Rmax 10 -Gmin 5){
    Write-Host "Цвет совпадает" -ForegroundColor Green
    }
    else{
    Write-Host "Цвет не совпадает" -ForegroundColor Red
    }
  7. Найти окно ise, получить цвет в указанных координатах и сравнить его.

    Wake up, Neo, select all

    Clear-Host
    $h = (Get-Process -Id $PID).MainWindowHandle # найти окно ise
    $color = Get-Color 88, 35 -Handle $h # получить цвет в координатах 88,35 относительно окна ise
    Write-Host $color.RGB

    if(Compare-Color $color (30, 85, 120) -Deviation 10){ # сравнить полученный цвет
    Write-Host "Цвет совпадает" -ForegroundColor Green
    }
    else{
    Write-Host "Цвет не совпадает" -ForegroundColor Red
    }