STRELA Posted May 21, 2017 Share Posted May 21, 2017 (edited) как сделать больше расстояние цифр? помогите пожалуйста. function russionNumberPlate ( text, vehicle ) renderTarget = dxCreateRenderTarget(256, 64) dxSetRenderTarget(renderTarget) dxDrawImage(0, 0, 256, 64, dxCreateTexture("number/number_ru.png") ) dxDrawText(string.match(text, "^%a" ), textOffset+5, 0, textOffset + textWidth, numberHeight, tocolor(0, 0, 0), 0.9,0.95, numberFont1, "left", "center") dxDrawText(string.match(text, "%d%d%d" ), textOffset-12, 0, textOffset + textWidth, numberHeight, tocolor(0, 0, 0), 0.9,0.95, numberFont1, "center", "center") dxDrawText(string.match(text, "%a%a" ), textOffset-55, 0, textOffset + textWidth + 10, numberHeight, tocolor(0, 0, 0), 0.9,0.95, numberFont1, "right", "center") dxDrawText(string.match(text, "%d+$" ), 197, 0, 244, 47, tocolor(0, 0, 0), 0.6,0.7, numberFont1, "center", "center") dxSetRenderTarget() local texture = getTextureFromRenderTarget(renderTarget) destroyElement(renderTarget) return texture end Edited May 21, 2017 by STRELA Link to comment
Kernell Posted May 22, 2017 Share Posted May 22, 2017 Оформите тему подобающим образом Link to comment
STRELA Posted June 6, 2017 Author Share Posted June 6, 2017 dxDrawText (String.match (текст," % d% d% d»), textOffset-12, 0, textOffset + TextWidth, numberHeight, tocolor (0, 0, 0), 0.9,0.95, numberFont1, "центр", "центр") как сделать каждую цифру отдельно вот это===%d%d%d Link to comment
Fabervox Posted June 7, 2017 Share Posted June 7, 2017 @STRELA, пробелов можно сделать больше или меньше в "%d %d %d" dxDrawText(string.format("%d %d %d",string.match(text,"(%d)(%d)(%d)")), textOffset-12, 0, textOffset + textWidth, numberHeight, tocolor(0, 0, 0), 0.9,0.95, numberFont1, "center", "center") Если расстояние не подойдет, то собрать в отдельные переменные, и для каждой подбирать параметры dxDrawText. local n1,n2,n3 = string.match(text,"(%d)(%d)(%d)") Вообще мне кажется, что это всё какая-то каша у вас. Ну вот вы взяли букву вначале, дальше если у вас допустим текст вписан "аб123вгд4", то вы получите на выходе "а123аб4", т.е какого-то особого смысла в регулярках тут нет, врядли оно исправит какие-то опечатки. Если у вас уже верный текст, то можно собрать вхождения одной строчкой и далее выводить или форматировать как нужно: local w1,n1,n2,n3,w2,w3,n4 = string.match(text, "(%a)(%d)(%d)(%d)(%a)(%a)(%d)") Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now