Пакетное скругление картинок v0̶.̶2̶.̶1 0.2.2
Ребята, качайте новую версию, я сделал antialiasing для углов. Ну и пришлось же помучиться! Я немного заболел, пока сидел дома, сделал.
Основная идея такова — рисуется красный круг на чёрном фоне, на него накладывается фильтр Гаусса (тут меня ждала засада — в PHP 4.4.4, который у меня, нет функций imagefilter и imageconvolution, зато последняя, написанная на чистом PHP есть в интернeтах).
Далее, я считаю красную компоненту круга альфа-каналом для указанного цвета фона и накладываю по точкам в четыре угла картинки четыре квадрата изображения с красным кругом. Формула пересчёта rgba → rgb очень простая.
Получилось, на мой взгляд, очень неплохо, но скорость обработки, конечно, снизилась.
Добавлено позже: обновил до 0.2.2 — теперь вся работа с временными файлами делается внутри временной папки (путь до неё берётся из переменных окружения).
А почему у тебя PHP4?
Комментарий для vm.moikrug.ru:
«Компилятор» использует PHP 4.4.4, интерпретатор весит меньше, чем для PHP 5.
Евгений, расскажите как она читает ini файл. Я в него запихиваю профили для своей оболочки и тут случайно выяснил, что этого делать не следует, оказывается mc берет мои ключи и секции и что-то с ними делает.
Может быть заставите читать ее только из секции options? Ну что бы можно было другие секции вставлять для работы скажем оболочки, или чего еще?
Можно так Вас попросить сделать?
Новая версия оболочки готовится....
Комментарий для oldTV:
Гм, могу сделать, да.
Комментарий для Евгения Степанищева:
Спасибо.
Сейчас ini выглядит так:
--quality=95
--...
хотелось бы:
[options]
--quality=95
--...
[profiles]
1=q85|w600|r40|o’c:\temp\out’|bffffff
2=q95|w666|r13|o’c:\temp\out’|bсссссс
Комментарий для oldTV:
а это что?
Антиалиасинг вовсе != простому размытию по гауссу. Там немного интереснее. Но на тех размерах может быть не так и важно
Комментарий для toz@livejournal:
Я понимаю, это я уж так… популярно :)
Комментарий для Евгения Степанищева:
ну что бы не делать для оболочки отдельного ini я использую Ваш. В секцию profiles пишу настройки, которые будут вызываться из программы.
Ну скажем q85|w600|r40|o’c:\temp\out’|bffffff — один профиль настроек, q95|w666|r13|o’c:\temp\out’|bсссссс — другой. Идея такая: ручками сделал один раз, запомнил, потом если надо нажал — все из профиля подтянулось.
еще будет секция pcount с одним единсвенным ключом pcount = кол-ву профилей. Это нужно для того, что бы динамически из ini брать профили в менюшку, а не редактировать код и там все прописывать...
Как то так...
Комментарий для oldTV:
А… понятно. Скоро сделаю.
Комментарий для Евгения Степанищева:
а как beep работает? --beep=1 не дал никаких результатов
Комментарий для oldTV:
Никак :) Забыл убрать :)
Я хотел чтобы звук выдавался после окончания, но подумал, что это бесполезная фича.
да не нормальная фича, можно оставить
Комментарий для oldTV:
Просто мне не удалось изобразить никакого приличного звука, только короткие гудки.
Комментарий для oldTV:
Сделал. Версия 0.2.3 лежит там же.
Скругление какое-то размытое на фотках с атомной станции, это действительно не антиалиасинг, а гауссово размытие?
Комментарий для Евгения Степанищева:
-q85 — работает, --quality=85 — не работает. Будут ли использованы --?
Комментарий для jankkhvej.blogspot.com:
Гаусс, он самый.
Комментарий для oldTV:
Посмотрю, спасибо!
Комментарий для oldTV:
Посмотрел. А что значит не работает? Я сейчас запустил — работает.
спасибо! чудесненько! =)
Прошу добавить настройки/опции:
При работе с датами файлов из своего фотоаппарата в винде в пхп столкнулся с тем, что некоторые файлы как-то странно хранят даты создания и модификации. В некоторых дата создания была позже даты модификации. В общем, прошу принимать за дату создания — минимальную из дат, а дату модификации — за максимальную из. Как-то так
$сtime=min($fstats[$filekey][’mtime’],$fstats[$filekey][’ctime’]);
$mtime=max($fstats[$filekey][’mtime’],$fstats[$filekey][’ctime’]);
Комментарий для Евгения Степанищева:
i am sorry, не тот выход смотрел. Все работает, извините
2indeec17 and 2bolk: раз пошла такая пьянка, может быть проще установить сроки релизов, и выложить где нибудь ToDo. А то я не успеваю, я еще под 0.2.2. не сделал оболочку, как бац (нет, я конечно этому рад) уже версия новая. Может быть 0.2.3. назовем стабильным релизом, а остальные версии до стабильного релиза — бетами, или альфами...
Комментарий для oldTV:
Ох, сроки релизов :) Когда свободный вечер есть, тогда и релиз :)
Комментарий для indeec17:
Ох, мама :) Попробую найти время.
Комментарий для Евгения Степанищева:
извини =)