Вниз
Скачать: CL | DM;

Изображения с палитрой   Найти похожие ветки 

← →
Grief ©   (2005-09-28 16:09) [0]

Я делаю dllку, позволяющую работать быстро и просто с графикой. В частности для использования совместно с с++. Есть пара вопросов:
1. В файлах, глубина цвета которых менее или равна 8 битам имеется палитра - массив, равный количеству цветов, состоящий из 32-битных значений RGB для каждого из цветов. Необходимо ли преобразовывать загруженную картинку в соответствии с палитрой вручную, что приведет к тому, что она будет храниться в памяти как 24-х битная, либо это происходит как-то более продвинуто? Может преобразовывать только при обращениях к изображению? Тогда это может замедлить процесс...
2. Как я заметил, TBitmap из стандартной VCL Graphics после загрузки таких изображений не позволяет изменять их так же, как и изображения без палитры, к примеру
var B: TBitmap;
begin
 B := TBitmap.Create;
 B.PixelFormat := pf8bit;
 B.Canvas.Ellipse(0,0, 1000, 1000);
 B.LoadFromFile("C:\8.bmp");
 Form1.Canvas.Draw(0, 0, B);
 B.Destroy;

Работает, если картинка 24-х битная, но не работает если 256-ти цветная. Почему?


← →
Кефир87 ©   (2005-09-28 16:44) [1]


> работать быстро и просто

С помощью TBitmap? А в чем тогда смысл создавать длл? И вообще у битмата простая структура, можно и без компонентов с ним работать. Тогда точно будет быстро. goto google.com


← →
Grief ©   (2005-09-29 04:14) [2]

нет,я не использую TBitmap - модуль Graphics значительно бы увеличил размер библиотеки. И я знаю, что работать с ним просто, но отнюдь не быстро, ибо я думаю, всем известны недостатки VCL Delphi! А спросил я для того, чтобы узнать, как хранить в память изображения с палитрой, приводить ли их к полноцветным или нет?


← →
Думкин ©   (2005-09-29 06:18) [3]

http://www.delphimaster.ru/articles/pixels/index.html
для начала


← →
Grief ©   (2005-09-29 12:23) [4]

Да прочитал я это, но я ж сказал, что
>я не использую TBitmap
я гружу файл из *.bmp, но если в нем, к примеру 256 цветов, картинка выводится со съеханными цветами. Надо вручную переправлять для каждого пиксела или можно указать при выводе как-то? Если да, то как?


← →
Grief ©   (2005-09-29 19:16) [5]

Поднимем вопрос повыше в списке :)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.024 c
2-1127661167
тринитротолуол
2005-09-25 19:12
2005.10.23
Как сделать так чтобы моя форма была всегда поверх всех окон?


14-1128431580
pasha_golub
2005-10-04 17:13
2005.10.23
Бета-тестирование ER Дизайнера for PostgreSQL


2-1127917286
slaga
2005-09-28 18:21
2005.10.23
Проблемы с почтовым клиентом


1-1128152033
Иванов__
2005-10-01 11:33
2005.10.23
Как в DHTML вставить текст


14-1127891845
pasha_golub
2005-09-28 11:17
2005.10.23
Инет в Одессе




   Наверх