Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.02.2024, 23:47   #1
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 637
По умолчанию Сделать изображение затемненным/полупрозрачным

Возможно ли сделать изображение TImage полупрозрачным, или затемнённым?

Вариант с тем, чтобы "затемнить" через промежуточный bitmap - не вариант, потому что нельзя портить изначальные данные
Kronos913 вне форума Ответить с цитированием
Старый 25.02.2024, 12:44   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,568
По умолчанию

Цитата:
Сообщение от Kronos913 Посмотреть сообщение
нельзя портить изначальные данные
А каким образом они испортятся?
Arigato вне форума Ответить с цитированием
Старый 25.02.2024, 14:06   #3
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 637
По умолчанию

Мне нужно чтобы это действие было обратимым

Есть несколько TImage на форме
К каждому из них привязан TCheckBox

Если убирается галочка с CheckBox - то изображение должно стать темнее, если же возвращается галочка - изображение становится таким как было

Вот такое вот нужно сделать...
Kronos913 вне форума Ответить с цитированием
Старый 25.02.2024, 14:22   #4
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,522
По умолчанию

https://programmersforum.ru/showthre...ge.transparent

в delphi7 что-то типа timage.transparent было

ещё возможно timage.scale
Alar вне форума Ответить с цитированием
Старый 25.02.2024, 16:10   #5
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,568
По умолчанию

transparent дает полную прозрачность для пикселей определенного цвета. На счет альфа-канала что-то не припомню. Но что мешает держать изображение где-то в TBitMap и выводить на TImage по мере необходимости?
Arigato вне форума Ответить с цитированием
Старый 25.02.2024, 18:18   #6
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,822
По умолчанию

сверху накладываете вторую форму, на который выведен, скажем, тёмно-синий цвет и регулируете его прозрачность. будет типа как тёмно-синяя прозрачная плёнка поверх вашего первого рисунка.
----------
как-то давно, в 2011-м году, делал совмещение двух картинок, чтоб что-то проверить с координатами. кажется, сборную панораму из 100 файлов.
Код:
procedure TForm1.TrackBar1Change(Sender:TObject);
begin
   Edit1.Text:=IntToStr(TrackBar1.Position);
   Form2.AlphaBlendValue:=Round(TrackBar1.Position*255/100);
end;
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 26.02.2024, 14:30   #7
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,568
По умолчанию

Цитата:
Сообщение от Kronos913 Посмотреть сообщение
или затемнённым?
Не ясна конечная цель. Если просто затенить, то можно сверху наложить затемняющую маску. Например, поверх TImage разместил TShape, задал стиль заливки, получилось такое:

1.png

Можно абсолютно любую маску сделать подобным образом.
Arigato вне форума Ответить с цитированием
Старый 26.02.2024, 15:09   #8
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,522
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
Не ясна конечная цель.
там скорее всего торговля картинками, типа размытый предпросмотр голых жоп.
типа попытки первоначальные реализовать, чуть позже будет похожая тема в разделе PHP или Perl )
Хотя и на делфи можно сервер поднять для обработки.
Alar вне форума Ответить с цитированием
Старый 26.02.2024, 15:59   #9
DIONISKA
Форумчанин
 
Регистрация: 07.11.2011
Сообщений: 161
По умолчанию

Если нужно именно прозрачность, то можно разместить Timage на панели, и сделать как в прикреплении. Через alphablend и изменения стиля. Но это из разряда как нельзя и не стоит. (Щас набегут злые дядьки и обьяснят почему :D)
А вообще лучше использовать graphics32, там прозрачность, размытие и тп из коробки, а изображения хранить отдельно, где-нибудь в TDictionary<Integer,TPicture> или Tbitmap32List и отрисовывать их в onpaint с затенением/прозрачностью/размытием или оригинал.
Цитата:
торговля картинками
Вроде ещё раньше ТС когда-то пилил свой "мегакомбайн для изображений" с блэкджеком и тп Типа не устраивали аналоги вроде xnview/convert, picasa и тп
Вложения
Тип файла: 7z AlphaBldend.7z (868.3 Кб, 1 просмотров)
DIONISKA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как сделать изображение в монохроме ChestIotVaga Помощь студентам 1 10.04.2023 14:01
Сделать image полупрозрачным AlexDn Общие вопросы Delphi 4 11.12.2014 06:46
как сделать изображение-карту? незнайка_на_земле HTML и CSS 6 18.11.2011 21:34
Как сделать чтбо изображение уменьшалось? seo-romka HTML и CSS 4 21.02.2011 21:01
Как сделать изображение резиновым Diman2008 HTML и CSS 4 16.10.2008 23:46