Varsayılan GUI tasarımı yerine gui-staticimage tasarımlar yapılırken genelde tek renk resimler kullanılmaktadır. Bu tek renk resimler 1x1 boyutunda oluyor ve ilerde değiştirme yapmak zahmetli oluyor. Bunun için 1x1 boyutunda belirtilen kırmızı, yeşil, mavi ve şeffaflık değerlerine göre bu resim dosyasını otomatik oluşturan bir fonksiyon. Resim dosyası, kodun bulunduğu scriptin içine oluşturulmaktadır. İsmi
name değişkeninde belirleniyor. Eğer aynı renkte bir resim dosyası varsa yeniden oluşturmak yerine mevcut olanı veriyor.
Çok önceden paylaştığım bir fonksiyondu. Çok işlevsel gibi gözükmese de gui-image panel yapanların genelde işini kolaylaştırmakta. Forumda konusunu açmıştım ama bugün uzun aramalardan sonra bulamadım. Belki de yanlış hatırlıyorumdur.
Daha optimize hale getirilebilir ama bunu yapmamayı tercih ettim. Çok isterseniz yapabilirsiniz.
function resimOlustur( r, g, b, a )
local r,g,b,a = r or 255, g or 255, b or 255, a or 255
local name = r..","..g..","..b..","..a..".png"
if fileExists(name) then
return name
end
local texture = dxCreateTexture( 1, 1 )
local pixels = dxGetTexturePixels( texture )
dxSetPixelColor( pixels, 0, 0, r, g, b, a )
local img = fileCreate( name )
fileWrite( img, pixels )
fileClose( img )
return name
end