Автор Тема: Сканер переводчик  (Прочитано 12620 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн mialax

  • Постоялец
  • ***
  • Сообщений: 117
    • Просмотр профиля
Сканер переводчик
« : 16 Ноябрь 2010, 14:16:11 »
Версия 0.02.02

Ограничения:
1) Программа поддерживает только оконный, графический режим работы ДФ с тайлами 16х16 (ограничение на размер тайлов планируется убрать в дальгейшем).
2) Программа слабо отлажена и её работа скорее всего будет сопровождаться различными ошибками. Данная версия предназначена только лишь для тестирования.
3) Текста переведено мало.
4) Качество цветопередачи должно быть 32 бита.

Инструкция:

1) Скопируйте содержимое папки df_Shell в папку ДФ.
2) Запустите ДФ
3) Запустите df_shell
4) Наведите курсор мышки на окно ДФ. При этом окно df_shell прикрепится к верхнему правому углу.
5) При наведении мышки на любые фразы, их текст будет появляться в верхнем правом углу в оригенальном или переведённом варианте, взависимости от наличия выбраных слов в словаре.
6) Режим отдельного окна позволяет просматривать изображение окна ДФ с нарисованым поверх него переводом. Для перехода в этот режим нажмите "Отдельное окно". Для закрытия этого режима нажмите "нет".

Переведено:
1) Основное меню режима крепости.
2) Меню строительства.
3) Меню приказов.
4) Меню хранилищ.
5) Меню зон.

Добавлен режим отдельного окна. В этом режиме появляется окно с изображением окна ДФ с нарисованым поверх него переводом. Изменяя размер окна и использую бегунки можно просматривать нужный участок или всё окно ДФ.



Ссылка на скачивание:
http://rghost.ru/3384334
« Последнее редактирование: 26 Ноябрь 2010, 14:53:09 от mialax »

Оффлайн Krynnit

  • Постоялец
  • ***
  • Сообщений: 106
    • Просмотр профиля
Re: Сканер переводчик
« Ответ #1 : 16 Ноябрь 2010, 15:02:03 »
Сделай окно в 2 раза выше и размести второе меню снизу.

Оффлайн Dj007I

  • Постоялец
  • ***
  • Сообщений: 129
    • Просмотр профиля
Re: Сканер переводчик
« Ответ #2 : 16 Ноябрь 2010, 15:09:41 »
а можно уже эту версию получить мне и так сойдёт пока потестить (или сделай так выложи в топике файл и обновляй его)
« Последнее редактирование: 16 Ноябрь 2010, 15:19:19 от Dj007I »

Оффлайн Jesus

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1459
  • Баню, удаляю исключительно рекламо-спамеров.
    • Просмотр профиля
Re: Сканер переводчик
« Ответ #3 : 16 Ноябрь 2010, 16:41:06 »
Сколько времени идет обработка картинки? (примерно попробуй запустить обработку на 1 000 или 1 000 000 раз и засечь среднее время обработки 1 картинки)

Оффлайн mialax

  • Постоялец
  • ***
  • Сообщений: 117
    • Просмотр профиля
Re: Сканер переводчик
« Ответ #4 : 16 Ноябрь 2010, 16:44:08 »
Dj007I, подожди, дай хоть потестить прогу чуток и перевода набить. Завтра к вечеру дамаю первый вариант выложу.
Надо хотя бы попробовать её на голой винде запустить.

Оффлайн Dj007I

  • Постоялец
  • ***
  • Сообщений: 129
    • Просмотр профиля
Re: Сканер переводчик
« Ответ #5 : 16 Ноябрь 2010, 16:47:14 »
я попробую я всегда мечтал быть альфа тестером!!!

Оффлайн O4epegb

  • Старожил
  • ****
  • Сообщений: 267
  • Strike The Earth!
    • Просмотр профиля
Re: Сканер переводчик
« Ответ #6 : 16 Ноябрь 2010, 19:18:27 »
Можно делать окно дф такое, чтобы оставалось место для проги, которая бы была такого размера, как блок меню. Я бы так сделал.
Т.е. чтобы рпога переводила весь блок меню сразу, если так можно сделать. Вот)

Оффлайн Jesus

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1459
  • Баню, удаляю исключительно рекламо-спамеров.
    • Просмотр профиля
Re: Сканер переводчик
« Ответ #7 : 16 Ноябрь 2010, 19:21:57 »
а я предлагаю :) если время обработки не более 40 мс (примерно 25 кадров в секунду) рисовать прям на экране, предварительно сохранив кадр для перевода.
ТС на чем пишешь?

Оффлайн mialax

  • Постоялец
  • ***
  • Сообщений: 117
    • Просмотр профиля
Re: Сканер переводчик
« Ответ #8 : 16 Ноябрь 2010, 22:25:41 »
Пишу по рабоче крестьянки на Делфи. Студии под рукой не было.
Jesus, можешь подробней изложить механизм, а то под виндой мало пишу. Как узнать момент перерисовки окна? Мне ведь нужно чётко знать этот момент. Сообщение WM_PAINT вроде не подходит. Есть у меня одна идейка, но это уже полнейший изврат.

O4epegb, скажем если войти в окно статус, то переводимая область уже охватывает весь экран. Ограничеваться боковым меню не хочется.

Оффлайн Jesus

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1459
  • Баню, удаляю исключительно рекламо-спамеров.
    • Просмотр профиля
Re: Сканер переводчик
« Ответ #9 : 17 Ноябрь 2010, 05:41:47 »
Пишу по рабоче крестьянки на Делфи. Студии под рукой не было.
Jesus, можешь подробней изложить механизм, а то под виндой мало пишу. Как узнать момент перерисовки окна? Мне ведь нужно чётко знать этот момент. Сообщение WM_PAINT вроде не подходит. Есть у меня одна идейка, но это уже полнейший изврат.

O4epegb, скажем если войти в окно статус, то переводимая область уже охватывает весь экран. Ограничеваться боковым меню не хочется.
Я под XP писал. перерисовку окна хрен отловишь. тут пришла идея :) в левом верхнем углу(в принципе у дварфов есть рамка в пределах которой можно сколько угодно контрольных точек расположить) к примеру рисовать "серо-буро-малиновую" точку :) и в цикле проверять если точка еще на месте значит новых кадров нету :). (я под DirectX в конечном счете, т.к. не смог справится с проблемой вылавливания кадра, нашел DLL-ку которая перехватывает создание D3D и дает возможность мне отслеживать кадры или даже рисовать прям там-же но к OGLу у меня такой штуки нету) винда не сообщает когда окошко реально перерисовалось а WM_PAINT собака имеет низший приоритет (т.е. Виндовс обрабатывает WM_PAINT только тогда когда ей уже совсем нечего обрабатывать, собственно из-за этого :) окошки иногда и подвисают некрасиво не перерисовываясь)
Когда получили новый кадр сразу его скинуть в буфер с помощью BitBlt и далее уже с ним работать (вообще я бы создал еще 1 рабочий буфер в который бы писал новую картинку.).
счас попробую на билдере (Builder C++) :) (лень окошки в коде писать) набросать идею с контрольной точкой :) узнаю выйдет или нет.
« Последнее редактирование: 17 Ноябрь 2010, 10:18:28 от Jesus »

Оффлайн mialax

  • Постоялец
  • ***
  • Сообщений: 117
    • Просмотр профиля
Re: Сканер переводчик
« Ответ #10 : 17 Ноябрь 2010, 08:54:22 »
Jesus, мы блин мыслим одинаково :) Как раз вчера мне идея с контрольной точкой мне пришла в голову. Я и написал "Есть у меня одна идейка, но это уже полнейший изврат."

Оффлайн Jesus

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1459
  • Баню, удаляю исключительно рекламо-спамеров.
    • Просмотр профиля
Re: Сканер переводчик
« Ответ #11 : 17 Ноябрь 2010, 10:18:31 »
что-то нифига не получилось...
при двойной буферизации по HDC получается доступен тока 1 из буферов даже если каждый раз в цикле выполнять GetDC
и получается каша :( с выключеным двойг\ным буфером картинка выглядит лучше, но есть ощущуние что перерисовывается не все и поэтому точка в районе рамки просто не всегда перкрашивается. без точки получаем еще более страшные глюки. :( надо думать.

Оффлайн mialax

  • Постоялец
  • ***
  • Сообщений: 117
    • Просмотр профиля
Re: Сканер переводчик
« Ответ #12 : 17 Ноябрь 2010, 10:51:34 »
Выложил первую версию. Ссылка в первом поcте. Сейчас я попробую поиграться с точкой.

Оффлайн Jesus

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1459
  • Баню, удаляю исключительно рекламо-спамеров.
    • Просмотр профиля
Re: Сканер переводчик
« Ответ #13 : 17 Ноябрь 2010, 11:39:41 »
Получилось! :)
(все-таки не зря я билдер слегка не недолюбливаю... пересобрал в CodeBlocks)
На картинке показано место с точкой :) левый нижний угол чуть выше и правее полоски :) точка розовая (FF00FF)
2-Zip Екзешник :) запускать откуда угодно тока после запуска ДФ, приложение консольное но никакой вывод я не организовывал.
Закрывать :) банально закрыв консольку.
ну Main.zip - исходник на С++ (хотя по сути кроме WinApi там ниче нету)

По сути программа ничего не делает :) просто берет картинку с экрана, смотрит есть ли точка если нету копирут картинку побайтно из источника в приемник и приемник копирует в окошко DF. при некоторых условиях я получал глюки... счас буду дальше Экспериментировать.
« Последнее редактирование: 17 Ноябрь 2010, 11:42:29 от Jesus »

Оффлайн Jesus

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1459
  • Баню, удаляю исключительно рекламо-спамеров.
    • Просмотр профиля
Re: Сканер переводчик
« Ответ #14 : 17 Ноябрь 2010, 12:02:20 »
Не все-же хрень получается :( добавил черный квадрат на середину Экрана моргает :( противно моргает при 1 буфере чуток получше при 2-х очень не красиво выглядит :(