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

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

本贴由 wsok2014-10-25 发布. 版块名称: PW Разработки

  1. TopicStarter Overlay

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

    注册日期:
    2012-11-07
    帖子:
    606
    支持:
    173
    性别:
    Репутация:
    3
    Довольно часто требуется добавить или удалить часть иконок из клиента. Вручную это делать и долго и неудобно, эту проблему и решит данный инструмент, выполненный в виде скрипта на PHP, предназначенного для выполнения в консоли сервера.

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

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

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


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

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

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

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

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

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

    附件文件:

    Последнее редактирование: 2014-10-27
    已获得Aksel, Rovento, Drakon4eg另外2人的支持.
  2. TopicStarter Overlay

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

    注册日期:
    2012-11-07
    帖子:
    606
    支持:
    173
    性别:
    Репутация:
    3
    Для тех, кому интересен ещё вариант резалки, тоже выполнен на пхп, но использует уже для обработки изображений иконок технологию imagemagick(которую следует установить, если не будет работать скрипт).

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

    附件文件:

    • ims.zip
      文件大小:
      1.4 КБ
      浏览:
      15
  3. alexdnepro Эксперт AngeliCore Пользователи Open Source Contributor White List

    注册日期:
    2010-04-02
    帖子:
    754
    支持:
    1,313
    性别:
    Репутация:
    6
    [​IMG]
    Я правильно понимаю, на каждую мелкую картину заново читается весь полный пак картинок?
    已获得vieraw的支持.
  4. salitypw Программист Пользователи

    注册日期:
    2011-09-20
    帖子:
    673
    支持:
    460
    性别:
    Репутация:
    8
    Команда:
    Easy Game Protection
    Страна:
    Japan Japan
    Еще и размер массива каждый раз заново пересчитывается)
  5. TopicStarter Overlay

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

    注册日期:
    2012-11-07
    帖子:
    606
    支持:
    173
    性别:
    Репутация:
    3
    есть определенные предложения по модификации кода? ))
  6. salitypw Программист Пользователи

    注册日期:
    2011-09-20
    帖子:
    673
    支持:
    460
    性别:
    Репутация:
    8
    Команда:
    Easy Game Protection
    Страна:
    Japan Japan
    Для начала - заменить for на foreach :)
  7. TopicStarter Overlay

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

    注册日期:
    2012-11-07
    帖子:
    606
    支持:
    173
    性别:
    Репутация:
    3
    он как раз используется в первом посте, а во втором в версии с имайджик уже используется фор
  8. salitypw Программист Пользователи

    注册日期:
    2011-09-20
    帖子:
    673
    支持:
    460
    性别:
    Репутация:
    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.
    Последнее редактирование модератором: 2014-11-03
  9. alexdnepro Эксперт AngeliCore Пользователи Open Source Contributor White List

    注册日期:
    2010-04-02
    帖子:
    754
    支持:
    1,313
    性别:
    Репутация:
    6
    Конечно есть, из всех операций, которые тут выполняются самой длительной будет открытие столь объемного png файла (по сравнению с этим разница в функциях перебора массива даже рядом не стоит).
    Открывать файл надо один раз - а из него копировать нужные области в созданную пустую картинку, которую потом и сохранять.
    已获得JonMagon的支持.
  10. TopicStarter Overlay

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

    注册日期:
    2012-11-07
    帖子:
    606
    支持:
    173
    性别:
    Репутация:
    3
    ну даже если и так, все равно как я заметил кучу времени съедает операция сохранения иконки на диске. Когда убираю из цикла функцию копирования иконки на диск, то тогда цикл в разы быстрее выводит массив.
    --- добавлено: 26 окт 2014 в 11:28 ---
    что насчет совета, то я учел и исключил из цикла операцию по созданию подложки изображения и его параметров. Как итог скорость выросла, но не на столько, чтоб была равной скорости обработки массива без функции копирования иконок. Ну я думаю, это уже не решить )
    --- добавлено: 26 окт 2014 в 11:31 ---
    что насчет совета, то я учел и исключил из цикла операцию по созданию подложки изображения и его параметров. Как итог скорость выросла, но не на столько, чтоб была
    спасибо, учел критику твою и алекса, скрипт поправил. Как итог скорость обработки выросла в несколько раз. Чуть позже выложу апдейт версии скрипта.
    --- добавлено: 26 окт 2014 в 11:39 ---
    Ну и как заключение, GD работает намного быстрее, чем имайджмагик.
    --- добавлено: 26 окт 2014 в 11:50 ---
    Первый пост обновлен, добавлена новая версия скрипта.
    Последнее редактирование модератором: 2014-11-03
  11. alexdnepro Эксперт AngeliCore Пользователи Open Source Contributor White List

    注册日期:
    2010-04-02
    帖子:
    754
    支持:
    1,313
    性别:
    Репутация:
    6
    Ловите для кучи скрипт парсинга иконок в MySQL

    附件文件:

    已获得CoolMan, Joslian, JoLan另外1人的支持.
Черновик сохранён Черновик удалён

分享此页面