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

Результаты поиска

  1. wsok
  2. wsok
    Не вижу смысла в подобном (платном) ПО, для работы с иконками, камим бы функционалом не обладал. Им пользоваться будут раз в год, ну может - два, не более. Не страдайте фигней. По себе: файл с иконками и так распакован, когда базовый билд CPW делаю. Если хочу ввести итем, использую иконфиндер (Алекса) чтоб конкретную иконку заюзать. В файфле Китайцев дофига иконок, которые они внесли но не используют. Если надо добавить - Paint net (для dds) + notepad++ (для текстовика). Всё. Потом через CPW очередное обновление пускаю (для игроков). Теперь несколько проще, имея шаровую версию от автора. И повторюсь, с иконками работаю очень редко. Пишите платный софт для тех задач, которые постоянно в работе. Вот там, функционал и "удобство", реально нужны и постоянно. Такой софт будет ускорять процесс создания обновлений, облегчать работу. я согласен, более того мы с Десмондом это понимаем, потому сразу для шары и планировали эту тулзу. Тут просто Джолан свой платный софт показал, вот и были высказаны мысли вслух )
    Сообщение от: wsok, 27 окт 2014 в разделе: PW Разработки
  3. wsok
    Не видел ни разу. Ну и отлично, теперь таких прог две, ну или три, если считать скрипт IISET-PW. P.S. Импорт в pck поддерживается? Было бы интересно посмотреть на реализацию. Просто моя коммерческая, а теперь в ней смысла нет. Нет, в PCK импорта нет, но это не проблема. ну почему же нет смысла, если она у тебя напрямую с ддс форматом работает, то это можно считать преимуществом платной версии, более того для кого то именно твоя программа будет удобнее... Или ты уже думаешь сделать её уже шаровой? --- добавлено: 27 окт 2014 в 05:39 --- Пишите тогда уж с блек-джеком и шлюхами © ))) вот вот, дописать функционал у платной и будет опять повод купить для тех, кто хочет минимум действий делать ) Например не распаковывая PCK архив выделить нужный иконсет, разрезать его в выбранную папку, произвести добавление или изьятие иконок, и... произвести склейку с сохранением прямо в PCK архив. Тогда это будет вообще универсальный инструмент для работы с иконками прямо с PCK файлом )
    Сообщение от: wsok, 27 окт 2014 в разделе: PW Разработки
  4. wsok
  5. wsok
    есть определенные предложения по модификации кода? )) Конечно есть, из всех операций, которые тут выполняются самой длительной будет открытие столь объемного png файла (по сравнению с этим разница в функциях перебора массива даже рядом не стоит). Открывать файл надо один раз - а из него копировать нужные области в созданную пустую картинку, которую потом и сохранять. ну даже если и так, все равно как я заметил кучу времени съедает операция сохранения иконки на диске. Когда убираю из цикла функцию копирования иконки на диск, то тогда цикл в разы быстрее выводит массив. --- добавлено: 26 окт 2014 в 11:28 --- что насчет совета, то я учел и исключил из цикла операцию по созданию подложки изображения и его параметров. Как итог скорость выросла, но не на столько, чтоб была равной скорости обработки массива без функции копирования иконок. Ну я думаю, это уже не решить ) --- добавлено: 26 окт 2014 в 11:31 --- что насчет совета, то я учел и исключил из цикла операцию по созданию подложки изображения и его параметров. Как итог скорость выросла, но не на столько, чтоб была он как раз используется в первом посте, а во втором в версии с имайджик уже используется фор А теперь смотри разницу. Вот тебе 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. спасибо, учел критику твою и алекса, скрипт поправил. Как итог скорость обработки выросла в несколько раз. Чуть позже выложу апдейт версии скрипта. --- добавлено: 26 окт 2014 в 11:39 --- Ну и как заключение, GD работает намного быстрее, чем имайджмагик. --- добавлено: 26 окт 2014 в 11:50 --- Первый пост обновлен, добавлена новая версия скрипта.
    Сообщение от: wsok, 26 окт 2014 в разделе: PW Разработки
  6. wsok
  7. wsok
  8. wsok
  9. wsok
  10. wsok
  11. wsok
    Шатаю gs :O
    Сообщение от: wsok, 25 окт 2014 в разделе: Оффтоп
  12. wsok
    Кинь код файлом и png с txt тоже. дело в том, что файл с иконками весит около 8 мб и к посту не смогу его приложить (полетел тапок в сторону администрации форума =)) )) Но сам скрипт резалки можно скачать тут: http://mmorpg-devs.ru/threads/pw-iiset-Инструмент-для-обработки-иконок-игрового-клиента.17223/ скрипт резалки в папке iis там он у меня выполнен по GD методу, но ты легко сможешь изучить скрины с кодом что я выше давал и привести код к такому же виду с использованием имайджмагик. Файл с иконками и его тектстовик можно взять из клиента пв (распаковав соответствующий архив клиента) Ну ты молодец. 1)У меня нет клиента. 2)Я прекрасно знаю как режутся эти иконки и нет желания еще что-то писать. P.S. Какой путь до файла указываешь? У меня с относительным не работает он. файл с иконками и его текстовик в той же папке что и скрипт обработки. $fname = "iconlist_ivtrm"; $ficons="{$fname}.png"; $gtxt = file("{$fname}.txt"); $image = new Imagick($ficons); $s = 1; $listen = array_slice($gtxt, 4); for($i=0; $i<count($listen); $i++) { $str= substr($listen[$i], 0 , strrpos($listen[$i], ".")); ++$ii; ++$si; if($si > $gtxt[3]) {$s++; $si = 1;} $str_to = mb_convert_encoding($str, 'utf-8', 'gb2312'); $y = $s*$gtxt[0]-$gtxt[0]; $x = $si*$gtxt[1]-$gtxt[1]; $image->cropImage($gtxt[0],$gtxt[1],$y,$x); $image->writeImage("result/{$str_to}.png"); echo"{$ii}. {$str_to}.png<br>"; } ?> Вот собственно код над которым я завис )) Правда в этом варианте я цикл теперь использую FOR, что увы не повлияло на результат.
    Сообщение от: wsok, 25 окт 2014 в разделе: PHP
  13. wsok
    для меня не столько принципиально заставить этот код работа А что ты хотел? Выведи все ошибки и увидишь ошибку: Can not process empty Imagick object. И это логично ты же удалил объект Imagick в 20 строке. Ты насчет этого? $image->destroy(); Без него то же самое, обрыв цикла на первом объекте массива... Кинь код файлом и png с txt тоже. дело в том, что файл с иконками весит около 8 мб и к посту не смогу его приложить (полетел тапок в сторону администрации форума =)) )) Но сам скрипт резалки можно скачать тут: http://mmorpg-devs.ru/threads/pw-iiset-Инструмент-для-обработки-иконок-игрового-клиента.17223/ скрипт резалки в папке iis там он у меня выполнен по GD методу, но ты легко сможешь изучить скрины с кодом что я выше давал и привести код к такому же виду с использованием имайджмагик. Файл с иконками и его тектстовик можно взять из клиента пв (распаковав соответствующий архив клиента)
    Сообщение от: wsok, 25 окт 2014 в разделе: PHP
  14. wsok
  15. wsok
    Довольно часто требуется добавить или удалить часть иконок из клиента. Вручную это делать и долго и неудобно, эту проблему и решит данный инструмент, выполненный в виде скрипта на PHP, предназначенного для выполнения в консоли сервера. [ATTACH] Процесс разрезки иконок клиента(не пугайтесь, что в консоли названия выглядят криво, просто сервер не настроен для отображения азиатских шрифтов) [ATTACH] Результат разрезки, как видно все названия иконок на своих местах. [ATTACH] Работа склейщика иконок... [ATTACH] И его результат. Файл РЕАДМИ с небольшой помощью приложен к скриптам. ЗЫ: все же удалось прикрепить к посту архивчик со скриптами, но пришлось удалить демо-файлы с иконками, надеюсь сами разберетесь что к чему там. Будут вопросы, меня легко найти на моем сайте, но сюда по мере свободного времени тоже буду заглядывать. Актуальная версия 1.1: Немного исправлен скрипт резалки иконок, теперь он быстрее работает. (спасибо за конструктивную критику коллегам =) ) Так же есть данный инструмент, но уже в виде софта. В чем удобство? Само по себе в виде виндовс-софта уже удобное решение, ну и плюс она работает намного быстрее чем пхп версия. Отдельное спасибо Desmond Hume, за то, что он переписал под софт обработчик иконок. Пхп же версия больше рассчитана на любителей встраивать в веб-сервер(в ЛК) некоторые функции, ну и для энтузиастов, которые захотят поглядеть поближе код и доработать.
    Автор темы: wsok, 25 окт 2014, ответов - 10, в разделе: PW Разработки
  16. wsok
    массив рабочий и имейджик рабочий, он ведь вырезает первую иконку. Мало что он выдает одну картинку, я говорю, попробуйте имитировать действия. Ну я думаю так, если человек имеет большой опыт, то он по идее уже знает о данном моменте и особенностях методов в GD и Imagemagick. Мои же попытки найти в гугле оказались напрасными, подобного метода использования имайджмагик никто не обсуждал (чтоб на основе массива текстового файла в цикле можно было делать операции по обрезки) Гениально конечно, и предыдущие данные я получу из названий переменных, верно? Хорошо, вот два варианта кода, отличаются лишь тем что в одном изображениями манипулирует GD а во втором имайджмагик. [ATTACH] [ATTACH] --- добавлено: 25 окт 2014 в 13:04 --- для меня не столько принципиально заставить этот код работать с имаджмагик, столько хотелось бы понять, почему он отрубает процесс цикличности при обработке массива.
    Сообщение от: wsok, 25 окт 2014 в разделе: PHP
  17. wsok
  18. wsok
  19. wsok
    Попытаюсь объяснить буквально на пальцах, не прибегая к основному фрагменту кода. Есть скрипт, который читает в массив текстовый файл с записями иконок (тот что из клиента пв) и на основе этого должен разрезать файл с иконками на отдельные иконки, т.е. резалка. С использованием GD скрипт отлично выводит весть текстовый файл в массив, прогоняет по циклу и в итоге получаю отдельные иконки. В общем, решил заменить GD на imagemagick и... теперь скрипт срабатывает, но режет только первую иконку в массиве и все... Т.е. как только в цикле выполняется строчка: $image->cropImage($gtxt[0],$gtxt[1],$y,$x); Работа цикла прерывается, обрезается лишь первая иконка. В чем дело? Ведь с использованием GD массив через цикл весь проходит, а вот при imagemagick цикл обрабатывает лишь первый элемент массив и отрубается. Почему использование imagemagick стопорит цикл? Кстати в качестве цикла использую этот метод: foreach($listen as $index => $val) Ну и скриншоты с резкльтатами: GD - как видно массив нормально проходит через цикл [ATTACH] ImageMagick - как только первый объект массива обработан, цикл прерывается... [ATTACH] Довольное странно...
    Автор темы: wsok, 25 окт 2014, ответов - 16, в разделе: PHP
  20. wsok