Перейти к содержимому

Фотография

Проблемы с изменением глубины цвета сохраняемых BMP


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1 frett

frett

    Новый участник

  • Members
  • Pip
  • 29 сообщений
  • ФИО:Alfred
  • Город:SPb

Отправлено 05 мая 2009 - 09:27

привет

Есть такой код
[codebox]
var picture = MyWindow.Picture( x, y, width, height );
....
var imageCfg = picture.CreatePictureConfiguration ("BMP");
imageCfg.ColorDepth = 16;
picture.SaveToFile( fileName, imageCfg );[/codebox]

В итоге созданный BMP получается 32-х битный, а не 16-ти как ожидалось.
Значения color depth 8 и 24 срабатывают нормально.
Пробовал также менять цветовые настройки Windows на 16bit color и сохранять картинку с color depth = 0 (дефолтная палитра) - все равно итоговый файл 32 бита.

Это баг TestComplete или есть какая-нибудь хитрость?
Подскажите, как можно обойти этот косяк и получить то что хочется.

Спасибо
  • 0

#2 Dmitry N

Dmitry N

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 742 сообщений
  • ФИО:Николаев Дмитрий
  • Город:Где-то в России

Отправлено 06 мая 2009 - 04:00

Здравствуйте.

А почему вы решили, что он 32-битный? Я сейчас попробовал этот код - если в Висте открыть свойства полученного файла (правой кнопкой на файл, Properties и закладка Details), то там будет написано что файл 16-битный.
  • 0
С уважением,
Дмитрий

#3 frett

frett

    Новый участник

  • Members
  • Pip
  • 29 сообщений
  • ФИО:Alfred
  • Город:SPb

Отправлено 06 мая 2009 - 07:07

Здравствуйте.

А почему вы решили, что он 32-битный? Я сейчас попробовал этот код - если в Висте открыть свойства полученного файла (правой кнопкой на файл, Properties и закладка Details), то там будет написано что файл 16-битный.


Дмитрий, спасибо за ответ

Забыл тут отписать, что разобрался и проблема оказалась в Win XP.

Я так же кликал правой кнопкой по файлу и открывал Properties\Summary.
Так вот, по странному стечению обстоятельств, винда для 4, 8, 24, 32 битных битмапов показывает верный Bit Depth, а для 16-ти битных - 32.
Если открыть тот же файл в IrfanView и посмотреть image info, то там все честно - 16 BitsPerPixel. Ну и по размерам файла тоже видно, что 16-ти битники в 2 раза меньше чем 32-х.
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных