Форум
Написать нам
Форум MMB » Другие разделы » Мир программирования » Оптимизация картинок
Оптимизация картинок
lorentsДата: Четверг, 25 Февраля 2010, 23:57 | Сообщение # 31
Ветеран форума
Группа: Проверенные
Сообщений: 1082
Репутация: 7
Награды: 2
Статус: Offline
Quote (DEMBEL)
в смысле прогрессбар чтоли? или что означает тут слово "процесс"?

прогресс бар я сомневаюсь что выйдет, но если выйдет то супер thumbs_up
а так чтобы передавалась информация что процесс запущен и процесс закончен

вот кстати нашел пример для AMS

Code
-- VBScript to loop thru drives and check if USB stick present
code =[[
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Drives = FSO.Drives

For Each DiskDrive In Drives

  If DiskDrive.DriveType = "1" Then
   If DiskDrive.IsReady = "True" Then
     
    strResult = "USB stick is currently present"
   else
    strResult = "No USB stick was detected"  
    
   End If
  End If
Next
]]
-- Implement AMSWScript Plugin code to capture VBScript variable into AMS
Script.AddCode(code, Script_InternalCode);
strCaptured = Script.GetResultAsString("strResult");
-- Display the captured variable in a dialog message
Dialog.Message("Checking for USB stick", strCaptured, MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);

АКак видно в начале идет vbscript


Image Optimizer - сборник программ для оптимизации картинок без потери качества.
 
DEMBELДата: Четверг, 25 Февраля 2010, 23:58 | Сообщение # 32
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
Quote (Сергей)
из cmd(вернее из батника) в прогу, штатных средств нет, да и плагина тоже

из cmd можно результат работы программ (тексты которые выводится в окне cmd) писать в файл




Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
СергейДата: Четверг, 25 Февраля 2010, 23:59 | Сообщение # 33
Необукер
Группа: Проверенные
Сообщений: 858
Репутация: 64
Награды: 22
Статус: Offline
но тока одно непонятно, а зачем все это надо?! используй батник и замкнутый прогресс (крутилку), как только батник сделает свою работу и закроется выводи юзеру инфу...

Добавлено (25 Февраль 2010, 23:59)
---------------------------------------------

Quote (DEMBEL)
писать в файл
это полный гемор, если брать во внимание дос-харсет
 
DEMBELДата: Пятница, 26 Февраля 2010, 00:03 | Сообщение # 34
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
Quote (lorents)
вот кстати нашел пример для AMS

вот этот плагин занимается тем, что выполняет скрипт и передает содержимое переменной в проект ams.
по идее, запускать программы можно из скрипта, а перед строкой запуска программы и после нее присвоить значение в переменную 0 или 1, это будет начало и конец. Вопрос только в том, происходит realtime-мониторинг переменных, или они передаются в ams уже после окончания работы скрипта, тогда смысла в них не будет...




Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
lorentsДата: Пятница, 26 Февраля 2010, 00:03 | Сообщение # 35
Ветеран форума
Группа: Проверенные
Сообщений: 1082
Репутация: 7
Награды: 2
Статус: Offline
DEMBEL,
Quote (DEMBEL)
из cmd можно результат работы программ (тексты которые выводится в окне cmd) писать в файл

а вот это можно попобовать сделатьи через AMS, ща попробую
Quote (Сергей)
но тока одно непонятно, а зачем все это надо?! используй батник и замкнутый прогресс (крутилку), как только батник сделает свою работу и закроется выводи юзеру инфу...

я батник в диспетчер задач не нашел, только cmd.exe


Image Optimizer - сборник программ для оптимизации картинок без потери качества.
 
СергейДата: Пятница, 26 Февраля 2010, 00:05 | Сообщение # 36
Необукер
Группа: Проверенные
Сообщений: 858
Репутация: 64
Награды: 22
Статус: Offline
ну вот, если запуск идет через вбс, то сделай прогресс-бар и все на нем. Он может я видел примеры в сети...

Добавлено (26 Февраль 2010, 00:05)
---------------------------------------------

Quote (lorents)
батник в диспетчер задач не нашел, только cmd.exe

:D есно не найдешь, потому что его обрабатывает цмд, вот по цмд и контролируй, как он закрылся, значит готово
 
DEMBELДата: Пятница, 26 Февраля 2010, 00:06 | Сообщение # 37
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
Quote (Сергей)
Он может я видел примеры в сети...

это все подделки в обьекте Internet.Explorer, типа как мы извращаемся с деревом папок в браузере.




Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
lorentsДата: Пятница, 26 Февраля 2010, 00:10 | Сообщение # 38
Ветеран форума
Группа: Проверенные
Сообщений: 1082
Репутация: 7
Награды: 2
Статус: Offline
DEMBEL,
Quote (DEMBEL)
вот этот плагин занимается тем, что передает содержимое переменной в проект ams.
по идее, запускать программы можно из скрипта, а перед строкой запуска программы и после нее присвоить значение в переменную 0 или 1, это будет начало и конец. Вопрос только в том, происходит realtime-мониторинг переменных, или они передаются в ams уже после окончания работы скрипта, тогда смысла в них не будет...

а как это можно проверить?
а если проверять значение через таймер?

Добавлено (26 Февраль 2010, 00:10)
---------------------------------------------

Quote (Сергей)
есно не найдешь, потому что его обрабатывает цмд, вот по цмд и контролируй, как он закрылся, значит готово

это не 100% гарантия, а если у пользователя отдельно не запущен cmd, а вот проверять программы которые он запускает это можно сделать, через проверку пути запущенного файла


Image Optimizer - сборник программ для оптимизации картинок без потери качества.

Сообщение отредактировал lorents - Пятница, 26 Февраля 2010, 00:11
 
DEMBELДата: Пятница, 26 Февраля 2010, 00:13 | Сообщение # 39
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
Quote (lorents)
а как это можно проверить?

ну как...

переменная=0
запуск программы
переменная=1

если возвращать будет всегда 1, значит дело так не пойдет... а если есть возможность получать значение прямо в ходе выполнения скрипта, тогда надо мониторить переменную в условиях (если 0/1) выполняем действия... короче ты работал с ams тебе виднее что к чему, я лишь хочу сказать об условиях когда это возможно.
Например, при работе скрипта в нб можно принимать/передавать значения непосредственно в ходе скрипта, и вообще выполнять в самом скрипте команды Neobook.
А для твоих целей и скриптов никаких ненадо... хотя надо, я сам недавно столкнулся с проблемой скрытия cmd-окна при работе батника, штатными средствами не скрывало его, пришлось через скрипт... да и то проверять еще надо.




Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
lorentsДата: Воскресенье, 28 Февраля 2010, 23:43 | Сообщение # 40
Ветеран форума
Группа: Проверенные
Сообщений: 1082
Репутация: 7
Награды: 2
Статус: Offline
Quote (DEMBEL)
из cmd можно результат работы программ (тексты которые выводится в окне cmd) писать в файл

я смог это сделать через AMS, но проблема в том что мой проект виснет, пока оптимизация не закончится

Добавлено (28 Февраль 2010, 23:43)
---------------------------------------------
Кто знает дайте пожалуйста список форматов, которые являются zip-архивом
я знаю только
OpenOffice.org XML
OpenDocument
Office Open XML
XPS
jar


Image Optimizer - сборник программ для оптимизации картинок без потери качества.

Сообщение отредактировал lorents - Воскресенье, 28 Февраля 2010, 23:47
 
DEMBELДата: Понедельник, 01 Марта 2010, 12:40 | Сообщение # 41
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
скины (к плеерам и прочие), темы рабочего стола (WindowsBlinds) и другие подобные штуки зачастую zip-архивы



Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
lorentsДата: Суббота, 06 Марта 2010, 21:50 | Сообщение # 42
Ветеран форума
Группа: Проверенные
Сообщений: 1082
Репутация: 7
Награды: 2
Статус: Offline
Новая версия Images Optimization Suite
Улучшена оптимизация png
в следующей версии добавлю оптимизацию gif


Image Optimizer - сборник программ для оптимизации картинок без потери качества.

Сообщение отредактировал lorents - Суббота, 06 Марта 2010, 22:11
 
СергейДата: Воскресенье, 07 Марта 2010, 06:12 | Сообщение # 43
Необукер
Группа: Проверенные
Сообщений: 858
Репутация: 64
Награды: 22
Статус: Offline
Quote (lorents)
в следующей версии добавлю оптимизацию gif

lorents, а для жепега у тебя есть оптимизатор?
 
lorentsДата: Воскресенье, 07 Марта 2010, 18:30 | Сообщение # 44
Ветеран форума
Группа: Проверенные
Сообщений: 1082
Репутация: 7
Награды: 2
Статус: Offline
Сергей,
Quote (Сергей)
lorents, а для жепега у тебя есть оптимизатор?

а там есть он, jpegtran+jhead
Сейчас думаю как сделать чтобы сравнивать результаты двух параметров:
jpegtran -copy none -progressive
или
jpegtran -copy none -optimize
В некоторых случаях один лучше, в некоторых другой
Кстати прочитайте
http://webo.in/articles/habrahabr/73-jpeg-baseline-progressive/
Там как раз про эту проблему

насчет Adobe Photoshop, если вы откроете jpeg-файл и его просто пересохраните, то увидите что размер вырос, причем значительно (у меня в среднем в 2 раза)
Чтобы этого не было рекомендую использовать BetterJPEG Plug-ins, он сохраняет jpeg без потерь качества, но стем же размером, что был изначально, в редких случаях с минимальными потерями, на глаз трудно отличить :)

Добавлено (07 Март 2010, 18:30)
---------------------------------------------
Ищу знатока батника :) который хочет мне помочь


Image Optimizer - сборник программ для оптимизации картинок без потери качества.

Сообщение отредактировал lorents - Воскресенье, 07 Марта 2010, 11:48
 
DEMBELДата: Воскресенье, 07 Марта 2010, 19:19 | Сообщение # 45
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
ну че там сложного, батник... можно продвинутый vbs-скрипт написать и завернуть его в exe. че надо то конкретно, запустить что и как не знаешь чтоли...



Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
lorentsДата: Воскресенье, 07 Марта 2010, 19:24 | Сообщение # 46
Ветеран форума
Группа: Проверенные
Сообщений: 1082
Репутация: 7
Награды: 2
Статус: Offline
Code
chcp 1251
for /f "delims=" %%i in ('dir /b /s /a-d Images\*.png') do (
Rem    pngcrush -rem alla -brute -reduce src.png dest.png
      optipng.exe -o7 "%%~fi"
      advdef.exe -z -4 "%%~fi"
      deflopt.exe "%%~fi"
      pngout.exe "%%~fi"
      advdef.exe -z -4 "%%~fi"
      deflopt.exe "%%~fi"
)
for /f "delims=" %%i in ('dir /b /s /a-d Images\*.jpg Images\*.jpeg') do (   
Rem    jpegtran -copy none -progressive "%%~fi" "%%~fi"
Rem    jpegtran -copy none -optimize "%%~fi" "%%~fi"
      jhead -purejpg "%%~fi"
)

и вот проблема в программе pngcrush
Code
pngcrush -rem alla -brute -reduce src.png dest.png

src.png — исходное изображение, dest.png — результирующее изображение, должны иметь разные названия
И вот мне надо сделать выше представленном коде следующее:
При запуске pngcrush исходное изображение было бы "%%~fi", а результирующее изображение - название исходного изображения, но расширение было бы tmp, и чтобы находился в той же папке, что и "%%~fi", и после того как pngcrush заканчивает работу, удаляется исходное изображение, а у результирующего изображения расширение переименовывается в png

И еще одна просьба, надо сравнить размер двух файлов получаемых при запуске jpegtran при разных параметрах

Code
jpegtran -copy none -progressive "%%~fi" "%%~fi"

Code
jpegtran -copy none -optimize "%%~fi" "%%~fi"

и чей размер файла меньше тот остается, другой удаляется
второй параметр "%%~fi" - результирующее изображение

Очень прошу помогите пожалуйста!)


Image Optimizer - сборник программ для оптимизации картинок без потери качества.

Сообщение отредактировал lorents - Воскресенье, 07 Марта 2010, 19:35
 
DEMBELДата: Воскресенье, 07 Марта 2010, 19:38 | Сообщение # 47
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
ладно, разберемся. токо завтра.
Quote (lorents)
src.png — исходное изображение, dest.png — результирующее изображение, должны иметь разные названия

ну какие разные? исходное изображение откуда берется, его задавать надо самому? если да, то делать через параметр бантика, например
bantik.bat src.png
а в бантике пишешь вместо src.png символ %1 (%1-%9 задаваемые параметры бантику)
dest.png - можно вторым параметром задать, можно свое имя генерировать, скажем из времени/даты и символов.

Добавлено (07 Март 2010, 19:38)
---------------------------------------------

Quote (DEMBEL)
можно вторым параметром задать

можно имя тоже самое оставить, %1 и прибавить символы любые, напр. dest_%1




Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
lorentsДата: Воскресенье, 07 Марта 2010, 19:49 | Сообщение # 48
Ветеран форума
Группа: Проверенные
Сообщений: 1082
Репутация: 7
Награды: 2
Статус: Offline
DEMBEL,
Quote (DEMBEL)
ну какие разные? исходное изображение откуда берется, его задавать надо самому? если да, то делать через параметр бантика, например

исходное изображение берется после проверки цикла, он ищет все png картинки
название результирующего изображения я могу задать любое
Quote (DEMBEL)
можно имя тоже самое оставить, %1 и прибавить символы любые, напр. dest_%1

можно поподробнее?


Image Optimizer - сборник программ для оптимизации картинок без потери качества.

Сообщение отредактировал lorents - Воскресенье, 07 Марта 2010, 19:55
 
DEMBELДата: Воскресенье, 07 Марта 2010, 20:00 | Сообщение # 49
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
ну, он ищет все *.png картинки, а имя он откуда брать будет? надо чтоб в цикле имена клались в массив и подставлялись в команду. не помню, может ли бантик подобие этого соорудить, проверю завтра.

Добавлено (07 Март 2010, 20:00)
---------------------------------------------
зачем тебе бантик, бери ммб/нб и делай, все равно же хотел оболочку сделать. а если не бантик, то скрипт поможет.




Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Alex3AДата: Воскресенье, 07 Марта 2010, 20:46 | Сообщение # 50
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
К сведению оптимизаторов, ммв сам себе оптимизатор и легитимизатор ваших картинок,
Попав в него, картинка меняет свю сущность, всякие долго лелеянные, и выбираемые вами компресоры меняются на ммвшный компрессор, инфа оставленная всякими редакторами пропадает. Таким образом, ммв производит легализацию вашей картинки, убирая все что может быть нелицензионным. Любая картинка, это ВМР, карта битов изображения(набор цветных точек), все остальное это способ хранения этой карты в файле.

Добавлено (07 Март 2010, 20:46)
---------------------------------------------
Я имею ввиду те картинки которые вы вставляете в объкты ммв.

 
DEMBELДата: Воскресенье, 07 Марта 2010, 21:15 | Сообщение # 51
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
да не, я имел ввиду что команды выполнять оттудова, как из оболочки а не из батника...



Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
lorentsДата: Воскресенье, 07 Марта 2010, 23:02 | Сообщение # 52
Ветеран форума
Группа: Проверенные
Сообщений: 1082
Репутация: 7
Награды: 2
Статус: Offline
Quote (DEMBEL)
зачем тебе бантик, бери ммб/нб и делай, все равно же хотел оболочку сделать. а если не бантик, то скрипт поможет.

с оболочкой проблемы, могу сделать только перетаскивание картинок в папку для оптимизации :(
Пока ищу способ как сделать нормально


Image Optimizer - сборник программ для оптимизации картинок без потери качества.
 
DEMBELДата: Воскресенье, 07 Марта 2010, 23:05 | Сообщение # 53
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
ну вот сперва подумай как в целом будет выглядеть и работать твой проект, там будет видно как и чем все сделать чтоб работало



Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
lorentsДата: Понедельник, 08 Марта 2010, 11:17 | Сообщение # 54
Ветеран форума
Группа: Проверенные
Сообщений: 1082
Репутация: 7
Награды: 2
Статус: Offline
Все с батником почти разобрался write

Image Optimizer - сборник программ для оптимизации картинок без потери качества.
 
DEMBELДата: Понедельник, 08 Марта 2010, 14:43 | Сообщение # 55
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
да нафиг тебе этот батник вообще, это же тупо



Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
lorentsДата: Понедельник, 08 Марта 2010, 14:55 | Сообщение # 56
Ветеран форума
Группа: Проверенные
Сообщений: 1082
Репутация: 7
Награды: 2
Статус: Offline
Quote (DEMBEL)
да нафиг тебе этот батник вообще, это же тупо

знаю, но ничего не могу поделать, я не знаю как сделать оболочку


Image Optimizer - сборник программ для оптимизации картинок без потери качества.
 
DEMBELДата: Понедельник, 08 Марта 2010, 15:03 | Сообщение # 57
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
а в чем проблема? сделай как можешь, все лучше будет чем бантики



Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
lorentsДата: Понедельник, 08 Марта 2010, 15:48 | Сообщение # 58
Ветеран форума
Группа: Проверенные
Сообщений: 1082
Репутация: 7
Награды: 2
Статус: Offline
DEMBEL,
Quote (DEMBEL)
а в чем проблема? сделай как можешь, все лучше будет чем бантики

проблема в том что я могу максимум сделать копирование картинок в рабочую папку и все


Image Optimizer - сборник программ для оптимизации картинок без потери качества.
 
СергейДата: Понедельник, 08 Марта 2010, 21:55 | Сообщение # 59
Необукер
Группа: Проверенные
Сообщений: 858
Репутация: 64
Награды: 22
Статус: Offline
lorents, дембель дело говорит, ну этот батч, на нб или ммб делай.
Весь список формируешь в проге(с учетом всех нюансов с именами) а потом запускать компресию с нуными парамами
типа такого(пример НБ)

Добавлено (08 Март 2010, 21:55)
---------------------------------------------

Quote (lorents)
проблема в том что я могу максимум сделать копирование картинок в рабочую папку и все
нда, это действительно проблема :)


Сообщение отредактировал Сергей - Понедельник, 08 Марта 2010, 21:54
 
lorentsДата: Понедельник, 08 Марта 2010, 23:24 | Сообщение # 60
Ветеран форума
Группа: Проверенные
Сообщений: 1082
Репутация: 7
Награды: 2
Статус: Offline
Сергей,
Quote (Сергей)
нда, это действительно проблема :)

я просто не очень хочу, чтобы пользователь видел окно командной строки :(

Добавлено (08 Март 2010, 23:24)
---------------------------------------------
Сейчас сморю оптимизацию gif
и как сделаю выпущу думаю финальную версию :)
Дальше сделаю оптимизацию ODF, OOXML, XPS и в конце PDF (есть кое-какие идеи)


Image Optimizer - сборник программ для оптимизации картинок без потери качества.
 
Форум MMB » Другие разделы » Мир программирования » Оптимизация картинок
Поиск: