Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.15;
Скачать: CL | DM;

Вниз

Как работать с pf8bit без ScanLine?   Найти похожие ветки 

 
PaulB ©   (2002-03-07 01:54) [0]

Задача:
Имеется Bmp:TBitmap;
Bmp.PixelFormat:=pf8bit;
Я задаю свою палитру (хотя что задаёшь, что не задаёшь - результат один)

При попытке что-либо нарисовать средствами Canvas (скажем,
FillRect, LineTo и т.д.) элементы рисуются так, как будто
установлен формат pf4bit, а именно, каждая компонента
цвета (TColor) - R,G и B как будто делится пополам, т.е.
от 00 до 7F рисуется как чёрный цвет
от 80 до FF рисуется как полностью включённый (FF) красный,
зелёный или синий цвета соответственно.
То есть, я не могу задать, скажем, серый цвет, несмотря на то,
что в палитру я такой цвет добавил - получается либо чёрный,
либо белый. Аналогично с любыми другими полутонами.

Можно, конечно, работать через ScanLine, но скажите пожалуйста,
как мне тогда сделать то, что делает, например, метод
TCanvas.LineTo (в произвольном направлении) или Ellipse без
потери производительности?


 
MBo ©   (2002-03-07 06:45) [1]

если у тебя несистемная палитра, для рисования стоит использовать только цвета из нее.
GetPaletteEntries
GetDIBColorTable
Если ты сам ее задавал, то у тебя уже есть таблица "правильных" цветов


для альтернативного рисования - алгоритмы Брезенхема



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

Текущий архив: 2002.07.15;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.031 c
14-47707
Windeus
2002-06-18 00:30
2002.07.15
RXLibrary


1-47428
Explorer
2002-07-03 09:16
2002.07.15
Как зарегистрировать EhLib?


1-47443
N A N
2002-06-27 08:49
2002.07.15
Почему изменяется размер формы....


1-47396
Андрусь
2002-07-01 12:51
2002.07.15
Подскажите message


3-47170
roman001
2002-06-18 20:59
2002.07.15
RxMemoryData