| [Все] [А] [Б] [В] [Г] [Д] [Е] [Ж] [З] [И] [Й] [К] [Л] [М] [Н] [О] [П] [Р] [С] [Т] [У] [Ф] [Х] [Ц] [Ч] [Ш] [Щ] [Э] [Ю] [Я] [Прочее] | [Рекомендации сообщества] [Книжный торрент] |
Рождественский подарок
К праздникам - мой вклад в сжатие картинок.
Программа позволяет работать с изображениями, встроенными в книги формата FB2, а также в архивы с такими книгами. Работает под Windows 11. Прочтите Readme.txt!
Возможности:
- Одновременная обработка множества книг из нескольких папок и/или архивов.
- Поддержка архивов, содержащих несколько книг одновременно.
- Возможность индивидуально проверять каждое изображение и подбирать параметры обработки.
- Сжатие, конвертация и извлечение изображений прямо в файлах, без необходимости распаковки.
- Опциональное создание резервных копий файлов перед изменением.
- Добавление книг через Drag & Drop
- Добавление книг через командную строку
- Предварительный просмотр сжатия

Предложения приветствуются, 土曜日 - нет.
Намечено к реализации:
- Контекстные меню для элементов. Пишите, что в них должно быть. Пока придумано:
- Подменю восстановления из бэкапа для книг, в нём - список имеющихся бэкапов.
- Размер книг во всплывающих подсказках.
- Количество загруженных книг в статусе после загрузки.
- Количество выбранных картинок в статусе.
Re: Рождественский подарок
Нет drag&drop (возможно из-за wine); нет чекбокса select all (клик по любому изображению и ctrl+A работает, но всё же); орочий "бекап" в виде *.fb22 к исходному файлу, а не очевидный префикс к названию
выходного файлаисходного файла; долговато жмёт (возможно из-за wine).Re: Рождественский подарок
Нет drag&drop (возможно из-за wine); нет чекбокса select all (клик по любому изображению и ctrl+A работает, но всё же); орочий "бекап" в виде *.fb22 к исходному файлу, а не очевидный префикс к названию
выходного файлаисходного файла; долговато жмёт (возможно из-за wine).Если Вам идея этой утилиты кажется интересной, но не устраивают детали, Вы всегда можете, не нарушая лицензии, изменить исходный код сообразно Вашим представлениям и сделать собственный форк. Я вносить изменения и дополнения буду, если к утилите появится интерес, изменения будут логичными и будут запрашиваться многими пользователями. С наступающим Рождеством!
Re: Рождественский подарок
>Дрэгдроп не планировался
Для оконного приложения он ожидаем, он есть у FBE.
>Исходно интерфейс затачивался для возможности работы вообще без мыши.
Это несколько избыточно как для пакетной обработки, так и для колупания с отдельным файлом. Времени тут выигрывать особо не на чем. Заточка под консоль была бы продуктивней. С шаблоном в кофиге — вообще замечательно.
>меня всегда бесили таковые, начинающиеся с нуля
С результатом обработки могут проводится эксперименты либо другие странные вещи, требующие оставить исходник неизменный — замена или "бэкап" есть довольно безальтернативно.
>изменить исходный код сообразно Вашим представлениям и сделать собственный форк
Пакетная обработка с заменой — прекрасны уже сейчас!
Намасте!
Re: Рождественский подарок
к сожалению, этим пока не воспользуюсь - у меня семерка
однако в любом случае хочу сказать - спасибо! ну и с наступающими :)
Re: Рождественский подарок
Версия 1.1
Re: Рождественский подарок
>Добавление книг через Drag & Drop
Работает.
>Добавление книг через командную строку
С одним файлом работает предсказуемо.
С каталогом несколько странно: с одной стороны добавляет замечательно — загрузились все поддерживаемые фалы (в архиве и без); с другой стороны нужно руками, в левой колонке, выделить несколько сотен файлов (ctrl+a выделяется, но дальнейшие шаги не активны), а походу этого процесса софтина, довольно задумчиво (грешу на свой калькулятор) подгружает превью, на эти самые сотни файлов.
В моё представлении "пакетная обработка" — это обработка добавленных файлов по жёстко заданным параметрам без лишних телодвижений в виде любования на сотни (это может быть и один файл), если не тысячи превью.
Если в представлении автора "пакетная обработка" есть обработка книг из одной серии, умеренных размеров, то тоже понимаю.
>Предварительный просмотр сжатия
Вероятно из-за WINE не работает, либо где-то потерялось на квадратном мониторе: нажатие на кнопку "превью" в правой области ни к чему не ведёт, а колонок в средней области так же три, как и было, либо я сношаюсь в глаза.
Логика выделения в средней области немного странная: если файлов больше, чем помещается в окне, то при ctrl-a всё выделяется, но при клике на строку выделение не сбрасывается — оно сбрасывается на пустой области, которая появляется только, если подвинуть колонки. Но возможно это из-за WINE.
Re: Рождественский подарок
Версия 1.1.1
>Добавление книг через командную строку
С одним файлом работает предсказуемо.
С каталогом несколько странно: с одной стороны добавляет замечательно — загрузились все поддерживаемые фалы (в архиве и без); с другой стороны нужно руками, в левой колонке, выделить несколько сотен файлов (ctrl+a выделяется, но дальнейшие шаги не активны), а походу этого процесса софтина, довольно задумчиво (грешу на свой калькулятор) подгружает превью, на эти самые сотни файлов.
Тут много намешано.
В первую очередь, если кнопки недоступны после окончания загрузки - это получилась уличная магия из-за параллельного запуска загрузки файлов несколько раз. В самом первом варианте потокобезопасность обеспечивалась отключением всех элементов управления на время загрузки, но уж очень они при этом противно мигали, и было решено дерево книг и список картинок не выключать, но оградить доступные функции критическими секциями, чтобы каждый следующий вызов ожидал завершения предыдущего. Это было сделано, но мой склероз привёл к тому, что одна из функций не была ограждена. А тут ещё добавилась мгновенная загрузка нескольких аргументов из командной строки, ещё повысив шансы гонок. Возможно, дело было в этом. Это исправлено, теперь добавление нескольких каталогов, указанных одновременно, будет выполняться по очереди, следите за статусом и прогрессом в статус-баре внизу. Когда будет готово, с ошибками или без, там появится сообщение. Также, имейте в виду, что дерево книг и список картинок поддерживают мультивыбор через удержание Ctrl, Shift, или Ctrl+Shift при кликах. Там есть Readme.txt, прочтите для понимания, чего ожидать.
По поводу задумчивости. Во-первых, .NET - это, по сути, виртуальная машина, поэтому ожидать от неё скорости нативного байт-кода не следует. Во-вторых, добавляет своё Wine. В-третьих, если книги не в архивах, то загружаются только их пути. Если в архивах - уже приходится читать заголовки архивов. Но сами книги и картинки из них загружаются только при выделении их элементов в дереве, как раз чтобы предотвратить загрузку сотен миниатюр. Не выделяйте книги, с которыми не хотите работать, в дереве - и загрузки картинок из них не будет.
В моё представлении "пакетная обработка" — это обработка добавленных файлов по жёстко заданным параметрам без лишних телодвижений в виде любования на сотни (это может быть и один файл), если не тысячи превью.
Если в представлении автора "пакетная обработка" есть обработка книг из одной серии, умеренных размеров, то тоже понимаю.
Таких утилит много. А мне хотелось помочь тем, кто жаловался как раз на неизбирательность работы таких утилит и сложность выявления картинок, нуждающихся в сжатии, рассыпанных по книгам в разных папках и архивах. Или не нуждающихся, например - из-за того, что картинка - подробная карта с подписями. При этом моя утилита, с одной стороны, показывает миниатюры и позволяет просмотр и подбор сжатия индивидуально, с другой - по-прежнему позволяет сжать всё чохом. Целью была не реактивная скорость, а максимальная избирательность при одновременной возможности применить один шаблон ко всем объектам. Поэтому же, кстати, картинки не делятся по книгам, а вместо этого сортируются в нисходящем порядке по занимаемому в книге объёму. Так можно подробно посмотреть кандидатов на сжатие в самом верху списка, а к остальным применить шаблон. Или не применить, если они малы или хочется работать внимательно на случай детальных картинок.
>Предварительный просмотр сжатия
Вероятно из-за WINE не работает, либо где-то потерялось на квадратном мониторе: нажатие на кнопку "превью" в правой области ни к чему не ведёт, а колонок в средней области так же три, как и было, либо я сношаюсь в глаза.
Насчёт глаз не знаю, но на луноликого Вы непохожи, так что вряд ли. Теперь по существу: превью применяет заданные параметры сжатия (под списком картинок посредине, а не извлечения справа) к показываемой справа выделенной картинке, если она одна. При этом снятие выделения с неё в списке и повторное выделение снова показывает оригинал. Сделано это потому, что мне лень сильно переделывать интерфейс до того, как определится степень интереса к утилите и выяснятся нужные изменения, а в параметрах извлечения по очевидным причинам нет указания размеров и варианта "использовать исходный формат". Добавлена всплывающая подсказка об этом на кнопке. И картинка зумится на всё поле просмотра при любом размере. Попробуйте установить целевой размер 100 на 100 и нажать превью: результат должен быть очевиден.
Логика выделения в средней области немного странная: если файлов больше, чем помещается в окне, то при ctrl-a всё выделяется, но при клике на строку выделение не сбрасывается — оно сбрасывается на пустой области, которая появляется только, если подвинуть колонки. Но возможно это из-за WINE.
Тут не знаю. Из всех элементов управления мой собственный - только дерево книг, субкласс TreeView с мультивыбором и без дискотеки при каждом движении мыши. Список картинок это стандартный System.Windows.Forms.ListView, и поведение, соответственно, стандартное. При тестировании ничего подобного не выявлено. Возможно, и правда Wine. Там нередко случаются сюрпризы вроде иного по сравнению с Windows порядка вызова функций при отрисовке, и тому подобного, что иногда ломает выполняемые программы непредсказуемым образом.
Re: Рождественский подарок
...
Re: Рождественский подарок
без лишних телодвижений в виде любования на сотни (это может быть и один файл), если не тысячи превью
Зачем нужны миниатюры - полюбуйтесь на это, например. Сама программа структуру книги не редактирует, но обнаружить такую похабщину и отложить в кандидаты на правку, чтобы ссылки указывали на одну картинку, а не на пятьдесят девять(!) одинаковых, позволит. И даже если лень править - сжать похабщину в ч/б гифки с низким квантованием, получив 900 килобайт вместо трёх мегабайт.