Главная страница
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.013 c
3-47149
Lega
2002-06-20 08:00
2002.07.15
В чём преимущевство dBase, FoxPro или других???


1-47499
Извращенец
2002-06-26 21:16
2002.07.15
Про файлы


14-47787
Дмитрий Баранов
2002-06-11 10:05
2002.07.15
Ленинградцы, помогите:)


3-47197
GrEG
2002-06-11 09:30
2002.07.15
Ограничение на длину индексируемого поля DBASE


1-47320
Flud
2002-07-01 11:56
2002.07.15
Просто