Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Gif анимация в RichEdit, Извините, что повторяюсь... 
:(
    Опции темы
Coderr
Дата 6.7.2006, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 27.1.2006
Где: Vesnet

Репутация: 0
Всего: 0



Доброго времени суток всем! Я понимаю, конечно, что такой вопрос не раз поднимался(я тоже когда-то его поднимал), но в поиске такоих тем не нашёл...  smile Проблема осталось той же! Надо сделать так, чтобы определённые символы заменялись соответсвующим gif смайлом в RichEdit. Пытался делать через функцию встаки компонента в RichEdit, но после этого трабл появился: не отображается текст!  smile  Помогите, плиз! Google бессилен... =( 
--------------------
Кодинг - это стиль жизни!   
PM WWW ICQ   Вверх
Sunr1se
Дата 6.7.2006, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 1.5.2006

Репутация: 6
Всего: 13



http://vingrad.ru/DELPHI-DLP-000584
В FAQ много чего есть smile 
--------------------
IRC-канал Винграда 
PM MAIL ICQ   Вверх
Coderr
Дата 6.7.2006, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 27.1.2006
Где: Vesnet

Репутация: 0
Всего: 0



Там в коде (из FAQ) есть такая строка:

Код

rtf := '{\rtf1 {\pict\dibitmap ';


Очевидно, что она отвечает как раз за добавление битмапа. А мне нада добавлять не битмап, а gif анимашку, причём чтоб она двигалась (в word попробовал вставить gif'ку - она не двигалась, а только первый кадр показывала постоянно  smile  ). Какой тег в rtf отвечает за вставку gif'ки? 

И проблемы появились с перезаточкой проги с битмапа на gif... Я тут выкладываю исходничек, может подправите, плиз!  smile Самораспаковывающийся архив с исходниками 

Это сообщение отредактировал(а) Coderr - 6.7.2006, 22:16
--------------------
Кодинг - это стиль жизни!   
PM WWW ICQ   Вверх
Poseidon
Дата 7.7.2006, 00:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Используй RxRichEdit 


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Coderr
Дата 7.7.2006, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 27.1.2006
Где: Vesnet

Репутация: 0
Всего: 0



Цитата(Poseidon @ 7.7.2006,  00:20)
Используй RxRichEdit

Ты наверное исходники не смотрел...  smile  Я там как раз использую rrxRichEdit!  smile  Товарищи! Может у кого-нибудь уже есть рабочий пример для gif анимации?  Выложите, плз, если не трудно...  smile  
--------------------
Кодинг - это стиль жизни!   
PM WWW ICQ   Вверх
Poseidon
Дата 7.7.2006, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Исходник не смотрел, зато читал первый пост. А в нем:
Цитата(Coderr @  6.7.2006,  11:45 Найти цитируемый пост)
Надо сделать так, чтобы определённые символы заменялись соответсвующим gif смайлом в RichEdit. Пытался делать через функцию встаки компонента в RichEdit


Теперь о главном: немного порыскав где-надо, пришел к выводу что формат RTF все-таки не поддерживает Gif-анимацию. Поэтому нужно выкручиваться Можно менять картинку с частотой кадров как в gif, тогда будет эффект анимации, а можно воспользоваться хитростью. Что-то вроди такого (необходима библиотека RxLib):

Код
uses GIFCtrl 
procedure TForm1.Button2Click(Sender: TObject);
var GifAnimator: TRxGIFAnimator;
begin
GifAnimator:= TRxGIFAnimator.Create(RxRichEdit1);
GifAnimator.Parent:= RxRichEdit1;
GifAnimator.Image.LoadFromFile('D:\1.gif');
GifAnimator.Animate:= True;
end;


Дальще сам подумай 


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Sunvas
Дата 8.7.2006, 05:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 28
Всего: 89



Poseidon, ну это корявенько - надо же еще смотреть и за текстом, чтобы гиф можно было подвинуть пробелом влево-вправо...
Тут уже надо свой компонент писать. Готового нет. Можно конечно еще и ребятам-создателям Qip-a написать. У них уже все реализовано! 


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
Coderr
Дата 8.7.2006, 07:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 27.1.2006
Где: Vesnet

Репутация: 0
Всего: 0



Цитата

 Можно конечно еще и ребятам-создателям Qip-a написать. У них уже все реализовано!


Писал им на форум, но они - приколисты! Один не хотел колоться, другой на спец ресурс направил, а третий направил меня на тему в форуме про смайлы!  smile  Оказывается там такое твориться... Цитирую:

Цитата

Сообщение от INF
Как только открывается окно со смайлами, то идет их распаковка на кадры(я про анимированные), где уже потом показываются сами кадры с учетом заднего фона. Каждый кадр это отдельная картинка, которая если один раз создалась, то больше создаваться и удалятся не будет, пока не завершишь программу. Попытки читать кадры по очереди из файлов привели к тому, что пока откроется окно со 105 смайлами можно пойти покурить smile . Оно и понятно, одновременно читать столько файлов и их распаковывать это бред. Ищите, может кто что найдет более лучший вариант.


Можно было бы воспользоваться этим способом, но у него явный минус - много смайлов в RichEdit не засунешь! А так хотелось, чтобы все смайлики оставались до самой, до перезагрузки...  smile

Добавлено @ 07:46 
Цитата

 надо же еще смотреть и за текстом, чтобы гиф можно было подвинуть пробелом влево-вправо...

Да не только за этим! Там артефакты разные появляются вместо текста, текста самого вообще не видно, только ошмётки курсора  smile , да и при пролистывании scrollbar'ами компонент остаётся на одном и том же месте и также появляются артефакты разнообразные!  smile  
--------------------
Кодинг - это стиль жизни!   
PM WWW ICQ   Вверх
Akella
Дата 10.7.2006, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Coderr, попробуй использовать WEB-броузер 
PM MAIL   Вверх
Sunvas
Дата 11.7.2006, 01:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 28
Всего: 89



Цитата(Akella @  10.7.2006,  10:13 Найти цитируемый пост)
Coderr, попробуй использовать WEB-броузер 


Akella, а как ты в веб-браузере собираешься вводить текст? 


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
Snowy
Дата 11.7.2006, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Юзай RichView - там уже всё реализовано.
Сам по себе RichEdit не поддерживает анимированных смайлов - только статичные.

Напрашивается простое решение.
1. Использовать RichView
2. При наборе забить на анимацию - пусть показывает первый кадр. При наборе анимация только мешает.
А для просмотра использовать WebBrowser - пусть он и возится с анимированием. 
PM MAIL   Вверх
Coderr
Дата 13.7.2006, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 27.1.2006
Где: Vesnet

Репутация: 0
Всего: 0



Цитата

Юзай RichView - там уже всё реализовано.
Сам по себе RichEdit не поддерживает анимированных смайлов - только статичные.

Напрашивается простое решение.
1. Использовать RichView
2. При наборе забить на анимацию - пусть показывает первый кадр. При наборе анимация только мешает.
А для просмотра использовать WebBrowser - пусть он и возится с анимированием.


А RichView это из какой группы компонентов? Где скачать? 

ЗЫ И ещё! В RichView только катринку показывает или можно и gif воспроизводить? 

Это сообщение отредактировал(а) Coderr - 13.7.2006, 14:06
--------------------
Кодинг - это стиль жизни!   
PM WWW ICQ   Вверх
Snowy
Дата 13.7.2006, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата(Coderr @  13.7.2006,  14:05 Найти цитируемый пост)
А RichView это из какой группы компонентов? Где скачать? 
Поиск по форуму тебе в руки.

Цитата(Coderr @  13.7.2006,  14:05 Найти цитируемый пост)
ЗЫ И ещё! В RichView только катринку показывает или можно и gif воспроизводить? 
Именно воспроизводит анимированные гифы. Там пример есть - сразу и увидишь.

Добавлено @ 14:12 
ЗЫ. Я уже сказал, что RichView платный или забыл? 
PM MAIL   Вверх
Coderr
Дата 13.7.2006, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 27.1.2006
Где: Vesnet

Репутация: 0
Всего: 0



Цитата

Я уже сказал, что RichView платный или забыл?


 smile  Он платный??? А бесплатный где взять? 
--------------------
Кодинг - это стиль жизни!   
PM WWW ICQ   Вверх
Snowy
Дата 13.7.2006, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Триальный - посмотреть и потрогать можно. Юзать - плати.
Бесплатного нет. 
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0879 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.