Tulon
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Цитата: Я не изучал ваш исходный код, но с моей точки зрения реализация ещё одного потока с заданным диапазоном страниц по заданному алгоритму не должна составлять проблем. Банальный пробег по QList в цикле (опять же, не знаю как у вас там всё конкретно организовано). | Вашими бы устами да мед пить. На самом деле все гораздо сложнее. Если я начну описывать как оно работает и что придется менять, на это у меня уйдет не меньше часа. Но если хотите сами разобраться, копайте в следующих направлениях: MainWindow::loadImage() MainWindow::filterResult() WorkerThread BackgroundTask и его подклассы WorkerThread нужно превращать в WorkerPool (чтобы был не один поток, а целый набор таковых). Кстати лучше всего делать пул потоков не на основе WorkerThread, а на основе BackgroundExecutor. По хорошему надо переводить все вспомогательные потоки на BackgroundExecutor, а то сейчас каждый имеет свой собственный велосипед. BackgroundExecutor - один из таких велосипедов, но он сделан максимально не зависящим от задачи. Потом нужно будет изменить логику пакетной обработки "обработали страницу - начинаем слудующую". И подумать над механизмом отмены заданий (текущий работает только с одним заданием), и подумать, как будет себя вести лента предпросмотра в условиях нескольких одновременных задач. Не хотим же мы скакать вперед-назад после завершения обработки той или иной страницы тем или иным потоком. В общем работы там хватает - это вам не лабораторная на 500 строк. Цитата: Вообще... хм. Хорошо бы документировать код, в каком файле какой объект за что отвечает, какие методы и так далее. Да-да, я знаю что это самое нелюбимое у программистов Ещё была бы полезна система типа trac, то что я вижу на SF мне не очень нравится. Да и всяко удобнее чем реквестить фичи и давать багфиксы на форумах =) | Документировать все про все у меня не хватает терпения и силы воли. Я стараюсь документировать API кода, который написан с прицелом на повторное использование. А документацию в стиле обзора мне вообще никогда писать не приходилось. А Trac Sourcforge предоставляет всем желающим проектам, вот только я сомневаюсь, что его кто-либо будет использовать. Добавлено: monday2000 Цитата: Мне кажется, что в любом случае нужно в будущем суметь реализовать автоматическое распознавание контура полутоновых картинок на сканах. И вручную подправлять найденный контур - примерно так, как это делается в Файнридере. | Ну, пока что я не услышал ни одного сообщения о том, что растровое авто-выделение где-то ошибалось. И пока не услышу - пальцем не пошевелю в направлении Picture Zones или автовыделения контуров. Цитата: У метода раздёлённых сканов есть то скрытое преимущество перед обычным кодированием полутоновых картинок в documenttodjvu, что метод раздёлённых сканов можно хоть сейчас прикрутить к minidjvu - и получим достаточно приличный по возможностям легальный DjVu-кодировщик. | Тогда уж лучше просто реализовать кодирование в DJVU прямо из СТ. Но это дело далекого будущего. |