Добрый день!
У меня есть проект Image Catalyst, суть проект в оптимизации картинок без потери качества
технология описана здесь (статья моя)
http://habrahabr.ru/blogs/client_side_optimization/119009/
Хотелось бы сделать GUI для проект, но знаний пока таких нету, решил обратится, может у кого есть желание мне помочь? Сам проект будет бесплатными, конкурентов мало, мой алгоритм оптимизации наголову превосходит. Из GUI конкурентов двое:
PNGOutWin (платный);
PNGGauntlet.
Основные требования к приложению:
1. запретить одновременную работу более одной копии проекта;
2. сделать многопоточность при оптимизации PNG изображений;
Этапы оптимизации изображений
1. изображение копируется во временную папку
2. запускаем алгоритм оптимизации изображений (более подробно я напишу позже);
3. если размер оптимизированного изображения меньше оригинального, то (в зависимости от настроек приложения):
* заменяем оригинальное изображение на оптимизированное;
* сохраняем оптимизированное/оригинальное изображение в указанную папку.
4. добавляем сведения о проделанной работе в объект TreeList.
Работа с папками
1. при добавлении папок с изображения делаем поиск изображений (в зависимости от настроек приложения):
* поиск изображений ведется только в указанной папке;
* поиск изображений ведется в казанной папке, включая вложенные подпапки.
2. полученная структура отображается в объекте TreeList.
Пример 1:
Пользователь указал оптимизировать изображения в папке Dir1, включая вложенные папки, в папке Dir1 есть папки Dir2 и Dir3. Следовательно, в объекте TreeList указываем папку Dir1 и подпапки Dir2 и Dir3
3. если пользователь указал сохранять оптимизированные изображения в другой папке, то воссоздается и вся структура папок.
Пример 2:
Продолжение примера 1. Допустим, пользователь указал сохранять оптимизированные изображения в папке Images. Следовательно, в папке Images создается папка Dir1 и подпапки Dir2 и Dir3 и в них помещаются оптимизированные изображения.
Если в папке Images уже существует папка Dir1, то мы создаем папку Dir1 (1), и так далее.
При совпадении имен файлов действуем в том же направлении.
Меню проекта
File
* File add
* Folder add
* -------------
* Exit
Actions
* Start
* Stop
Tools
* Options
Help
* Help
* Check for Update
* About
File add
Открывается диалоговое окно выбора файлов с возможностью выбора нескольких файлов
В строке тип файла указывается
* File PNG (*.png)
* File JPEG (*.jpg, *.jpeg, *.jpe)
* All supported File (*.png, *.jpg, *.jpeg, *.jpe)
Folder add
Открывается диалоговое окно выбора папки
Exit
Выход из приложения
Start
Запускается процесс оптимизации изображения, примет все пункты меню блокируются за исключением Pause и Stop
Stop
Процесс оптимизации изображений отключается, при этом:
* новые файлы не отправляются в работу;
* принудительно завершаем запущенные процессы;
* чистим временную папку.
Options
Три основные вкладки (более подробно я напишу позже):
* настройки самого приложения;
* настройки оптимизации PNG;
* настройки оптимизации JPEG.
Help
Запускается справка приложения
Check for Update
Проверяется наличие обновления
About
О приложении (версия, сайт, авторы и т.д.)
У меня есть проект Image Catalyst, суть проект в оптимизации картинок без потери качества
технология описана здесь (статья моя)
http://habrahabr.ru/blogs/client_side_optimization/119009/
Хотелось бы сделать GUI для проект, но знаний пока таких нету, решил обратится, может у кого есть желание мне помочь? Сам проект будет бесплатными, конкурентов мало, мой алгоритм оптимизации наголову превосходит. Из GUI конкурентов двое:
PNGOutWin (платный);
PNGGauntlet.
Основные требования к приложению:
1. запретить одновременную работу более одной копии проекта;
2. сделать многопоточность при оптимизации PNG изображений;
Этапы оптимизации изображений
1. изображение копируется во временную папку
2. запускаем алгоритм оптимизации изображений (более подробно я напишу позже);
3. если размер оптимизированного изображения меньше оригинального, то (в зависимости от настроек приложения):
* заменяем оригинальное изображение на оптимизированное;
* сохраняем оптимизированное/оригинальное изображение в указанную папку.
4. добавляем сведения о проделанной работе в объект TreeList.
Работа с папками
1. при добавлении папок с изображения делаем поиск изображений (в зависимости от настроек приложения):
* поиск изображений ведется только в указанной папке;
* поиск изображений ведется в казанной папке, включая вложенные подпапки.
2. полученная структура отображается в объекте TreeList.
Пример 1:
Пользователь указал оптимизировать изображения в папке Dir1, включая вложенные папки, в папке Dir1 есть папки Dir2 и Dir3. Следовательно, в объекте TreeList указываем папку Dir1 и подпапки Dir2 и Dir3
3. если пользователь указал сохранять оптимизированные изображения в другой папке, то воссоздается и вся структура папок.
Пример 2:
Продолжение примера 1. Допустим, пользователь указал сохранять оптимизированные изображения в папке Images. Следовательно, в папке Images создается папка Dir1 и подпапки Dir2 и Dir3 и в них помещаются оптимизированные изображения.
Если в папке Images уже существует папка Dir1, то мы создаем папку Dir1 (1), и так далее.
При совпадении имен файлов действуем в том же направлении.
Меню проекта
File
* File add
* Folder add
* -------------
* Exit
Actions
* Start
* Stop
Tools
* Options
Help
* Help
* Check for Update
* About
File add
Открывается диалоговое окно выбора файлов с возможностью выбора нескольких файлов
В строке тип файла указывается
* File PNG (*.png)
* File JPEG (*.jpg, *.jpeg, *.jpe)
* All supported File (*.png, *.jpg, *.jpeg, *.jpe)
Folder add
Открывается диалоговое окно выбора папки
Exit
Выход из приложения
Start
Запускается процесс оптимизации изображения, примет все пункты меню блокируются за исключением Pause и Stop
Stop
Процесс оптимизации изображений отключается, при этом:
* новые файлы не отправляются в работу;
* принудительно завершаем запущенные процессы;
* чистим временную папку.
Options
Три основные вкладки (более подробно я напишу позже):
* настройки самого приложения;
* настройки оптимизации PNG;
* настройки оптимизации JPEG.
Help
Запускается справка приложения
Check for Update
Проверяется наличие обновления
About
О приложении (версия, сайт, авторы и т.д.)