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

Вниз

Объединение нескольких изображений в одно с добавлением текста   Найти похожие ветки 

 
seregka   (2005-06-10 12:16) [0]

Добрый день!

Подскажите, пожалуйста, как объединить несколько изображений в одно. Например, два изображение 800х600. Нужно на выходе одно 800х600, сверху 800х300 - первое, под ним 800х300 - второе.

И как добавить текст в произвольной части изображения.

Заранее благодарен


 
XProger ©   (2005-06-10 13:16) [1]


Canvas.Draw(0, i*300, bmp);
...
Canvas.TextOut(X, Y, "labuda");


 
seregka   (2005-06-10 22:23) [2]

СПасибо.
А как сделать, чтобы задний фон текст прозрачным был


 
Борыч   (2005-06-10 22:50) [3]

>seregka  (10.06.05 22:23) [2]

Brush.Style := bsClear;


 
seregka   (2005-06-10 23:31) [4]

спаисибо.
А не подскажите, а можно ли сделать слои (как в Фотошопе), чтобы этот текст можно было двигать и менять?


 
Борыч   (2005-06-11 00:00) [5]

>seregka  (10.06.05 23:31) [4]

Можно.


 
seregka   (2005-06-11 11:49) [6]

Не подскажите как?


 
Борыч   (2005-06-11 17:18) [7]

Можно пойти разными путями..

1. Представить слои как наследники TGraphicControl. Это довольно легко в реализации, но работать бдеть отвратительно: когда слоев будет достаточно много, перерисовка будет тормозить или сильно мерцать..

2. Имеем в памяти битмап размером с клиентскую область. На нём уникальными цветами (!) в виде примитивов соответствующих слоям (текст - закрашенный прямоугольник) рисуем все слои, один за другим (те, которые видны на экране). На другом битмапе (тоже размером с видимую область) уже прорисовываем реальное изображение слоев с прозрачностью, текстурами, текстом и т.п. Этот растр и выводим на экран. Главное, чтобы координаты соответствующих слоев на одном и другом растре совпадали. Далее обрабатываем события мыши: смотрим по первому битмапу, на какой цвет пришелся клик курсором. А коли мы знаем, что каждому слою соответствует уникальный цвет, то и знаем какой слой выделять (активировать). Если это текст, можно включать обработку нажатия клавиш, показывать мерцающий курсор и т.д. Перемещение слоя - по тому же принципу. По сути ничего сложного нет. Но можно реализовать так, что будет все летать, а можно так, что страшно тормозить. Дело опыта. :)


 
Grief ©   (2005-06-11 19:25) [8]

мерцать не будет, если не объединять картинки перед выводом. Тем более, что второй способ имхо будет медленнее



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

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

Наверх




Память: 0.48 MB
Время: 0.029 c
6-1118108210
FrykT
2005-06-07 05:36
2005.11.06
Проблема при передаче списка TThreadList


14-1129203524
BaxTMaH
2005-10-13 15:38
2005.11.06
треба помощь


2-1129083148
AlexLines
2005-10-12 06:12
2005.11.06
ПРОБЛЕМА С LIKE "A%" И LIKE "A"


4-1125413034
Русланка
2005-08-30 18:43
2005.11.06
Как заставить Windows произвести обновление оборудования


9-1119430602
FUNKy
2005-06-22 12:56
2005.11.06
Потомок TGLActor , корректное создание run-time