![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Глубина цвета картинки
Gu © (2011-04-26 17:52:00)Допустим в image1 загружена картинка (один из форматов bmp,jpg,png,gif и тп). Как узнать картинкину цветность? Пробовал через tPixelFormat но это только для bmp работает..
han_malign (2011-04-27 09:25:00) [1]
> (помоему, не уверен) всегда 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);, но - в некоторых случаях, этот вывод может быть ошибочным, т.к. контейнер с полноцветным изображением также может содержать - рекомендованную палитру(для оптимизации на древне-мохнатых(или сильно-портативных) железяках)...
Palladin (2011-04-26 20:27:00) [2]
> Как узнать картинкину цветность?
Смысл? Фактически формат "пикселей" есть только у Bitmap. У gif палитра в заголовке, у png может быть несколько слоев, jpg (помоему, не уверен) всегда 32, у него термин "пиксель" то не очень применим.
Amoeba_ (2011-04-26 20:18:00) [3]
> oldman © (26.04.11 18:53) [2]
>
>
> > Допустим в image1 загружена картинка (один из форматов
> bmp,
> > jpg,png,gif и тп).
>
>
> Я что-то пропустил? Как ты в TImage gif загнал?
>
Если подключить библиотеку GraphicEx, то TImage станет понимать и gif, и массу других форматов.
oldman (2011-04-26 18:53:00) [4]
> Допустим в image1 загружена картинка (один из форматов bmp,
> jpg,png,gif и тп).
Я что-то пропустил? Как ты в TImage gif загнал?
По сабжу - что значит "загружена". То есть есть сама картинка? Ссылку на код заголовков дать или сам?
clickmaker (2011-04-26 18:00:00) [5]у класса-наследника TGraphic может быть переопределенное (или свое) свойство для этого