Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Звук, графика и видео > Слайд шоу со сведением 2х изображений


Автор: wsr 29.9.2006, 22:36
Привет всем. У меня следующий вопрос по обработке изображений: "Возможно ли сделать аналог слайд шоу (как в ACDSee) используя свои эффекты для перехода одного изображения в другое? И при этом поверх изображения должна находиться надпись из произвольного текста."
Я сам всегда все делаю, но уж если совсем никак не могу, то обращаюсь за помощью.

Есть такой компонент http://www.verywell.ru/wsr/picshow_v4.04.zip (прилагается в архиве - добавить в любой уже существующий пакет, после станет доступна вкладка DelphiArea где и лежит этот самый компонент). Он меня вполне устраивает, но вот поверх него нельзя распологать компоненты типа TLabel. Можно использовать TStaticText, но вот у меня проблемка : у этого компонента не могу убрать фон и это очень мешает (скрин прилагаю).
user posted image

У кого есть какие варианты, предлагайте. Может можно все таки сделать фон у TStaticText прозрачным? Может есть уже готовые кмпоненты или варианты решения подобных задач?

P.S. использую Delphi 7. Какая информация от меня еще нужна, сообщу. После решения задачи поделюсь сорцами, если кому нужно!

Автор: Snowy 29.9.2006, 22:44
Цитата(wsr @  29.9.2006,  22:36 Найти цитируемый пост)
Может можно все таки сделать фон у TStaticText прозрачным?
Да, обычный TLabel имеет свойство Transparent, которое просто можно установить в true

Цитата(wsr @  29.9.2006,  22:36 Найти цитируемый пост)
Может есть уже готовые кмпоненты или варианты решения подобных задач?
Конечно есть.
Банальная WinAPI функция DrawText или TextOut - выбирай любую.
TextOut проще, DrawText поддерживает выравнивание.

Автор: wsr 29.9.2006, 23:03
Цитата(wsr @  29.9.2006,  22:36 Найти цитируемый пост)
поверх него нельзя распологать компоненты типа TLabel. 

Snowy По этому простой TLabel не пойдет. У TStaticText Тоже есть парамерт transparent, но вот эффектов от его изменения я не наблюдаю.

Если можешь, дай какой нить простенький пример по указанным функциям.

Автор: Snowy 29.9.2006, 23:14
Цитата(wsr @  29.9.2006,  23:03 Найти цитируемый пост)
Если можешь, дай какой нить простенький пример по указанным функциям.

Ну тут далеко ходить не нужно.
Вот глава из книги: http://forum.vingrad.ru/index.php?showtopic=101260&hl=drawtext
Тут всё подробно рассказано.
А также примеры - поиск по форуму.
Поскольку это WinAPI функция, то справка по ней есть в Delphi - Windows SDK Help и MSDN.
Выбирай любой источник smile

Добавлено @ 23:15 
Забыл ещё FAQ упомянуть.
А там масса интересного smile
http://forum.vingrad.ru/index.php?act=module&module=vingradfaq&section=566
В том числе целый раздел "Манипуляции с текстом"

Автор: Alexeis 29.9.2006, 23:16
Код

procedure TForm1.btn1Click(Sender: TObject);
begin
  Image1.Picture.LoadFromFile('H:\Рисунки\фон\Облака.bmp');
  SetBkMode(Image1.Canvas.Handle, TRANSPARENT);
  Image1.Canvas.TextOut(50, 50, 'пример текста');
end;

Автор: wsr 29.9.2006, 23:30
Всем спасибо. Будем разбираться.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)