Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.08.24;
Скачать: [xml.tar.bz2];

Вниз

TImage сделать черно-белым   Найти похожие ветки 

 
Alexey   (2008-07-16 11:13) [0]

Уважаемые мастера, подскажите как сделать это программно?


 
{RASkov} ©   (2008-07-16 11:23) [1]

> черно-белым

Может: Image.Picture.Bitmap.Monochrome:=True;
? :)


 
Renegat   (2008-07-16 11:24) [2]

Сложить R, G и B каналы, поделить полученное на три, и заполнить получившимся значением эти каналы. Вынужден огорчить - готовой функции, как в предыдущем треде, в GDI нет.


 
Renegat   (2008-07-16 11:26) [3]

> Image.Picture.Bitmap.Monochrome:=True;

Ух ты, ё-моё... я всегда недооценивал ВЦЛ =(


 
Alexey   (2008-07-16 11:30) [4]

Почему-то оба способа делают Image невидимым...(


 
{RASkov} ©   (2008-07-16 11:54) [5]

> делают Image невидимым...(

Фантастика :)

> [4] Alexey   (16.07.08 11:30)

Показывай как делал и говори что в контейнере у имагеса лежит... т.е. что загружено в Image (какого формата рисунок).


 
Alexey   (2008-07-16 12:02) [6]

Слушай, а может это от того, что картинки у меня в формате .ico?
В контейнере и image ничего нет, он лежит на панели, растянут.


 
{RASkov} ©   (2008-07-16 12:21) [7]

> [6] Alexey   (16.07.08 12:02)
> картинки у меня в формате .ico

Ага, TIcon, а в [1] для TBitmap"а

> В контейнере и image ничего нет, он лежит на панели, растянут.

Кого-кого на панели растянули? :)

Контейнер у имагеса это - Image.Picture

Короче у тебя кто-то растянут на панели, а в это время ты хочешь сделать чернобелым TImage.
Как тебя понимать?


 
DVM ©   (2008-07-16 12:23) [8]


> Renegat   (16.07.08 11:24) [2]


> Сложить R, G и B каналы, поделить полученное на три, и заполнить
> получившимся значением эти каналы.

Это можно, но не совсем верно. Есть специальная формула для пересчета. Там коэффициенты для разных каналов разные.


 
Alexey   (2008-07-16 12:28) [9]

2 {RASkov} :

ну сделано так: есть 48 объектов TImage на форме, в каждое из них загружено цветное изображение в формате ICO (загружено в среде, не программно).

В зависимости от разных параметров от одного до 48 TImage должны меняться на черно-белые.

Реально?

2 DVM:

Преобразование к оттенкам серого заключается в получении яркости каждой точки по известной формуле (Y:=0.3*R+0.59*G+0.11*B) и последующем копировании полученного значения по все три канала (R=G=B:=Y).

Вроде вот так)


 
{RASkov} ©   (2008-07-16 12:51) [10]

> [9] Alexey   (16.07.08 12:28)
> Реально?

А почему нет? конечно реально.
Простой вариант: иконки конвертнуть в битмапы. Или твоя программа работает именно с форматом ICO?


 
Alexey   (2008-07-16 13:12) [11]

Не, можно конвертировать, но только 48 картинок долго, я уже думал над этим, хотя ведь можно программно сохранять bmp, делать его ЧБ,а потом удалять эти временные bmp.


 
{RASkov} ©   (2008-07-16 13:16) [12]

> [11] Alexey   (16.07.08 13:12)
> можно конвертировать, но только 48 картинок долго

меньше секунды :)


 
Alexey   (2008-07-16 13:35) [13]

Все, сделал) спасибо!


 
brother ©   (2008-07-16 14:02) [14]

> (16.07.08 13:16)


> (16.07.08 13:35)

дольше однако)))



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

Форум: "Начинающим";
Текущий архив: 2008.08.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.04 c
15-1215033148
Германн
2008-07-03 01:12
2008.08.24
Стоит ли серьёзно относится к исходникам, где встречается


2-1216129529
ЗФдЗФднсп
2008-07-15 17:45
2008.08.24
Освобождение .xls файла


2-1216300512
Scary
2008-07-17 17:15
2008.08.24
внешний вид моего файла


2-1215876002
Zhekson
2008-07-12 19:20
2008.08.24
Перевернуть изображение


15-1215396749
Slider007
2008-07-07 06:12
2008.08.24
С днем рождения ! 7 июля 2008 понедельник





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский