Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #30 : 09-09-2011 20:07 » |
|
где кто что отклонил ? Я ничего не отклонял )
А с этими исходниками всё равно что-то неладно - например, структуры Colour и GifPalette нигде не определены
Добавлено через 1 минуту и 46 секунд: ааа, увидел. Я как-то пропустил этот пост
|
|
« Последнее редактирование: 09-09-2011 20:09 от Алексей1153 »
|
Записан
|
|
|
|
RXL
|
|
« Ответ #31 : 09-09-2011 20:17 » |
|
Леш, а какая религия запрещает использовать готовые библиотеки? Сомневаюсь, что поиск нужного будет медленнее аврального написания своего кодера.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #32 : 09-09-2011 20:19 » |
|
RXL, да не нашёл я готовых. Или искать не умею Вот сейчас пытаюсь вот это скомпилить А можно и в сторону giflib посмотреть,
|
|
|
Записан
|
|
|
|
RuNTiME
|
|
« Ответ #33 : 09-09-2011 20:20 » |
|
А с этими исходниками всё равно что-то неладно - например, структуры Colour и GifPalette нигде не определены Упс Там оказывается не все исходники... Вот ссылка на все исходники: http://enchantia.com/graphapp/package/src/Эти структуры определены в app.h
|
|
|
Записан
|
Любимая игрушка - debugger ...
|
|
|
RXL
|
|
« Ответ #34 : 09-09-2011 20:26 » |
|
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #35 : 09-09-2011 20:28 » |
|
RuNTiME, а это возможно как-то всё разом скачать ?
|
|
|
Записан
|
|
|
|
RuNTiME
|
|
« Ответ #36 : 09-09-2011 20:29 » |
|
|
|
|
Записан
|
Любимая игрушка - debugger ...
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #37 : 09-09-2011 20:29 » |
|
Ром, это я только что пытался использовать - не продрался сквозь ругань студии Добавлено через 2 минуты и 38 секунд:RuNTiME, о, спасибо ) Всё, ушёл разбираться и распутываться)
|
|
« Последнее редактирование: 09-09-2011 20:32 от Алексей1153 »
|
Записан
|
|
|
|
RXL
|
|
« Ответ #38 : 09-09-2011 20:32 » |
|
Леш, это Си.
extern "C" { .... }
Использовал?
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #41 : 09-09-2011 21:05 » |
|
ааа, это жесть не хуже разбора формата гифа )))
А у меня ещё и проект юникодный ))
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #42 : 09-09-2011 21:07 » |
|
Леш, да там заголовок на две страницы всего...
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #43 : 09-09-2011 21:21 » |
|
да что-то не получается так просто. Одно за другим сыплется - этого не хватает, того. Или я не то смотрю начинал с этого хидера - GifWin.h Добавлено через 4 минуты и 2 секунды:всё, я утонул в ошибках компиляции и прочей херне засыпаю, завтра продолжу
|
|
« Последнее редактирование: 09-09-2011 21:25 от Алексей1153 »
|
Записан
|
|
|
|
RuNTiME
|
|
« Ответ #44 : 10-09-2011 08:41 » |
|
Алексей1153++, Я написал небольшой примерчик, который создает C:\test.gif (черный квадрат 512x512) с использованием giflib. Проект для Visual Studio 2005 во вложении.
|
|
|
Записан
|
Любимая игрушка - debugger ...
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #45 : 10-09-2011 10:08 » |
|
RuNTiME, благодарю, только я сейчас вот из этого http://www.solidfluid.co.uk/sfsite.php/000000CF собираю рабочую версию, там вроде немного разобрался. Если опять не пойдёт, то твой вариант буду пытать ) Добавлено через 3 часа, 5 минут и 59 секунд:уряяя, есть сдвиг )) Заколебался, правда, адаптировать, но тест сразу удачный переделывать СИшную тряхомундию не буду, сейчас выясню, как он там сжимает данные , да себе этот кусочек кода перенесу А умеет ли он анимировать - я не знаю даже, не нашёл
|
|
« Последнее редактирование: 10-09-2011 13:14 от Алексей1153 »
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #46 : 10-09-2011 19:20 » |
|
прогресс налицо ) файлик сгенерирован программой ещё есть одна проблемка - начиная с определённого размера формат ломается - грешу на косяк в размещении субблоков кадра. Завтра поразбираюсь ) Всем огромное спасибо за пинки в нужном направлении Добавлено через 1 минуту и 44 секунды:хм, почему-то анимация останавливается в браузере. Сначала играет, а потом - тык В графпрограмме играет постоянно
|
1234.gif (2.67 Кб - загружено 1968 раз.)
|
« Последнее редактирование: 10-09-2011 19:21 от Алексей1153 »
|
Записан
|
|
|
|
RXL
|
|
« Ответ #47 : 10-09-2011 19:27 » |
|
Цикл включен? Насколько помню, анимация может быть однократной или циклической.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #48 : 10-09-2011 19:39 » |
|
ещё тестик добавил модификатор Netscape Добавлено через 18 секунд:ага, нормуль ) Добавлено через 2 минуты и 34 секунды: однократной или циклической. судя по описанию, значение Loop 0 - бесконечно 1 - два раза 2 - тоже два раза 3 - 3 раза 4 - 4 раза ... 65535 - 65535 раз
|
1234.gif (2.69 Кб - загружено 2427 раз.)
|
« Последнее редактирование: 10-09-2011 19:42 от Алексей1153 »
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #49 : 10-09-2011 20:17 » |
|
|
1234.gif (37.32 Кб - загружено 1894 раз.)
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #50 : 10-09-2011 20:44 » |
|
Поздравляю! Так чем ты его осилил?
Кстати из фишек: кадры рендерятся поверх предыдущих - статические компоненты нужны только в первом кадре, а в остальных их можно заменить цветом прозрачности.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #51 : 11-09-2011 00:42 » |
|
Так чем ты его осилил?
так вот этим ) http://www.solidfluid.co.uk/sfsite.php/000000CF и вот отличная очень подробная дока - там и про фишки эти написано, а как выбирать способ смены кадра, смещать кадр и так далее http://home.onego.ru/~chiezo/gif.htm Там же ссылка на алгоритм сжатия, но у меня по нему не вышло. Собственно, косяк только в нём у меня и был, всё остальное осталось без изменений, а сжатие я взял из первой ссылки (только пришлось попотеть, доставая необходимо минимальное для компиляции). Конечно, это всё костыль - как будет время, изучу алгоритм, который там зашит, да оставлю только его ---------- задание заказчика такое (самое сложное уже сделано ): Необходима dll, написанная на C++ с одной функцией: на входе получить ASCII-строку и номер шрифта, а на выходе отдать картинку в формате анимированного GIF, где на наждом кадре будет написана входая строка черным цветом и каждый белый пиксель кадра должен быть инвертирован случайным образом с вероятностью 10%. Всего кадров столько, сколько букв во входной строке.
|
|
|
Записан
|
|
|
|
Джон
просто
Администратор
Offline
Пол:
|
|
« Ответ #52 : 11-09-2011 07:20 » |
|
Лёш, короче генератор картинок для капчи ему нужен.
|
|
|
Записан
|
Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома. "Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash "Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman "All science is either physics or stamp collecting." Ernest Rutherford "Wer will, findet Wege, wer nicht will, findet Gründe."
|
|
|
RXL
|
|
« Ответ #53 : 11-09-2011 09:11 » |
|
Тогда рекомендую не рендерить все буквы в одном кадре - слишком легко будет убрать шум. А вообще, это примитивизм для OCR. Если уж делать интереснее, то лучше бы в анимации буквы "плавали" и к ним применялись бы различные анимационные эффекты.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #54 : 11-09-2011 10:02 » |
|
RXL, что даст анимация в плане защиты от OCR? Достаточно либо взять кадр, либо последовательно сложить несколько кадров или перепробовать серию таких комбинаций, загоняя каждую в OCR.
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
RXL
|
|
« Ответ #55 : 11-09-2011 10:17 » |
|
Дим, тут играет роль особенность зрения: видео воспринимается глазом намного легче, чем статическая картинка. Т.е. имеем массу плюсов: степень искажения текста может быть больше, в каждом кадре может быть фрагмент целого изображения, элементы изображения могут двигаться. Возможно еще есть возможности затруднить декодирование.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #56 : 11-09-2011 11:31 » |
|
Лёш, короче генератор картинок для капчи ему нужен. ну это само собой. Я ещё предлагаю ему опции по разбросу букв ) RXL, да, это всё в процессе доводки сделаем, если нужно будет. Совет я заку дам, а там он сам решит. Димка правильно говорит - лучше сделать для каждой литеры случайное смещение + небольшой поворот. Для глаза это будет читаемо, а вот распознавалка сдуется Добавлено через 8 минут и 43 секунды:кстати, любопытное наблюдение в процессе поиска истины: сначала я пытался всё сделать сам, активно применяя std::vector для массивов и std::map для индексации. В дебаге генерилось жутко долго,я даже расстроился (а то, что генерилось не то - это пока значения не имело, объём вычислений всё равно похожий), хотя резервирование для векторов я делал тщательно. Но запустил в релизе - работает моментально Оптимизатор, однако ) А сишный исходник (там нет STL, одни динамические массивы через alloc и free и куча хаков) - ну просто летает даже в дебаге ))) Хотя, там без бидона кефира лучше не соваться, я до знакомства с STL и то прозрачнее всё делал.
|
|
« Последнее редактирование: 11-09-2011 11:39 от Алексей1153 »
|
Записан
|
|
|
|
Sla
|
|
« Ответ #57 : 11-09-2011 12:05 » |
|
Offtopic: Если народ recaptcha ломает... то такую "простую" гифку не составит труда. Было бы это кому-то нужно.
Поставлю в угол.
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #58 : 11-09-2011 12:18 » |
|
Sla, заказчик сказал - фрилансер сделал, деньги получил
|
|
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #59 : 11-09-2011 18:10 » |
|
кстати, любопытное наблюдение в процессе поиска истины:
сначала я пытался всё сделать сам, активно применяя std::vector для массивов и std::map для индексации. В дебаге генерилось жутко долго,я даже расстроился (а то, что генерилось не то - это пока значения не имело, объём вычислений всё равно похожий), хотя резервирование для векторов я делал тщательно. Но запустил в релизе - работает моментально
Оптимизатор, однако )
А сишный исходник (там нет STL, одни динамические массивы через alloc и free и куча хаков) - ну просто летает даже в дебаге ))) Хотя, там без бидона кефира лучше не соваться, я до знакомства с STL и то прозрачнее всё делал.
Алексей1153++, Это особенности студии GCC я например такого эффекта практически не наблюдаю. А в студии сталкивался. Внутри студийного кода в Debug режиме очень много ASSERT, выделений и зачистка памяти сверх запрошенного и так далее. И это все очень значительно жрет ресурсов.
|
|
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
|