Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 229
от 05.09.2005, 20:12

Администратор:Калашников О.А.
В рассылке:Подписчиков: 236, Экспертов: 50
В номере:Вопросов: 4, Ответов: 9


Вопрос № 25576: Здраствуйте уважаемые эксперты! У меня к вам вот такой вопрос: как в delphi написать чат с функцией вставки анимированных смайлов т.е рисунков в формате gif (только чтобы они двигались). Меня интересует не сам прцесс написания чата, а то ка...
Вопрос № 25580: Приветствую ВАС Эксперты! Всё по порядку: 1) Подскажите каким образом можно рисовать на панели также как и на самой форме через Canvas. 2) Как можно нарисовать через Canvas картинку на панели, которая составлена програмно из нескольких графич...
Вопрос № 25604: Здравствуйте уважаемые эксперты. Посоветуйте плиз, как IP вида 2130706433 перевести в обычный вид - 127.0.0.1 ?...
Вопрос № 25618: Как средствами Delphi сгенерировать thumbnail графического файла (jpg, bmp)? Желательно штатными средствами. Спасибо...

Вопрос № 25.576
Здраствуйте уважаемые эксперты! У меня к вам вот такой вопрос: как в delphi написать чат с функцией вставки
анимированных смайлов т.е рисунков в формате gif (только чтобы они двигались). Меня интересует не сам прцесс
написания чата, а то как вставлять в текст анмированные изображения. Я уже пробовал компонент из RxLib, но там
только обычные *.bmp файлы можно вставлять, пробовал через WebBrowser, но там всё долго и тормозит. Я в Интернете
задавал этот вопрос на форум неоднократно, но всё безполезно (либо отшучивались либо предлагали, те способы,
которые я указал). Пожалуста, возможно вы сможите мне помочь. Заранее благодарен.
Отправлен: 31.08.2005, 00:12
Вопрос задал: Кориков Константин Константинович (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Anefedov
Здравствуйте, Кориков Константин Константинович!
Есть в Delphi TDrawGrid, на котором можно рисовать.
Если посмотришь Miranda ICQ - в ней так и сделано.
Желаю удачи :-)
Ответ отправил: Anefedov (статус: 3-ий класс)
Отправлен: 31.08.2005, 11:51
Оценка за ответ: 5

Отвечает: Delphin
Здравствуйте, Кориков Константин Константинович!
О!!! Я как раз занимаюсь этим вопросом.
Прийдется перерисовывать каждый кадр вручную!
Я вот думаю научиться писать VCL'ы и написать редактор с анимированными смайлами.
А пока попробуй RxRichEdit и смайлы каждый кадр рисовать по таймеру.
P.S> В RxGif разве только bmp? Плохо смотрел таварисч...
---------
Обращаться в ICQ: 77778851 или E-Mail: delphinster@gmail.com
Ответ отправил: Delphin (статус: 9-ый класс)
Отправлен: 31.08.2005, 15:23
Оценка за ответ: 4

Отвечает: Орхан Гасымов Аяз
Kstati na schet *.bmp faylov. Ved risunok luboqo formata privoditsa v BMP pered tem kak risuyetsa na kanve. Kak naprimer v TJPEDImage: DIBNeeded. Poprobuy!
---------
There are no problems, there are chalenges!
Ответ отправил: Орхан Гасымов Аяз (статус: 1-ый класс)
Отправлен: 02.09.2005, 00:58


Вопрос № 25.580
Приветствую ВАС Эксперты! Всё по порядку:
1) Подскажите каким образом можно рисовать на панели также как и на самой форме через Canvas.
2) Как можно нарисовать через Canvas картинку на панели, которая составлена програмно из нескольких графических файлов. То есть что-то типа мозайки с одинаковыми элементами, но повторяющимися несколько раз.
Отправлен: 31.08.2005, 00:42
Вопрос задал: Puld (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Силантьев Евгений Александрович
Здравствуйте, Puld!
1)Все просто (См. приложение)
2)Процедура Draw(Отступ слева, Отступ справа, Изображение), а в чем проблема то? Засунуть эту процедуру в цикл который бы менял значеня отступов и рисунок!
(См. приложение)
Есть панель 320 на 320 и ИмэйджЛист с сотней иконок 32 на 32!

Приложение:

---------
The world is mine! :)

Ответ отправил: Силантьев Евгений Александрович (статус: 4-ый класс)
Отправлен: 31.08.2005, 02:44

Отвечает: sir henry
Здравствуйте, Puld!
А почему Вы не хотите поместить на панель TImage? Тогда и рисование и картинки бует там рисовать и помещать легче легкого. :)
1) У TPanel Canvas'a, по-моему, нет. Однако, это не повод, чтобы на ней что-нибудь не нарисовать. Рисовать, в принципе, можно на чем угодно, главное получить контекст устройства:
var
DC: HDC;
Begin
DC:=GetDC(TPanel.Handle); {Получить контекст панели}
Ellipse(DC, Left, Top< Right< Bottom); {Нарисовать на панели эллипс}
ReleaseDC(TPanel.Handle, DC); {Удалить контекст панели, чтобы память зазря не занимал}
End;
2) Если картинка уже составлена, то Вы ее просто помещаете на Canvas с помощью:
CopyRect(const Dest: TRect; Canvas: TCanvas; const Source: TRect);
Т.е. копируется из одного canvas'a выбраный прямоугольник на второй.
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 31.08.2005, 07:59


Вопрос № 25.604
Здравствуйте уважаемые эксперты. Посоветуйте плиз, как IP вида 2130706433 перевести в обычный вид - 127.0.0.1 ?
Отправлен: 31.08.2005, 14:49
Вопрос задал: source (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Вiктор
Здравствуйте, source!
Я вообще не разбираюсь в IP и т.п., но рискну ответить.
По-моему, IP вида 2130706433 - это 4-х байтное число (dword).
А если его разложить на байты, то выйдет 4 байта. Если же потом эти 4 байта перевести в числа, то будет четыре числа.
тем более что этот подход работает для вашего примера:
7F-00-00-01
переводим в числа, 7Fh=127, 01h=01
и получаем 127-0-0-1.
надеюсь это то, что вы спрашивали.
---------
BUGи ловить, ловить и ловить. А потом дописать код - и всё с начала...
Ответ отправил: Вiктор (статус: 5-ый класс)
Отправлен: 31.08.2005, 16:31
Оценка за ответ: 5
Комментарий оценки:
Извините полиз, но я с Delphi на Выи шопотом, вы мне не поможите с написание функции для перевода dword в числа

Отвечает: sir henry
Здравствуйте, source!
1. Переведите это число в двоичную систему счисления.
2. Разделите полученое на 4 группы по 8 разрядов.
3. Каждую группу, по очереди, опять переведите в дксятичную систему счисления.
Так получите искомое. :)
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 31.08.2005, 18:02

Отвечает: Силантьев Евгений Александрович
Здравствуйте, source!
Вроде все работает правильно! (См. приложение)
Идея в том что:
0.0.0.0 = 0
0.0.0.1 = 1
0.0.0.2 = 2
................
0.0.1.0 = 256
0.0.1.1 = 257
.................
127.0.0.1 = 2130706433
Простейший математический подход! :)
Успехов!!! Надеюсь помог!

Приложение:

---------
The world is mine! :)

Ответ отправил: Силантьев Евгений Александрович (статус: 4-ый класс)
Отправлен: 01.09.2005, 02:02
Оценка за ответ: 5
Комментарий оценки:
Пасиба


Вопрос № 25.618
Как средствами Delphi сгенерировать thumbnail графического файла (jpg, bmp)? Желательно штатными средствами. Спасибо
Отправлен: 31.08.2005, 20:01
Вопрос задал: Валерий Кравцов (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Samum
Здравствуйте, Валерий Кравцов!
Смотря что вы имеете в виду под штатными средствами? Если работа с TImage и TBitmap подходит, тогда в приложении процедура, которая обеспечивает качественное сжатие/растяжение изображений (так и получают картинки предпросмотра).
В нее нужно передать исходный bitmap и bitmap, который будет служить для предпросмотра (а так же его размеры).
Например, если на форме Image1 используется для предпросмотра, то процедура создания thumbnail будет выглядеть так:
var
bitmap1: TBitmap;
begin
Bitmap1 := TBitmap.Create;
Bitmap1.LoadFromFile('C:BigImage.bmp');
ResizeBitmap(Bitmap1, {исходное изображение}
Image1.Picture.Bitmap, {preview}
Image1.Width, {ширина превьюхи}
Image1.Height);{и её высота}
end;
Надеюсь, это то, что вам нужно.

Приложение:

---------
Если бы программистам за их ошибки отрывали части тела, то в конце концов им пришлось бы использовать голову!

Ответ отправил: Samum (статус: Специалист)
Отправлен: 31.08.2005, 22:02


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.

Яндекс


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphiplus
Отписаться
Вспомнить пароль

В избранное