Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 17.05.2017, 16:19   #1
Коккс
Пользователь
 
Аватар для Коккс
 
Регистрация: 07.11.2013
Сообщений: 21
Репутация: 10
По умолчанию плавное появление картинки( Timage) на форму

Добрый день. Подскажите пожалуйста, как в делфи сделать плавное появление картинки( Timage) на форму? Искала в интернете, но безрезультатно.
Коккс вне форума   Ответить с цитированием
Старый 17.05.2017, 17:10   #2
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 351
Репутация: 85
По умолчанию

Ну если только все пиксели какой-нибудь картинки плавно увеличивать от 0 до своего нормального значения через какой-нибудь промежуток времени(например, 20 мс). Для этого нужно использовать TTimer. Я по C++Builder 6 вообще специалист, но в Delphi, по-моему тоже самое.
Cuprum5 вне форума   Ответить с цитированием
Старый 17.05.2017, 17:17   #3
Ship_1
Участник клуба
 
Регистрация: 10.02.2014
Сообщений: 523
Репутация: 60
По умолчанию

Cuprum5, если вы имеете ввиду альфу, то в Delphi у TImage её нет. Только у формы. А в С++ по умолчанию есть?
Ship_1 вне форума   Ответить с цитированием
Старый 17.05.2017, 17:39   #4
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 351
Репутация: 85
По умолчанию

RGBA есть и в Delphi и в C++Builder 6. Я вообще говорил про основные цветовые каналы: R, G, и B. Но можно и вторым способом сделать - через Alfa-канал. Т.е. Сначала оно будет полностью прозрачное, а потом постепенно(по 10%, например) его делать непрозрачным. Автор темы, выбирайте способ!
Cuprum5 вне форума   Ответить с цитированием
Старый 17.05.2017, 17:50   #5
Коккс
Пользователь
 
Аватар для Коккс
 
Регистрация: 07.11.2013
Сообщений: 21
Репутация: 10
По умолчанию

у меня картинка задается формулой:
begin
for i:=0 to image2.Width do
begin
k:= J+round(A*sin(F*2*pi*i/image2.Width));
Image2.Canvas.Pen.Color:= RGB(k*R, k*G, k*B);
Image2.Canvas.MoveTo(i, 0);
Image2.Canvas.LineTo(i, image2.height);
end;
end;
и она должна плавно по нарастающей появляться.
Коккс вне форума   Ответить с цитированием
Старый 17.05.2017, 17:50   #6
Ship_1
Участник клуба
 
Регистрация: 10.02.2014
Сообщений: 523
Репутация: 60
По умолчанию

Цитата:
плавно увеличивать от 0
Поэтому и подумал про альфу. RGB же на нуле чёрный, а не прозрачный. Тогда не от нуля, а от фона...
Ship_1 вне форума   Ответить с цитированием
Старый 17.05.2017, 17:52   #7
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 17,683
Репутация: 6211
По умолчанию

Коккс, внизу смотрел похожие темы?
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума   Ответить с цитированием
Старый 17.05.2017, 17:52   #8
Коккс
Пользователь
 
Аватар для Коккс
 
Регистрация: 07.11.2013
Сообщений: 21
Репутация: 10
По умолчанию

Напишите пожалуйста код, как сделать через черный фон RGB?

Смотрела уже везде, дельного ничего нет.

Последний раз редактировалось BDA; 17.05.2017 в 19:52.
Коккс вне форума   Ответить с цитированием
Старый 17.05.2017, 18:10   #9
oldsnowman
Участник клуба
 
Аватар для oldsnowman
 
Регистрация: 20.02.2015
Сообщений: 783
Репутация: 254
По умолчанию

я немного не в теме делфистов, но что если на твою картинку накладывать через определенный промежуток времени разной прозрачности фоновые картинки.
oldsnowman вне форума   Ответить с цитированием
Старый 17.05.2017, 18:13   #10
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 351
Репутация: 85
По умолчанию

А что картинка выдает? Выложите Screenshot, пожалуйста. Синусоида там или что?

Цитата:
Сообщение от Коккс Посмотреть сообщение
Код:

Image2.Canvas.Pen.Color:= RGB(k*R, k*G, k*B);

- вот здесь как-то нужно домножить на какой-нибудь коэффициент параллельно k и увеличивать его от 0 до 1 с шагом 0.1 от Таймера со временем, например, 500 мс.
Типа такого что-то должно получиться, мне кажется:
Код:

Image2.Canvas.Pen.Color:= RGB(F*k*R, F*k*G, F*k*B);

F - Brightness(Яркость).

Последний раз редактировалось BDA; 17.05.2017 в 19:51.
Cuprum5 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Плавное появление картинки sorokolit Общие вопросы Delphi 1 22.01.2015 18:04
плавное появление изображения RevenGGe Общие вопросы Delphi 3 13.04.2013 17:46
плавное появление/исчезновение объекта TImage Хамяг Общие вопросы Delphi 2 04.12.2011 01:14
Плавное появление картинки при наведении мыши на ссылку CodeNOT JavaScript, Ajax 7 28.04.2011 17:15
Плавное появление формы HAMMAN Общие вопросы Delphi 3 15.05.2008 14:20


15:22.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru