Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Звук, графика и видео > RGB24 to RGB32


Автор: Exai1e 16.3.2008, 00:19
Здрасте, возник вопрос:
Как можно переконвертировать RGB24 bit в RGB32 bit ? в библиотеке ipp такой функции не нашел. В гугле тож чтото глухо
Спасибо.

Автор: VICTAR 16.3.2008, 00:21
Переконвертировать что? Цвет?

Добавлено через 31 секунду
Если можно, то конкретный пример.

Автор: Exai1e 16.3.2008, 01:10
Цитата

Переконвертировать что? Цвет?

угумс

ну например есть изображение с палитрой rgb24 а надо из него сделать rgb32 добавив альфа канал =)

Автор: VICTAR 16.3.2008, 01:14
Опять же не совсем понял... 
Цитата

tagRGBTRIPLE = packed record
    rgbtBlue: Byte;
    rgbtGreen: Byte;
    rgbtRed: Byte;
  end;

Цитата

 tagRGBQUAD = packed record
    rgbBlue: Byte;
    rgbGreen: Byte;
    rgbRed: Byte;
    rgbReserved: Byte;
  end;

Как отсюда видно разница только в добавлении 4 байта(прозрачности)

Добавлено через 3 минуты и 17 секунд
Вот пример перекодировки битмапки
Код

with TBitmap.Create do
    try
      LoadFromFile('путь');
      PixelFormat := pf32Bit;
      SaveToFile('путь');
    finally
      Free;
    end;

Автор: Exai1e 16.3.2008, 01:58
Код

with TBitmap.Create do
    try
      LoadFromFile('путь');
      PixelFormat := pf32Bit;
      SaveToFile('путь');
    finally
      Free;
    end;


что так сделать можно это и ежу понятно smile меня интерисует быстрая функция

Автор: VICTAR 16.3.2008, 11:15
Это медленно? 
Или ты хочешь вручную переделать? 
ЗЫ тебе надо конкретно с битмапом?

Автор: Exai1e 16.3.2008, 14:26
Цитата

ЗЫ тебе надо конкретно с битмапом? 


нет, необязательно smile

Автор: Alexeis 16.3.2008, 14:50
Цитата(VICTAR @  16.3.2008,  00:14 Найти цитируемый пост)
Как отсюда видно разница только в добавлении 4 байта(прозрачности)

  Ну и в заголовке небольшие изменения. Нужно прочитать файловый заголовок, затем информационный, подправить в файловом заголовке размер файла, в информационном битность и далее читать строки битмапа. В строке каждый пиксель это 3 байта, значит после записи 3х байтов дописывать 1 пустой.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)