# DColorCube

- **Ortam:** İstemci, Menü
- **İngilizce aslı:** https://wiki.facepunch.com/gmod/DColorCube
- **Çeviri tarihi:** 2025-09-08

## Açıklama

DColorCube, bir kullanıcının renk tonunu değil, doygunluğunu ve değerini seçmesine olanak tanır. HSV renklerini kullanır.

[Kaynağı görüntüle](https://github.com/Facepunch/garrysmod/blob/master/garrysmod/lua/vgui/dcolorcube.lua)

## Ebeveyn

Bu sayfada listelenmeyen metotları vb. [DSlider](https://gmod.tr/wiki/DSlider)'dan türetir.

## Uygular

Aşağıdaki kancaları/metotları uygular veya geçersiz kılar. Bunları geçersiz kılmak isterseniz, muhtemelen orijinal fonksiyonu da çağırmak istersiniz.

- [Panel:Init](https://gmod.tr/wiki/PANEL:Init)
- [Panel:Paint](https://gmod.tr/wiki/PANEL:Paint)
- [Panel:PaintOver](https://gmod.tr/wiki/PANEL:PaintOver)
- [Panel:PerformLayout](https://gmod.tr/wiki/PANEL:PerformLayout)

## Olaylar

DColorCube:[OnUserChanged](https://gmod.tr/wiki/DColorCube:OnUserChanged)( [table](https://gmod.tr/wiki/table) color )

Renk küpü kaydırıcısı hareket ettirildiğinde (kullanıcı girdisi ile) çağrılan fonksiyondur. Geçersiz kılınması amaçlanmıştır.

## Metotlar

[table](https://gmod.tr/wiki/table) DColorCube:[GetBaseRGB](https://gmod.tr/wiki/DColorCube:GetBaseRGB)()

DColorCube:SetBaseRGB tarafından ayarlanan temel Rengi döndüren bir AccessorFunc.

[table](https://gmod.tr/wiki/table) DColorCube:[GetDefaultColor](https://gmod.tr/wiki/DColorCube:GetDefaultColor)()

Renk küpünün varsayılan rengini döndüren bir AccessorFunc. Varsayılan olarak beyaza ayarlanmıştır. (255 255 255 RGB)

[number](https://gmod.tr/wiki/number) DColorCube:[GetHue](https://gmod.tr/wiki/DColorCube:GetHue)()

Bunu kullanmamanızı tavsiye ederiz. Gelecekteki bir güncellemede değiştirilebilir veya kaldırılabilir. DColorCube:SetHue tarafından ayarlanan değeri döndüren bir AccessorFunc.

[table](https://gmod.tr/wiki/table) DColorCube:[GetRGB](https://gmod.tr/wiki/DColorCube:GetRGB)()

Renk küpünün mevcut ayarlanmış rengini döndüren bir AccessorFunc.

DColorCube:[ResetToDefaultValue](https://gmod.tr/wiki/DColorCube:ResetToDefaultValue)()

Rengi, DColorCube:GetDefaultColor'un döndürdüğü değere ayarlar.

DColorCube:[SetBaseRGB](https://gmod.tr/wiki/DColorCube:SetBaseRGB)( [table](https://gmod.tr/wiki/table) color )

Temel rengi ve renk küpü panelini çizmek için kullanılan rengi ayarlayan bir AccessorFunc. %100 doygun ve değerli olmayan bir renk kullanırken bunu çağırmak (doygunluk ve değer 1'e ayarlanmış HSVToColor), renk küpünün DColorCube:GetRGB ve DColorCube:OnUserChanged gibi metotlar tarafından döndürülen renge kıyasla hatalı görünmesine neden olur. Bunun yerine DColorCube:SetColor kullanmalısınız.

DColorCube:[SetColor](https://gmod.tr/wiki/DColorCube:SetColor)( [table](https://gmod.tr/wiki/table) color )

Renk küpünün temel rengini ayarlar ve kaydırıcı konumunu günceller.

DColorCube:[SetDefaultColor](https://gmod.tr/wiki/DColorCube:SetDefaultColor)( [table](https://gmod.tr/wiki/table) )

Renk küpünün varsayılan rengini ayarlayan bir AccessorFunc. Bu değer, renk küpünün sürüklenebilir kaydırıcısına fare orta tuşuyla tıklandığında sıfırlamak için kullanılacaktır.

DColorCube:[SetHue](https://gmod.tr/wiki/DColorCube:SetHue)( [number](https://gmod.tr/wiki/number) hue )

Bunu kullanmamanızı tavsiye ederiz. Gelecekteki bir güncellemede değiştirilebilir veya kaldırılabilir. Hiçbir şey yapmıyor gibi görünen ve kullanılmayan bir AccessorFunc.

DColorCube:[SetRGB](https://gmod.tr/wiki/DColorCube:SetRGB)( [table](https://gmod.tr/wiki/table) clr )

Bu dahili olarak kullanılır - kullanabiliyor olsanız da muhtemelen kullanmamalısınız. Panelin gerçek "çıktı" rengini ayarlamak için dahili olarak kullanılan bir AccessorFunc.

[number](https://gmod.tr/wiki/number), [number](https://gmod.tr/wiki/number) DColorCube:[TranslateValues](https://gmod.tr/wiki/DColorCube:TranslateValues)( [number](https://gmod.tr/wiki/number) x = nil, [number](https://gmod.tr/wiki/number) y = nil )

Bu dahili olarak kullanılır - kullanabiliyor olsanız da muhtemelen kullanmamalısınız. Verilen x ve y konumuna göre renk küpü RGB'sini günceller ve argümanlarını döndürür. DColorCube:UpdateColor'a benzer.

DColorCube:[UpdateColor](https://gmod.tr/wiki/DColorCube:UpdateColor)( [number](https://gmod.tr/wiki/number) x = nil, [number](https://gmod.tr/wiki/number) y = nil )

Bu dahili olarak kullanılır - kullanabiliyor olsanız da muhtemelen kullanmamalısınız. Verilen x ve y konumuna göre renk küpü RGB'sini günceller. DColorCube:TranslateValues'a benzer.

### Örnek

Bir DFrame içinde bir DColorCube oluşturur.

```lua
local Frame = vgui.Create( "DFrame" )
Frame:SetSize( 300, 300 )
Frame:Center()
Frame:MakePopup()

DColorCube = vgui.Create( "DColorCube", Frame)
DColorCube:SetPos( 50, 50 )
DColorCube:SetSize( 200, 200 )
DColorCube:SetBaseRGB( Color( 0, 255, 0 ) )
```

### Örnek

Renk tonu bir [DRGBPicker](https://gmod.tr/wiki/DRGBPicker) tarafından kontrol edilen bir renk küpü oluşturur, bu da rengi arka plan paneline, etikete ve kopyala/yapıştır arabelleğinize aktarır.

```lua
-- Arka plan paneli
BGPanel = vgui.Create("DPanel")
BGPanel:SetSize(200, 200)
BGPanel:Center()

-- Renk etiketi
local color_label = Label("Color( 255, 255, 255 )", BGPanel)
color_label:SetPos(40, 160)
color_label:SetSize(150, 20)
color_label:SetHighlight(true)
color_label:SetColor(Color(0, 0, 0))

-- Renk seçici
local color_picker = vgui.Create("DRGBPicker", BGPanel)
color_picker:SetPos(5, 5)
color_picker:SetSize(30, 190)

-- Renk küpü
local color_cube = vgui.Create("DColorCube", BGPanel)
color_cube:SetPos(40, 5)
color_cube:SetSize(155, 155)

-- Seçilen renk değiştirildiğinde...
function color_picker:OnChange(col)

	-- RGB seçicinin renk tonunu ve renk küpünün doygunluğunu ve canlılığını alın
	local h = ColorToHSV(col)
	local _, s, v = ColorToHSV(color_cube:GetRGB())

	-- Bunları karıştırın ve renk küpünü güncelleyin
	col = HSVToColor(h, s, v)
	color_cube:SetColor(col)

	-- Son olarak, arka plan rengini ve etiketi güncelleyin
	UpdateColors(col)

end

function color_cube:OnUserChanged(col)

	-- Arka plan rengini ve etiketi güncelleyin
	UpdateColors(col)

end

-- Görüntü renklerini, etiketi ve pano metnini günceller
function UpdateColors(col)

	BGPanel:SetBackgroundColor(col)
	color_label:SetText("Color( "..col.r..", "..col.g..", "..col.b.." )")
	color_label:SetColor(Color((255-col.r), (255-col.g), (255-col.b)))
	SetClipboardText(color_label:GetText())

end
```

**Çıktı:** ![](https://gmod.tr/api/uploads/wiki/e39cbec4e2183f0aef51.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/DColorCube
