Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2008.05.18;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.044 c
11-1189391943
Grademax
2007-09-10 06:39
2008.05.18
Обработка клавиш Up, Down в ListEdit е


2-1208759834
Виктор
2008-04-21 10:37
2008.05.18
МАС-адресса


2-1208935136
Arinyshka
2008-04-23 11:18
2008.05.18
Динамически созданный Image


2-1208283564
prodex
2008-04-15 22:19
2008.05.18
Асинхронные сокеты


15-1207070549
Andy BitOff
2008-04-01 21:22
2008.05.18
Интерактивный отладчик для PHP





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский