Главная страница
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.024 c
8-47603
CaspeRForeveR
2002-03-04 14:59
2002.07.15
Подскажите где можно скачать RxRichEdit.????


3-47108
Wolverin
2002-06-21 11:30
2002.07.15
Просто БД


1-47250
Gamar
2002-06-29 10:09
2002.07.15
Передача значения от модального окна


3-47173
Dorosh
2002-06-19 12:08
2002.07.15
Вставка файла в таблицу


1-47437
Марина
2002-07-03 09:18
2002.07.15
Windows XP и MessageDlg