Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2018-03-20, 18:43


kajetan254







Wiek: 29
Na forum: 3325 dni
Posty: 42
Nick w MP: Kajetan

Piwa: 5

Respekt: 60

M?g?by mi kto? wyt?umaczy? dlaczego tylko font w moim panelu logowania si? nie skaluje ?

      dxDrawText("Urzad Miasta",  screenW * 0.5099, screenH * 0.7880, screenW * 0.7453, screenH * 0.9157, tocolor(255, 255, 255, 255), 1.00, font, "center", "center", false, false, false, false, false)


1600x900

1280x720

Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-03-20, 21:37


TeeNekk

Cienzaruwka :v






Wiek: 23
Na forum: 3351 dni
Posty: 264
Nick w MP: TeeNekk.

Piwa: 919

Respekt: 110,5
Respekt: 110,5

"kajetan254" napisał/a:

M?g?by mi kto? wyt?umaczy? dlaczego tylko font w moim panelu logowania si? nie skaluje ?

      dxDrawText("Urzad Miasta",  screenW * 0.5099, screenH * 0.7880, screenW * 0.7453, screenH * 0.9157, tocolor(255, 255, 255, 255), 1.00, font, "center", "center", false, false, false, false, false)


1600x900 Obrazek

1280x720 Obrazek


To nie wina fontu, tylko skalowanie z guieditora nie jest do ko?ca najlepsze i na r??nych rozdzielczo?ciach wygl?da to nieco inaczej.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-03-21, 14:07


jagoreq







Wiek: 24
Na forum: 3362 dni
Posty: 221
Nick w MP: dwd

Piwa: 18

Respekt: 66,3

Ostrzeżeń: 20%
Robienie element?w dx w relative nie jest do ko?ca najlepsze. Dam Ci przyk?ad skalowania na mojej rozdzielczosci (1920/1080)

local sx,sy = guiGetScreenSize()
local px,py = (sx/1920),(sy/1080)

 dxDrawText("Urzad Miasta",  10*px, 10*py, 10*px, 10*py --losowa lokalizacja


Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-03-21, 15:17


Ciastuuś

As-salamu alaykum






Wiek: 27
Na forum: 3212 dni
Posty: 800
Nick w MP: Ciastuuś

Piwa: 4304

Respekt: 640
Respekt: 640Respekt: 640

Je?eli chcesz skalowa? to naucz si? skalowania wed?ug brzyska...

Kod:

By cokolwiek skalowa?, najpierw trzeba nauczy? si? pozycjonowa? interfejs.


screenW = guiGetScreenSize()
-- lewa strona ekranu 
x = koordy -- od lewej do po?owy ekranu 

-- ?rodek ekranu 
x = screenW/2 -- do ?rodkowania element?w

-- od prawej strony ekranu 
x = screenW - koordy -- od prawej strony ekranu


Kod:

Za???my, ?e robimy obrazek w prawym g?rnym rogu ekranu.


local width, height = 300, 200 
local x, y = screenW-width-100, height+100


Kod:

Uzyskujemy spoko efekt. 100 to dodatkowy odst?p dla estetyczno?ci.
Po co teraz wymy?lono zoom? Na rozdzielczo?ci 800x600 ten obrazek zajmie 1/3 ekranu, a na rozdzielczo?ci 1920x1080 b?dzie ma?y i ustronny.
Kalkulacj? przedstawion? tutaj wymy?li?em rok temu, bo l0nger dopasowywa? zoom r?cznie.
Za?o?enie jest takie, ?e im mniejsza rozdzielczo?? od projektowanej (np. od 1920) tym wi?ksze zmniejszenie obrazka.


SW, SH = guiGetScreenSize()

local baseX = 1920 -- rozdzielczo?? bazowa X, na kt?rej opieramy interfejs. Powy?ej tej rozdzielczo?ci interfejs b?dzie zbyt ma?y.
local zoom = 1 
local minZoom = 2 -- maksymalne zmniejszenie interfejsu (tutaj: dwukrotne)
if SW < baseX then -- je?li rozdzielczo?? mojego ekranu jest mniejsza ni? bazowa, stopniowo zwi?kszamy zmniejszenie interfejsu
    zoom = math.min(minZoom, baseX/SW)
end


Kod:

Przewag? takiego sposobu jest to, ?e nie jest zale?ny od formatu obrazu i nie jest skalowany w g?r?, tylko w d??: strata jako?ci jest znacznie mniejsza.
Co otrzymujemy?


local width, height = 300/zoom, 200/zoom 
local x, y = screenW-width-100/zoom, height+100/zoom


Kod:

Interfejs teraz b?dzie stopniowo zmniejsza? si? od rozdzielczo?ci Full HD.
Je?li kto? nadal nie rozumie o co z tym chodzi, niech pozostanie przy skalowaniu relatywnym i zaczeka na rozw?j swojej wiedzy - wtedy zrozumie si? pewne rzeczy


Podpis
As-salamu alaykum
Postaw piwo autorowi tego posta
 

 
Tagi: skalowanie :: fontów
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Skalowanie fontów Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku