![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TImage сделать черно-белым
Alexey © (2008-07-16 11:13:00)Уважаемые мастера, подскажите как сделать это программно?
brother (2008-07-16 14:02:00) [1]> (16.07.08 13:16)
> (16.07.08 13:35)
дольше однако)))
Alexey (2008-07-16 13:35:00) [2]Все, сделал) спасибо!
{RASkov} (2008-07-16 13:16:00) [3]> [11] Alexey (16.07.08 13:12)
> можно конвертировать, но только 48 картинок долго
меньше секунды :)
Alexey (2008-07-16 13:12:00) [4]Не, можно конвертировать, но только 48 картинок долго, я уже думал над этим, хотя ведь можно программно сохранять bmp, делать его ЧБ,а потом удалять эти временные bmp.
{RASkov} (2008-07-16 12:51:00) [5]> [9] Alexey (16.07.08 12:28)
> Реально?
А почему нет? конечно реально.
Простой вариант: иконки конвертнуть в битмапы. Или твоя программа работает именно с форматом ICO?
Alexey (2008-07-16 12:28:00) [6]2 {RASkov} :
ну сделано так: есть 48 объектов TImage на форме, в каждое из них загружено цветное изображение в формате ICO (загружено в среде, не программно).
В зависимости от разных параметров от одного до 48 TImage должны меняться на черно-белые.
Реально?
2 DVM:
Преобразование к оттенкам серого заключается в получении яркости каждой точки по известной формуле (Y:=0.3*R+0.59*G+0.11*B) и последующем копировании полученного значения по все три канала (R=G=B:=Y).
Вроде вот так)
DVM (2008-07-16 12:23:00) [7]
> Renegat (16.07.08 11:24) [2]
> Сложить R, G и B каналы, поделить полученное на три, и заполнить
> получившимся значением эти каналы.
Это можно, но не совсем верно. Есть специальная формула для пересчета. Там коэффициенты для разных каналов разные.
{RASkov} (2008-07-16 12:21:00) [8]> [6] Alexey (16.07.08 12:02)
> картинки у меня в формате .ico
Ага, TIcon, а в [1] для TBitmap'а
> В контейнере и image ничего нет, он лежит на панели, растянут.
Кого-кого на панели растянули? :)
Контейнер у имагеса это -Image. Picture
Короче у тебя кто-то растянут на панели, а в это время ты хочешь сделать чернобелым TImage.
Как тебя понимать?
Alexey (2008-07-16 12:02:00) [9]Слушай, а может это от того, что картинки у меня в формате .ico?
В контейнере и image ничего нет, он лежит на панели, растянут.
{RASkov} (2008-07-16 11:54:00) [10]> делают Image невидимым...(
Фантастика :)
> [4] Alexey (16.07.08 11:30)
Показывай как делал и говори что в контейнере у имагеса лежит... т.е. что загружено в Image (какого формата рисунок).
Alexey (2008-07-16 11:30:00) [11]Почему-то оба способа делают Image невидимым...(
Renegat (2008-07-16 11:26:00) [12]> Image.Picture.Bitmap.Monochrome:=True;
Ух ты, ё-моё... я всегда недооценивал ВЦЛ =(
Renegat (2008-07-16 11:24:00) [13]Сложить R, G и B каналы, поделить полученное на три, и заполнить получившимся значением эти каналы. Вынужден огорчить - готовой функции, как в предыдущем треде, в GDI нет.
{RASkov} (2008-07-16 11:23:00) [14]> черно-белым
Может:Image.Picture.Bitmap.Monochrome:=True;
? :)