# HSVToColor

- **Ortam:** İstemci, Sunucu, Menü
- **İngilizce aslı:** https://wiki.facepunch.com/gmod/Global.HSVToColor
- **Çeviri tarihi:** 2026-05-13

```lua
Color HSVToColor( number hue, number saturation, number value )
```

## Açıklama

Bir renk dönüştürür [HSV renk alanı](https://en.wikipedia.org/wiki/HSL_and_HSV) RGB renk alanına ve bir döndürüyor [Renk](https://gmod.tr/wiki/Color).

## Argümanlar

1.. [numara](https://gmod.tr/wiki/number) **Renkli**: Renk 0-360 derece.
2.. [numara](https://gmod.tr/wiki/number) **Doymuşluk**: Doymuşluk 0-1'den.
3.. [numara](https://gmod.tr/wiki/number) **Değer**: Değer 0-1 arası.

## Geri dönüşler

1.. [Renk](https://gmod.tr/wiki/Color): [Renk](https://gmod.tr/wiki/Color) HSV renk alanından yaratılmış.

### Örnek

Bir yardımcı function for gökkuşağı metnini çiziyor.

```lua
local function DrawRainbowText( frequency, str, font, x, y )

	surface.SetFont( font )
	surface.SetTextPos( x, y )

	for i = 1, #str do
		local col = HSVToColor( i * frequency % 360, 1, 1 ) -- surface. SetTextColor yerine 3 sayı sağlamak
		surface.SetTextColor( col.r, col.g, col.b )			-- tek bir renk daha hızlı.
		surface.DrawText( string.sub( str, i, i ) )
	end

end

- Sert renkli gökkuşağı, yukarıdaki örneğe göre daha hızlı
local function DrawSimpleRainbowText( speed, str, font, x, y )

	surface.SetFont( font )
	surface.SetTextColor( HSVToColor(  ( CurTime() * speed ) % 360, 1, 1 ) )
	surface.SetTextPos( x, y )

	surface.DrawText( str )

end

hook.Add( "HUDPaint", "RainbowPuke", function()
	DrawRainbowText( 10, "Hello world! This is rainbow text.", "CloseCaption_Bold", 5, 5 )
	DrawSimpleRainbowText( 100, "Hello world! This is rainbow text.", "CloseCaption_Bold", 5, 55 )
end )
```

**Çıkış:** ![](https://gmod.tr/api/uploads/wiki/1c3d6348e7a6b9daac02.png)

### Örnek

Bir yardımcı function for sohbette gökkuşağı metnini yazdırıyor.

```lua
local function PrintRainbowText( frequency, str )

	local text = {}
	local len = #text

	for i = 1, #str do
		text[len + 1] = HSVToColor( i * frequency % 360, 1, 1 )
		text[len + 2] = string.sub( str, i, i )
		len = len + 2
	end

	-- Chat için yazdırmak, konsol için de baskı yapmak
	chat.AddText( unpack( text ) )

	-- Sadece konsolda yazdırmak için yorum bırak, sunucu tarafında da çalışıyor.
	-- MsgC( paket aç (( metin)) )

end

- Sayı ne kadar yüksekse, renk her karakter arasında o kadar hızlı değişir.
PrintRainbowText( 10, "Hello world!" )
```

**Çıkış:** ![](https://gmod.tr/api/uploads/wiki/191da2ab8bbacfbec5af.png) ![](https://gmod.tr/api/uploads/wiki/b4d06229084d5f265326.png)

- [GMod Wiki ana sayfası](https://gmod.tr/wiki)

---

[Tüm sunucular](https://gmod.tr/) · [GmodTR Launcher](https://gmod.tr/launcher) · [Rehber](https://gmod.tr/rehber) · [GMod Wiki](https://gmod.tr/wiki) · [GmodTR nedir?](https://gmod.tr/hakkinda) · [Sunucu ekle](https://gmod.tr/sunucu-ekle) · [Discord](https://discord.gg/gmodtr)

Kaynak: https://gmod.tr/wiki/Global.HSVToColor
