1. Гость, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

Любая версия PW-IISET: Инструмент для обработки иконок игрового клиента

Тема в разделе 'PW Разработки', создана пользователем wsok, 25 окт 2014.

  1. TopicStarter Overlay

    wsok Программист Пользователи

    Сообщения:
    606
    Лайки:
    173
    Пол:
    Мужской
    Репутация:
    3
    Довольно часто требуется добавить или удалить часть иконок из клиента. Вручную это делать и долго и неудобно, эту проблему и решит данный инструмент, выполненный в виде скрипта на PHP, предназначенного для выполнения в консоли сервера.

    iis1.jpg
    Процесс разрезки иконок клиента(не пугайтесь, что в консоли названия выглядят криво, просто сервер не настроен для отображения азиатских шрифтов)

    iis3.jpg
    Результат разрезки, как видно все названия иконок на своих местах.

    iis2.jpg
    Работа склейщика иконок...


    iis4.jpg
    И его результат.

    Файл РЕАДМИ с небольшой помощью приложен к скриптам.

    ЗЫ: все же удалось прикрепить к посту архивчик со скриптами, но пришлось удалить демо-файлы с иконками, надеюсь сами разберетесь что к чему там. Будут вопросы, меня легко найти на моем сайте, но сюда по мере свободного времени тоже буду заглядывать.

    Актуальная версия 1.1: Немного исправлен скрипт резалки иконок, теперь он быстрее работает. (спасибо за конструктивную критику коллегам =) )

    Так же есть данный инструмент, но уже в виде софта. В чем удобство? Само по себе в виде виндовс-софта уже удобное решение, ну и плюс она работает намного быстрее чем пхп версия. Отдельное спасибо Desmond Hume, за то, что он переписал под софт обработчик иконок.

    Пхп же версия больше рассчитана на любителей встраивать в веб-сервер(в ЛК) некоторые функции, ну и для энтузиастов, которые захотят поглядеть поближе код и доработать.

    Вложения:

    • iiset_v1.zip
      Размер файла:
      69,6 КБ
      Просмотров:
      23
    • iiset1.1.zip
      Размер файла:
      63,6 КБ
      Просмотров:
      39
    Последнее редактирование: 27 окт 2014
    Aksel, Rovento, Drakon4eg и 2 другим нравится это.
  2. TopicStarter Overlay

    wsok Программист Пользователи

    Сообщения:
    606
    Лайки:
    173
    Пол:
    Мужской
    Репутация:
    3
    Для тех, кому интересен ещё вариант резалки, тоже выполнен на пхп, но использует уже для обработки изображений иконок технологию imagemagick(которую следует установить, если не будет работать скрипт).

    За доработку и консультации спасибо vieraw.

    Вложения:

    • ims.zip
      Размер файла:
      1,4 КБ
      Просмотров:
      15
  3. alexdnepro Эксперт AngeliCore Пользователи Open Source Contributor White List

    Сообщения:
    753
    Лайки:
    1.311
    Пол:
    Мужской
    Репутация:
    6
    [​IMG]
    Я правильно понимаю, на каждую мелкую картину заново читается весь полный пак картинок?
    vieraw нравится это.
  4. salitypw Программист Пользователи

    Сообщения:
    673
    Лайки:
    458
    Пол:
    Мужской
    Репутация:
    8
    Команда:
    Easy Game Protection
    Страна:
    Japan Japan
    Еще и размер массива каждый раз заново пересчитывается)
  5. TopicStarter Overlay

    wsok Программист Пользователи

    Сообщения:
    606
    Лайки:
    173
    Пол:
    Мужской
    Репутация:
    3
    есть определенные предложения по модификации кода? ))
  6. salitypw Программист Пользователи

    Сообщения:
    673
    Лайки:
    458
    Пол:
    Мужской
    Репутация:
    8
    Команда:
    Easy Game Protection
    Страна:
    Japan Japan
    Для начала - заменить for на foreach :)
  7. TopicStarter Overlay

    wsok Программист Пользователи

    Сообщения:
    606
    Лайки:
    173
    Пол:
    Мужской
    Репутация:
    3
    он как раз используется в первом посте, а во втором в версии с имайджик уже используется фор
  8. salitypw Программист Пользователи

    Сообщения:
    673
    Лайки:
    458
    Пол:
    Мужской
    Репутация:
    8
    Команда:
    Easy Game Protection
    Страна:
    Japan Japan
    А теперь смотри разницу.

    Вот тебе for:
    [​IMG] [​IMG]
    --- добавлено: 26 окт 2014 в 06:17 ---
    А вот foreach:
    [​IMG] [​IMG]
    --- добавлено: 26 окт 2014 в 06:18 ---
    Разницу в производительности видишь? :)
    --- добавлено: 26 окт 2014 в 06:32 ---
    P. S. Многие стандартные функции для работы с массивами лучше вообще не использовать, а писать их аналоги, используя foreach для перебора (только не забывайте сбрасывать потом внутренний указатель).
    Вот тому пример:

    [​IMG] [​IMG]
    --- добавлено: 26 окт 2014 в 06:35 ---
    Как видим - стандартная функция для обхода массива работает в 34 раза медленнее, чем ее аналог на foreach.
    Последнее редактирование модератором: 3 ноя 2014
  9. alexdnepro Эксперт AngeliCore Пользователи Open Source Contributor White List

    Сообщения:
    753
    Лайки:
    1.311
    Пол:
    Мужской
    Репутация:
    6
    Конечно есть, из всех операций, которые тут выполняются самой длительной будет открытие столь объемного png файла (по сравнению с этим разница в функциях перебора массива даже рядом не стоит).
    Открывать файл надо один раз - а из него копировать нужные области в созданную пустую картинку, которую потом и сохранять.
    JonMagon нравится это.
  10. TopicStarter Overlay

    wsok Программист Пользователи

    Сообщения:
    606
    Лайки:
    173
    Пол:
    Мужской
    Репутация:
    3
    ну даже если и так, все равно как я заметил кучу времени съедает операция сохранения иконки на диске. Когда убираю из цикла функцию копирования иконки на диск, то тогда цикл в разы быстрее выводит массив.
    --- добавлено: 26 окт 2014 в 11:28 ---
    что насчет совета, то я учел и исключил из цикла операцию по созданию подложки изображения и его параметров. Как итог скорость выросла, но не на столько, чтоб была равной скорости обработки массива без функции копирования иконок. Ну я думаю, это уже не решить )
    --- добавлено: 26 окт 2014 в 11:31 ---
    что насчет совета, то я учел и исключил из цикла операцию по созданию подложки изображения и его параметров. Как итог скорость выросла, но не на столько, чтоб была
    спасибо, учел критику твою и алекса, скрипт поправил. Как итог скорость обработки выросла в несколько раз. Чуть позже выложу апдейт версии скрипта.
    --- добавлено: 26 окт 2014 в 11:39 ---
    Ну и как заключение, GD работает намного быстрее, чем имайджмагик.
    --- добавлено: 26 окт 2014 в 11:50 ---
    Первый пост обновлен, добавлена новая версия скрипта.
    Последнее редактирование модератором: 3 ноя 2014
  11. alexdnepro Эксперт AngeliCore Пользователи Open Source Contributor White List

    Сообщения:
    753
    Лайки:
    1.311
    Пол:
    Мужской
    Репутация:
    6
    Ловите для кучи скрипт парсинга иконок в MySQL

    Вложения:

    CoolMan, Joslian, JoLan и ещё 1-му нравится это.
Черновик сохранён Черновик удалён
Similar Threads
  1. greatest
    Ответов:
    5
    Просмотров:
    2.333
  2. tyrikmen
    Ответов:
    6
    Просмотров:
    11.028
  3. wsok
    Ответов:
    14
    Просмотров:
    3.955
  4. RealSteel
    Ответов:
    11
    Просмотров:
    3.456
  5. Killer-sin
    Ответов:
    5
    Просмотров:
    2.641
Загрузка...

Поделиться этой страницей