Get-Color


Получить цвет по координатам
Параметры

  • -Position Координаты

  • -Handle Указатель окна

  • -Visible Получить цвет с неперекрытого окна

  • -Picture Изображение, загруженное в память

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

  • Объект Color

    PropertyDescription
    RGBЦвет в формате rgb
    HEXЦвет в формате hex

Примеры

  1. Получить и сравнить цвет в указанных координатах.

    Wake up, Neo, select all

    Clear-Host
    $color = New-Color(0, 25, 55)
    if((Get-Color 200, 100) -eq $color){
    Write-Host "Цвет в указанных координатах совпадает" -ForegroundColor Green
    }
    else{
    Write-Host "Цвет не совпадает" -ForegroundColor Red
    }
  2. Получить и сравнить цвет в указанных координатах.

    Wake up, Neo, select all

    Clear-Host
    $color = New-Color "FF00FF"
    if((Get-Color 200, 100) -eq $color){ # если цвет в координатах 200, 100 равен FF00FF
    Write-Host "Цвет в указанных координатах совпадает" -ForegroundColor Green
    }
    else{
    Write-Host "Цвет не совпадает" -ForegroundColor Red
    }
  3. Получить цвет относительно указанного окна. Окно не должно быть перекрыто другими окнами.

    Wake up, Neo, select all

    Clear-Host
    $h = Find-Window -Title "Warspear Online" # найти окно с указанным именем
    if(!$h){ # если окно не найдено
    Write-Host "Окно не найдено" -ForegroundColor Red
    return # остановить скрипт
    }

    $color = New-Color "6BADAD"
    if((Get-Color 433, 248 -Handle $h.handle[0] -Visible) -eq $color){ # если цвет в координатах 433, 248 соответствует 6BADAD
    Write-Host "Цвет в указанных координатах совпадает" -ForegroundColor Green
    }
    else{
    Write-Host "Цвет не совпадает" -ForegroundColor Red
    }
  4. Получить цвет с указанного окна. Окно может быть перекрыто (но, не свёрнуто) другими окнами.
    Отличие от примера 3 в том что не указан параметр -Visible.

    Wake up, Neo, select all

    Clear-Host
    $h = Find-Window -Title "Warspear Online" # найти окно с указанным именем
    if(!$h){ # если окно не найдено
    Write-Host "Окно не найдено" -ForegroundColor Red
    return # остановить скрипт
    }

    $color = New-Color "6BADAD"
    if((Get-Color 433, 248 -Handle $h.handle[0]) -eq $color){ # если цвет в координатах 433, 248 соответствует 6BADAD
    Write-Host "Цвет в указанных координатах совпадает" -ForegroundColor Green
    }
    else{
    Write-Host "Цвет не совпадает" -ForegroundColor Red
    }
  5. Получить координаты курсора и цвет по ним.

    Wake up, Neo, select all

    while($true){ # бесконечный цикл
    $coord = Get-CursorPosition # получить координаты курсора
    $color = Get-Color $coord # получить цвет под курсором
    Write-Host $coord -NoNewline -ForegroundColor Green
    Write-Host "`t $($color.RGB)" -NoNewline -ForegroundColor Yellow
    Write-Host "`t $($color.HEX)" -ForegroundColor Cyan
    Start-Sleep -m 80
    }
  6. Сделать скрин экрана, получить цвет нескольких пикселей на этом скрине.

    Wake up, Neo, select all

    Clear-Host
    $screen = Get-Image -Screen # сделать скрин всего экрана

    # получить цвет в указанных координатах на скрине
    Get-Color 200, 100 -Picture $screen
    Get-Color 300, 100 -Picture $screen
    Get-Color 20, 10 -Picture $screen

    $screen.Dispose() # удалить скрин