Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.07.31;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.005 c
2-1303825966
Gu
2011-04-26 17:52
2011.07.31
Глубина цвета картинки


2-1303502928
istok
2011-04-23 00:08
2011.07.31
EndOfTheDay...


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


1-1261051643
harisma
2009-12-17 15:07
2011.07.31
Название целевой директории в формате DOS