Спасибо, интересная программа. Но не могу добится от неё нужного формата. Попробую объяснить. Я раньше делал двигающиеся картинки в окошках таким простым способом. Создаёшь статик имидж-айкон контрол на окошке. В ресурсы кладёшь ani файл типа 20 ANICURSOR DISCARDABLE "SKUL.ANI" Грузишь на старте окна ресурс с помощью LoadCursor И делаешь STM_SETIMAGE. Всё работало как надо. А вот с ani файлами которые создаёт программка T так не получается. Они грузятся если LoadCursorFromFile а LoadCursor из ресурса не грузятся. Я конкретно нашёл свинью танцующую в gif. Хочу её в ресурс как ani положить, ресурс из файла созданного T не грузится. Вот свинья. Кто-то может её довести до ресурсо переваниваемости? _1139076106__index.gif
The Svin Размер не 32х32. Я бы достал фреймы из анимации (их там 3 или 4), загнал в ресурсы как bmp, создал таймер (600мс - 1с) и обновлял бы циклически картинку. ImageList тут немного сокращает кол-во строк кода. Либо простейший AVI, хотя лучше таймер Сделать пример из хрячка?
AVI не хочу, таймер с BMP не хочу. 32х32 тоже не грузит. А другие нестандартных размеров грузит. Хочу чтоб грузило ANI и научится как из негрузящихся ANI делать грузящиеся.
The Svin Хвалю Обоснуйте. Система отмеряет паузы для отрисовки фреймов циклическим вызовом GetTickCount, что ни чуть не лучше таймера. И не удивительно. Подобное использование анимированного курсора - изврат. На всякий случай, аттачу пример. 110253382__svin.rar
Я то ведь не включаю этот код. Приложение моё легче. И программировать мне его проще. Подобные высказывания - демогогия. Обменялись мнениями типа "сам дурак" Quantum ну при всём уважении, знаю я как с анимированной графикой по другому работать, у меня конкретный вопрос. Почему одни ani грузятся а почему другие не грузятся и что нужно сделать чтоб грузились. Тут дело то не в том как использовать курсор. Его к примеру можно использовать и по назначению - как курсор мыши. А как сделать файл валидного для ресурсов ani курсора. Как его использовать - другая уже тема.
The Svin Полноцветные анимированные курсоры не поддерживаются старыми виндами (95, 98... без Plus что-ли). Их даже можно где-то отключить в реестре в Me. Про 2к и XP не могу ничего сказать. Тем не менее, вы же хотите, чтобы ваши обучалки и на 95й, и на 98й, и на Me винде работали? Демагогией никогда не интересовался. Ваш ANI раз в 5 тяжелее моего BMP, т.к. там 24-битная палитра. Кстати, можно ещё и RLE включить!
В обучалках вообще всё ручками (GDIными) рисуется Не совсем правильно. Не под "старыми \ новыми" а под 9х - неработает под NT - работает. Первые NT старее 95ой. Ой ну не так это - но отвечать ломает Ну понял я позицию, только вопрос то (в 3ий раз) - как сделать валидные для ресурсов курсоры. Вот нельзя ли если что есть сказать - то сказать по этой теме. Please
The Svin Это заслуживает похвалы и уважения, также как и сами обучалки. Как бы покорректней выразиться?.. Ну, то, что вы написали ещё дальше от истины. ANI могут работать и на 95й, в определённых условиях, которые можно уточнить в SDK. И на первых NT (3.5, 4) могут не работать, если адаптер слабый. Про размер эта реплика. Вы знаете, что ANI не сильно отличается от AVI? Надеюсь, вы поняли намёк, т.к. меня тоже ломает расписывать тут подробности. Я лично делаю их ручками: paint + aniedit (это из SDK 95й винды ещё + хексредактор для сжатия 24бит -> 4бит, т.к. paint портит палитру. А невалидные ресурсы можно делать любым попсовым редактором, каких море.
Microsoft Animated Cursor Editor Version 3.5 (c) 1995 Могу поделиться, если надо (18Кб). ЗЫ: Особенно прикольно свинка танцует под трекерскую музыку ))
Надо, поделись, пожалуйста. Да не знаю я толком нифига Мне просто попадались интересные ani и небольшого размера. Вот маленького размера выполняющие подобную работу avi - непопадались. А форматы - не знаю. Имеется ввиду под "работать" - их тоже можно статик image\icon присобачивать через SETIMAGE? Адаптер был у меня в NT 4 SVGA Trio за три копейки 1м памяти всего, и всё одно черепа крутились. Ещё слабее должен быть?
В аттаче. Фреймы должны быть в формате ICO либо CUR. Их можно создавать в редакторе ресурсов Visual Studio, утилитой IMAGEDIT.EXE, которая с masm32 поставляется... ну, и любым попсовым редактором тоже можно. Размер нормального ANI = размер одного непожатого CUR-фрейма * кол-во фреймов + размер RIFF-контейнера. Этот размер в любом случае будет больше сплошного битмапа, хотябы из-за дублирования палитры и из-за маски прозрачности. Размер ненормального ANI может равнятся, к примеру, размеру того же GIF + размер RIFF-оболочки Под "работать" я подразумевал использование по прямому назначению, т.е. в качестве курсора. На VGA с использованием стандартного виндового драйвера не крутились. На тестовой машине тогда у меня стояла именно NT4. ANI был Ч/Б и стандартного размера 32х32. 2021934537__ANIEDIT.rar
Погоди, а из исходного файла (gif) ты чем доставал фреймы? Меня всё ещё волнует как преобразовать анимационный gif в курсор. Я попробывал программу Take One у меня легко получился ani курсор, но он не валидный (не грузится через ресурсы) тем более произошли и изменения в размере. У тебя же в программе ani полученный из этого gif и валидный и размер тот же. Мне вот эта стадия непонятна как: из gif во что то что или само по себе уже ani или годные фреймы для ani.
1. Редактором анимированных GIF (у меня Ulead GIF Animator 5) экспортировал все фреймы в серию отдельных PNG. 2. С помощью Paint сконвертировал полноцветные PNG (24 бит) в 16-цветные BMP (4-бит). Это существенно сжимает размер. 3. Сконвертировал BMP в CUR прямо в редакторе Visual Studio 6. 4. Скорректировал палитру с помощью WinHex, т.к. цвета сильно исказились из-за отстойности Paint. 5. Собрал все CUR воедино с помощью ANIEDIT. Пункты 2 и 4 можно опустить, если не важен размер конечного ANI.