Главная страница
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.008 c
15-1302710075
R_R
2011-04-13 19:54
2011.07.31
Screen Dos приложения


15-1302506523
DiamondShark
2011-04-11 11:22
2011.07.31
Modernization, innovation, vperde!


8-1213608349
НаТаШа
2008-06-16 13:25
2011.07.31
Как использовать своё оформление ScrollBar TrackBar


15-1302502293
OW
2011-04-11 10:11
2011.07.31
Как они загружают EXE в temporary internet file и запускают их?


15-1302588303
OW
2011-04-12 10:05
2011.07.31
Задача определения региона по номеру позвонившего