Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.05.18;
Скачать: CL | DM;

Вниз

Как быстро рисовать на канве?   Найти похожие ветки 

 
Pa5ha ©   (2007-01-27 01:09) [0]

Мы тут на досуге решили переписать чат с пхп на дельфи. В связи с чем вопросы.

Разбивку формы с помощью таблиц я сделал. Каждой ячейке моей таблицы может быть назначена картинка. Все бы ничего, но при отрисовке 9ресайзе напр) возникает мерцание. Рисую с помощью StrechDraw в onPaint. Вопрос: можно ли убрать мерцание и как можно рисовать максимально быстро? Лучше даже не с помощью bitmap-a, а чем-нить виндовым, если оно будет быстрее :)

И второй вопрос. Как работать с jpg и gif? Есть ли библиотеки для загрузки этого дела? Компоненты не предлагать.

И третий вопрос. В чате как-то надо будет организовать лог. Обычный мемо наверно не подойдет, смайликов там нету. Тем более, было бы неплохо оставить анимацию смайликов, аватарок... Вот такая сложная задача. Как это можно реализовать?

Прошу тему не переносить ибо она связанна со способами быстрого рисования, которые применяются в играх. ОпенГЛ не предлагать )


 
TRUNK ©   (2007-01-27 01:28) [1]

А в таблице будет что-нибудь кроме картинок?


 
Pa5ha ©   (2007-01-27 01:39) [2]

Ну таблица как бы виртуальная. Таблица помогает расчитывать регионы, в которые я буду рисовать определенные картинки, так же расчитывать как эти картинки надо растянуть, чтоб получился дизигн. Таблица - не компонент.

Не факт, но возможно будет пара компонентов на форме.


 
MonoLife   (2007-01-30 04:01) [3]

от мерцания поможет может DoubleBuffered:=True?


 
Мистер Т   (2007-01-30 18:50) [4]

Для jpeg существует jpeglib. Оригинал написан на С++, но если поискать - можно найти портированую на Делфи версию.

gif - платный и от него многие отказываются в пользу png (подсказка - pnglib).


 
Piroxyline ©   (2007-01-31 12:57) [5]

Могу посоветовать библиотеку одну, как называется - не помню :(, но на DelphiGFX лежала и использовалась мной в тематическом конкурсе на code.darthman.com . Там jpeg через Intel JPEG Library реализован.
А насчет мерцания - могу посоветовать вторую поверхность создать. К примеру, через TPicture (если VCL), или через CreateCompatibleDC (если ручками). Про второе я уже много рассказывал, да и в конкурсах использовал (скроллер, движок FreeDraw)


 
Pa5ha ©   (2007-01-31 13:31) [6]

Ок, пасиба. С мерцанием разобрался ) Просто для теста для проверки разбивки рисовал прямоугольник и потом начал рисовать картинки не отключив рисование прямоугольников )

Вот чо с гифами делать -  не знаю. Хотелось бы конечно анимацию сделать )


 
GrayFace ©   (2007-01-31 14:09) [7]

Pa5ha ©   (27.01.07 1:09)
И третий вопрос. В чате как-то надо будет организовать лог. Обычный мемо наверно не подойдет, смайликов там нету. Тем более, было бы неплохо оставить анимацию смайликов, аватарок... Вот такая сложная задача. Как это можно реализовать?

Нужен продвинутый RichEdit. Стандартный (во всяком случае в D7) картинки не поддерживает - он использует v1.0.

Pa5ha ©   (27.01.07 1:09)
Прошу тему не переносить ибо она связанна со способами быстрого рисования, которые применяются в играх. ОпенГЛ не предлагать )

В играх, как раз, OpenGL и DirectX, а тут TBitmap.ScanLine.

Pa5ha ©   (27.01.07 1:09)
Как работать с jpg и gif?

jpg есть в стандарте. Модуль jpeg, кажется, называется. Если что, при установке TImage.Picture картинки .jpg в Design-Time, он появляется в uses.


 
Pa5ha ©   (2007-01-31 15:40) [8]

Это 3д игры на OpenGL и D3D, но есть игры и попроще :)

Компоненты юзать не хочу. (хотя скорее всего придется).

Щас у XProger-a посмотрим как сделано.



Страницы: 1 вся ветка

Текущий архив: 2008.05.18;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.015 c
2-1208324876
Aleksandrrr
2008-04-16 09:47
2008.05.18
добавление файлов в проект


15-1207033376
Тыгыдымский конь
2008-04-01 11:02
2008.05.18
В какой Windows появился шрифт Tahoma


15-1207576451
Kolan
2008-04-07 17:54
2008.05.18
Как упорядочить программы в пуске по алфавиту?


8-1180007525
Огнеяр
2007-05-24 15:52
2008.05.18
СОС!!! (Быстрый вывод изображения. OpenGL?)


2-1208420080
operator
2008-04-17 12:14
2008.05.18
TGauge для вывода сколько процентов файла обработано.