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

Вниз

Глубина цвета картинки   Найти похожие ветки 

 
Gu   (2011-04-26 17:52) [0]

Допустим в image1 загружена картинка (один из форматов bmp,jpg,png,gif и тп). Как узнать картинкину цветность? Пробовал через tPixelFormat но это только для bmp работает..


 
clickmaker ©   (2011-04-26 18:00) [1]

у класса-наследника TGraphic может быть переопределенное (или свое) свойство для этого


 
oldman ©   (2011-04-26 18:53) [2]


> Допустим в image1 загружена картинка (один из форматов bmp,
> jpg,png,gif и тп).


Я что-то пропустил? Как ты в TImage gif загнал?

По сабжу - что значит "загружена". То есть есть сама картинка? Ссылку на код заголовков дать или сам?


 
Amoeba_   (2011-04-26 20:18) [3]


> oldman ©   (26.04.11 18:53) [2]
>
>
> > Допустим в image1 загружена картинка (один из форматов
> bmp,
> > jpg,png,gif и тп).
>
>
> Я что-то пропустил? Как ты в TImage gif загнал?
>

Если подключить библиотеку GraphicEx, то TImage станет понимать и gif, и массу других форматов.


 
Palladin ©   (2011-04-26 20:27) [4]


> Как узнать картинкину цветность?

Смысл? Фактически формат "пикселей" есть только у Bitmap. У gif палитра в заголовке, у png может быть несколько слоев, jpg (помоему, не уверен) всегда 32, у него термин "пиксель" то не очень применим.


 
han_malign   (2011-04-27 09:25) [5]


> (помоему, не уверен) всегда 32, у него термин "пиксель" то не очень применим.

- обычно 24, термин пиксель не применим к любому сжатому формату(gif - сжат LZW, PNG - несколько схем дельта-кодирования и deflate(LZ77), JPEG(+2000,+losless) - в зависимости от версии - косинус-преобразование, вейвлеты и/или deflate)...

В общем случае у TImage есть только DDB поверхность глубина цвета которой совпадает с экраном (GetDeviceCaps(image.Canvas.Handle, BITSPIXEL) * GetDeviceCaps(image.Canvas.Handle, PLANES)).
Хотя иногда по (image.Picture.Graphic.Palette <> 0) можно сделать вывод, что глубина цвета источника соответствует количеству элементов палитры pal_count:=GetPaletteEntries(image.Picture.Graphic.Palette, 0, 0, nil);, но - в некоторых случаях, этот вывод может быть ошибочным, т.к. контейнер с полноцветным изображением также может содержать - рекомендованную палитру(для оптимизации на древне-мохнатых(или сильно-портативных) железяках)...



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

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

Наверх





Память: 0.45 MB
Время: 0.003 c
6-1240235052
kotyara
2009-04-20 17:44
2011.07.31
Скорость передачи строк через TTcpServer - TTcpClient


15-1302428314
ddd329
2011-04-10 13:38
2011.07.31
С Win32 на .NET


2-1303655524
istok
2011-04-24 18:32
2011.07.31
TSemaphore в Delphi7


15-1302772506
Дмитрий С
2011-04-14 13:15
2011.07.31
Какова вероятность, что два случайных числа равны.


2-1302768161
DelphiN!
2011-04-14 12:02
2011.07.31
TSQL вычитание NULLa





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский