Conversor de RGB para HSV
Passe uma cor RGB para os números de uma roda de cores: o laranja 255, 128, 0 tem matiz de cerca de 30°, saturação 1 e valor 1. Serve quando um seletor precisa da matiz e do brilho separados. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Resistência (Ω)
- 255
- G
- 128
- B
- 0
- H
- 30,1176470588
- S
- 1
- Tensão (V)
- 1
- H em graus
- 30,1176470588
Este conversor de RGB para HSV recebe três intensidades de canal — vermelho, verde e azul — cada uma como um número inteiro de zero a duzentos e cinquenta e cinco, e devolve a matiz em graus, mais saturação e valor como frações unitárias de zero a um. Designers, desenvolvedores front-end e estudantes usam esse mapeamento quando uma paleta vive em canais sRGB, mas a interface precisa de uma roda de matiz, um controle deslizante de saturação, ou um controle de brilho que humanos consigam raciocinar. O mecanismo é totalmente determinístico: normaliza cada canal por duzentos e cinquenta e cinco, encontra o máximo e o mínimo, calcula o delta, e então aplica a fórmula clássica de matiz de seis setores, e as identidades padrão de saturação e valor — nunca chamando a rede, amostrando aleatoriedade, ou dependendo do relógio.
O que significa a conversão de RGB para HSV e o que a resposta contém
No modelo sRGB de oito bits, usado pelo CSS e pela maioria dos gráficos web, cada um de vermelho, verde e azul é um canal inteiro de zero a duzentos e cinquenta e cinco.
HSV rearranja essa mesma cor em três eixos perceptuais: matiz é a posição na roda de cores, em graus, de zero incluso a trezentos e sessenta exclusivo, saturação é o quão pura é a cor, de cinza em zero a croma total em um, e valor é o brilho geral, de preto em zero à forma mais brilhante daquela matiz em um.
A conversão primeiro escala cada canal, dividindo por duzentos e cinquenta e cinco, e então define Cmax como o maior dos três canais unitários, Cmin como o menor, e delta como a diferença deles. A matiz é zero quando delta é zero (um eixo cinza); caso contrário, ela vem de qual canal é Cmax, e uma fórmula de setor modular que mapeia os casos dominados por vermelho, verde, e azul na roda. A saturação é zero quando Cmax é zero, caso contrário delta sobre Cmax; o valor é simplesmente Cmax.
Não há caminho que aceite porcentagens ou canais em ponto flutuante como entrada, e nenhum limite silencioso de duzentos e cinquenta e seis para duzentos e cinquenta e cinco.
Onde a conversão de RGB para HSV se encaixa no design, nos estudos e no software
Designers encontram esse mapeamento quando um guia de marca lista amostras RGB, e um seletor baseado em matiz, ou um sistema de animação, precisa de H, S e V, quando um conta-gotas de captura de tela reporta vermelho verde azul, e uma paleta generativa precisa girar a matiz, mantendo o valor, ou quando ferramentas de acessibilidade precisam raciocinar sobre o brilho separadamente do croma.
Estudantes veem isso em cursos de computação gráfica que introduzem modelos cilíndricos de cor, em aulas de arte digital que transitam entre controles deslizantes de canal e rodas HSV, e em aquecimentos de entrevista que pedem uma conversão mental de uma tripla curta. Ferramentas de produto e de educação usam a conversão quando um aluno ajusta três campos RGB, e a interface precisa mostrar matiz, saturação e valor ao vivo, sem uma ida e volta a uma biblioteca gráfica pesada.
Combine-a com ferramentas de cor multi-formato, quando precisar de hex ou CMYK, e com outros conversores gratuitos e determinísticos, quando estiver montando um pequeno laboratório para higiene de sistema de design.
Casos de uso
Rodas de matiz e ferramentas de paleta
Transforme triplas RGB de marca em matiz, saturação e valor, para seletores, paletas generativas, e quadros-chave de animação.
Lição de casa e demonstrações didáticas
Confira o trabalho de RGB para HSV dos alunos, e faça demonstrações ao vivo de modelos cilíndricos de cor, sem aplicativos de calculadora opacos.
Perguntas frequentes
Qual intervalo é permitido para r, g e b?
Cada canal precisa ser um número inteiro de 0 a 255, inclusive.
Quais são as unidades de h, s e v?
A matiz h é em graus, em [0, 360). A saturação s e o valor v são frações unitárias, em [0, 1].
Isso converte HSV de volta para RGB?
Não. Esta ferramenta apenas mapeia canais RGB inteiros para HSV. Use um conversor de cor reverso ou multi-formato, se precisar de HSV para RGB ou outros espaços.
Que matiz e saturação um cinza recebe?
As duas ficam em 0. Quando vermelho, verde e azul são iguais, não há diferença entre o maior e o menor canal, então a cor fica no eixo dos cinzas e só o valor muda, de 0 para o preto a 1 para o branco.
Por que o laranja 255, 128, 0 tem saturação e valor máximos?
O valor é o maior canal dividido por 255, aqui 1, e a saturação é a diferença entre o maior e o menor canal dividida pelo maior, também 1. Só a matiz, cerca de 30°, o separa do vermelho puro.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/color/rgb-hsv \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"r":255,"g":128,"b":0}'const res = await fetch("https://api.kit.forhosting.com/color/rgb-hsv", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"r": 255,
"g": 128,
"b": 0
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/rgb-hsv",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"r": 255,
"g": 128,
"b": 0
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/rgb-hsv", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"r":255,"g":128,"b":0}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"r":255,"g":128,"b":0}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/rgb-hsv", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"r": 255,
"g": 128,
"b": 0
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.rgb_hsv",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
min_channel | 0 |
max_channel | 255 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Canais fora de zero a duzentos e cinquenta e cinco são rejeitados com um erro claro de invalid_input, em vez de limitados silenciosamente.
O que significa a conversão de RGB para HSV e o que a resposta contém
Esta calculadora devolve os inteiros validados r, g e b, h, s e v arredondados, h_degrees duplicado para clareza, s_percent e v_percent escalados por cem, para interfaces de controle deslizante, uma string de função rgb, uma string de resumo hsv, um rótulo de método rgb_to_hsv, e um pequeno lembrete de fórmula. O mecanismo constrói uma tripla HSV exata para três canais legais, ou rejeita a solicitação com invalid_input. Os casos rejeitados incluem um campo r, g, ou b ausente, strings vazias depois de aparadas, números não inteiros, texto não numérico, Infinity ou NaN, e qualquer canal estritamente abaixo de zero ou acima de duzentos e cinquenta e cinco. Se você precisar de HSV para RGB, empacotamento hex, HSL, LAB, ou CMYK, use uma ferramenta dedicada de reversão ou multi-formato; esta página responde apenas a canais RGB inteiros, para uma tripla HSV estável, adequada para tokens, testes unitários e consumidores de API.
Como r, g e b são lidos e como HSV permanece reproduzível
Espaços externos em canais de string são aparados; um sinal de mais opcional no início é permitido apenas quando os caracteres restantes são dígitos decimais que se convertem em um inteiro dentro do intervalo. Um número JavaScript solto é aceito apenas quando é um inteiro finito dentro de zero a duzentos e cinquenta e cinco; valores como cento e vinte e oito vírgula cinco falham na validação, em vez de serem arredondados, e valores negativos ou de duzentos e cinquenta e seis para cima falham, com uma mensagem que nomeia o canal e afirma que ele precisa ficar dentro de zero a duzentos e cinquenta e cinco. O vermelho puro mapeia para matiz zero, com saturação e valor totais; o preto puro mapeia para matiz zero, saturação zero, e valor zero; canais mistos, como duzentos e cinquenta e cinco, cento e vinte e oito, zero, produzem uma matiz quente próxima de trinta graus, com saturação e valor totais. Os campos preferenciais são r para vermelho, g para verde, e b para azul, mas os apelidos red e R maiúsculo para vermelho, green e G maiúsculo para verde, e blue e B maiúsculo para azul também são aceitos, para que planilhas, query strings e formulários tipados possam reaproveitar o mesmo contrato, sem renomear colunas. Depois da validação, a conversão usa apenas aritmética em forma fechada, sobre os canais unitários, e então arredonda os componentes de ponto flutuante para uma largura decimal fixa, para que os goldens em JSON e as asserções de CI permaneçam estáveis entre plataformas. Combine a execução gratuita no navegador desta página com a API paga, quando precisar do mesmo resultado matemático dentro de um pipeline automatizado, sem reimplementar sozinho a normalização de canais.
Onde a conversão de RGB para HSV se encaixa no design, nos estudos e no software
Nesta página, o trabalho roda inteiramente no seu navegador; pela API, cada consulta bem-sucedida custa US$ 0,002, a validação que falha não é cobrada, e nada fica armazenado depois que a resposta retorna. Essa divisão — exploração interativa gratuita e uma API paga e idêntica — segue o restante do catálogo tier A do KIT, e permite passar de uma demonstração em sala de aula ou revisão de design para um pipeline automatizado, sem mudar o resultado matemático.
Casos de integração
Fixtures determinísticos de teste
Gere resultados HSV reproduzíveis, para testes unitários, verificações de propriedades, e asserções de CI sobre auxiliares de cor.
Perguntas técnicas
Quanto custa o conversor de RGB para HSV?
É gratuito no seu navegador, nesta página. Pela API, uma solicitação bem-sucedida custa US$ 0,002; entradas inválidas não são cobradas.
Por que 256 é rejeitado, em vez de limitado?
Limitar silenciosamente esconde erros de dados. Canais fora do intervalo falham com invalid_input, para que quem chama corrija os valores de origem, em vez de publicar a cor errada.