| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Звук, графика и видео > Как изменить Palette в BitMap |
| Автор: lexaltd 27.11.2008, 21:59 |
| У меня такая проблема: Мне надо загрузить рисунок (рисунок чёрно - белый) в BitMap , а потом в Image.Picture и рисовать на Image.Picture и при этом все изменения сохраняются в источнике BitMap. Загружаю так: source1.LoadFromFile(OpenPictureDialog1.FileName); Image3.Picture.Assign(source1); Но при рисование цвета только белый, чёрный , и оттенки серого У рисунка палитра - Inclexecl Color. Вопрос: Как мне BitMap(с загруженым в него рисунком с палитрой Inclexecl Color) переделать Palette в RGB ??? Я в этом не сильно разбираюсь , если можно оъяснить на примере , в инете нашёл пару статей , но так ине смог раздуплится. Зарание спасибо. P.S. Пробывал так выводить Image3.Canvas.Draw(0,0,source1); , но при Image3.Canvas.Pen.Width равном больше 5 начинаются рывки при рисованиии примитивов |
| Автор: Alexeis 27.11.2008, 22:29 |
| У битмапа есть свойство PixelFormat. Если его установить в Pf24Bit и потом сохранить в файл то автоматически скорвертируется |
| Автор: AntonN 27.11.2008, 23:18 |
| а можно и в pf32bit выставить только операция скорее односторонняя, из 32 битного в 1 (или 8) битный путем выставления pf*bit будет очень убого |
| Автор: lexaltd 27.11.2008, 23:18 |
| Alexeis Огромное спасибо , помогло. Сделал так : source1.LoadFromFile(OpenPictureDialog1.FileName); source1.PixelFormat := pf24bit; Image3.Picture.Assign(source1); И сразу рисует цветом , без сохранения в файл |