Что нового

Теория ресайза...

xexe

Новичок
Сообщения
11
Репутация
2
Вопрос в том, кто и как делает ресайз? - в принципе тут более менее понятно...
Более важный вопрос как вы проверяете правильных ли размеров окошки, а то бывает что на 1-2 пикселя различаются, или как вы обходите данную проблему?

З.Ы. вот такой скрипт для ресайза у меня:
Код:
Func Resize()
	$MsgBox = MsgBox(4, "Resize", "Want to resize 1st Overview?", 10)
	If $MsgBox = 6 Then
		Do
			ToolTip("Geting Top-Right Coords 1st Overview", 1030, 5)
			If _IsPressed(01) Then 
				ToolTip('')
				$1OverPosTR = MouseGetPos()
				Do
					Sleep(10)
				Until Not _IsPressed(01)
				$v = 1
			EndIf
		Until $v = 1
		$v = 0
		Do
			ToolTip("Geting Bottom-Left Coords 1st Overview", 1030, 5)
			If _IsPressed(01) Then 
				ToolTip('')
				$1OverPosBL = MouseGetPos()
				Do
					Sleep(10)
				Until Not _IsPressed(01)
				$v = 1
			EndIf
		Until $v = 1
		$v = 0
		MouseClickDrag("Left", $1OverPosTR[0], $1OverPosTR[1], $1OverDEFTRX, $1OverDEFTRY)
		Sleep(500)
		MouseClickDrag("Left", $1OverPosBL[0], $1OverPosBL[1], $1OverDEFBLX, $1OverDEFBLY)
		Sleep(500)
		Resize2()
	EndIf
End Func
 

hikki

Продвинутый
Сообщения
233
Репутация
99
а зачем их ресайзить? особенно овервью, если ты нашел эти три полосочки то привязывай координаты к ним и в 99% твои координаты не потеряются.
 

DJ_Tommy

Продвинутый
Сообщения
234
Репутация
57
Кстати, да, Хикки прав - главное правильно выбрать точку отсчета и там пофиг на размер окна, тем более +- пару пикселей.
 

running-frag

why me?
Сообщения
441
Репутация
60
почти анриал, приоткроют пару карт

что можно в теории...
все знают что края у окон "гулящие" по цветовой схеме. можно выдумывать велосипеды и костыли но это геммор большой, из за которого, кстати, и невозможно, почти, расчитать width & height окна (хотя может кто то родит и положит в паблик, все будут боготворить его)

трудность заключается вот в чём, с каждой стороны есть 5 пикселей, которые и "налеваются цветом" в зависимости от поворота камеры.
теоретически мы знаем что там чётко 5 пикселей (могу ошибаться, может 4) но вот практически... там другая сторона
т.к. края не всегда заливаются и в итоге получаем "залитые" не 5 а к примеру 3 пикселя

что получается на практике...

меняем цвет на любую схему кроме чёрного (для наглядности) ингейм окон, само собой прозрачно в ноль.
берём (к примеру) selected item
находим первый статический цвет это где то +5\+4 от края (точно кто его знает), так же сверху, т.е. у нас уже есть точка отсчёта - x1 & y1
запускаем два лупа, первый по х второй по у
т.е. если первый цвет в точке отсчёта будет (я не буду указывать точные цвета) "12345" тогда в лупе будет, "идём по первого пикселя которые НЕ 12345" и так дойдём до края правого
такая же схема по y

итоги и косяки

мы можем расчитать "почти" height & width
почему почти: при детальном изучении заливаются края (как я говорил) от поворота камеры, поэтому не факт что сверху у нас залито все 5, допустим что вверху залито 2 а внизу 5, нужно делать дополнительные пробеги лупом проверяя ширину по вертикали.

можно посчитать рабочую (почти) зону, и потягать за края но 100% точности не будет из за "плавающих краёв" (и это я брал самый простой пример с selected item)

в общем "в теории мы богачи, а на практиче что мы имеем? две ***** и один ****" (с) Анектод

ps: в принцепи даже для ресайза принцеп описанный выше сработает, но моё имхо, если хочешь чёткий контроль на окном, делать это нужно по другому


upd: если хочешь статики задумайся что самое статическое в окне евы и относильно него уже танцуй, скажу только что ДА такое есть, ищи и думай ;)

на этом я карты закрываю :blum:
 

DJ_Tommy

Продвинутый
Сообщения
234
Репутация
57
Почти в каждой теме есть рекомендации - держи открытым режим карты - сдвигаешь за границы карту и получаешь чисто черный экран в котором нет искажений цвета.
 

Lexx98

Продвинутый
Сообщения
272
Репутация
73
А зачем искать окно по его краю? Часто гораздо легче искать окна по другим элементам, вне зависимости скрипт ищет, или ты ручками с лупой. К примеру овервью - по полоскам его меню. Selected Item - по его длинной горизонтальной полосе.
Внутренние элементы окна часто не меняют цвет от поворота камеры.

П.С. Смотри в подписи CheckPixel и думай над возможностями использования. Офигенно удобная вещь.
 

running-frag

why me?
Сообщения
441
Репутация
60
луп - loop - "цикл программы ЭВМ" с англ.

upd: можно с лёгкостью заменить в тексте выше "луп" на "цикл", смысл будет едентичный, просто я часто тусуюсь на англ форумах (не только по тематике автоит), там по большей часте используют именно выражение "loop" для обозначения "цикла", поэтому сори если кого то ввёл в заблуждение
 

running-frag

why me?
Сообщения
441
Репутация
60
ну ширину можно точно определить, покуриваю эту тему, прицепившись к крестику (закрытия, свёртывание) окна
таким образом слево имя справа крестик - вуаля - точная ширина рабочей зоны

а вот по высоте пока даже не представляю
 

hikki

Продвинутый
Сообщения
233
Репутация
99
сдается мне мы тут вообще о разных весчах разговариваем, возможночто мы тебя и ты на недопонимаеш ;)
можно в скринах пояснить мыль? что требуется найти?
 

running-frag

why me?
Сообщения
441
Репутация
60
сдается мне мы тут вообще о разных весчах разговариваем, возможночто мы тебя и ты на недопонимаеш

можно в скринах пояснить мыль? что требуется найти?
уточняй кому пишешь если вопрос звучал ко мне тогда...

сам процесс резайса - это не беда вообще, если мы знаем точку отсчёта и width & height, это ведь очевидно 8)
отсюда, у человека (TC) беда с определением онных
отсюда, читаем с первого поста (моего) и думаем головой как получить их

а "найти" нужно "высоту" любого окна (которое кормим функции) по шаблону


@Продвинутый карибас
на счёт мап моуда в какой то степени ты оказался прав, там заливка статическая (т.е. не меняется) возможно получится вытянуть точную ширину по алгоритму с первого (моего) поста

проблема с определением высоты до сих пор не решена

PS: я не ТС, просто интересно стало т.к. сам натыкался на те же грабли
 
Верх