# surface.DrawText

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

```lua
surface.DrawText( string text, boolean forceAdditive = nil )
```

## Açıklama

Daha önceden ayarlanmış konum, yazı tipi ve renk kullanılarak belirtilen metni ekrana çizer. Bu fonksiyon yeni satırları (newline) **işlemez**.

Bu fonksiyon, çizilen metnin uzunluğu kadar metin pozisyonunu kaydırır - bu davranış, metin pozisyonunu manuel olarak yeniden hesaplamaya gerek kalmadan metin özelliklerini (yazı tipi veya renk gibi) değiştirmek için kullanılabilir. Bu davranışın örnek kullanımı için 2. örneğe bakın.

> **NOT:** Bu, 2 boyutlu bir çizim bağlamı gerektiren bir çizim fonksiyonudur.
>
> Bu, yalnızca [2 Boyutlu Çizim Hook'larında](https://gmod.tr/wiki/2D_Rendering_Hooks) çalışacağı anlamına gelir.

## Argümanlar

1. [string](https://gmod.tr/wiki/string) **text**: Çizdirilecek metin.
2. [boolean](https://gmod.tr/wiki/boolean) **forceAdditive** = nil: `true` metni eklemeli (additive) olarak çizmeye zorlar, `false` eklemeli olmamaya zorlar, `nil` ise yazı tipinin değerini kullanır. Eklemeli çizim etkinleştirildiğinde, çizilen metin pikselleri mevcut ekran piksellerinin üzerine yazılmak yerine onlara eklenir. Bu, siyah metnin görünmez olacağı ve saf beyaz bir arka plan üzerine çizim yapmanın imkansız olacağı anlamına gelir. ![image.png](https://gmod.tr/api/uploads/wiki/08425abd65cd94a93724.png)

### Örnek

Ekrana `Hello World` yazar. Bu örnekteki tüm fonksiyonların, çizimin her seferinde kusursuz çalışması için çağrılması gerekir.

```lua
hook.Add( "HUDPaint", "drawsometext", function()
	surface.SetFont( "Default" )
	surface.SetTextColor( 255, 255, 255 )
	surface.SetTextPos( 128, 128 )
	surface.DrawText( "Hello World" )
end )
```

### Örnek

Her karakter için [surface.GetTextSize](https://gmod.tr/wiki/surface.GetTextSize) ve [surface.SetTextPos](https://gmod.tr/wiki/surface.SetTextPos) kullanmadan gökkuşağı metni çizer (daha verimli).

```lua
local text = "~Rainbow~"
hook.Add( "HUDPaint", "drawsometext", function()
	surface.SetFont( "DermaLarge" )
	surface.SetTextPos( 400, 128 )
	for char = 1, #text do
		local col = HSVToColor( ( ( RealTime() * 100 ) - char * 15 ) % 360, 1, 1 )
		surface.SetTextColor( col.r, col.g, col.b )			-- Providing 3 numbers to surface.SetTextColor rather
		surface.DrawText( string.sub( text, char, char ) )	-- than a single color is faster
	end
end )
```

- [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/surface.DrawText
