Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];

Вниз

изменение палитры   Найти похожие ветки 

 
IgAn   (2004-01-26 09:13) [0]

Помогите, пожалуйста!
гружу файл со шрифтом, палитра такая:

0 r0 g0 b0
1 r0 g28 b0
2 r0 g56 b0
3 r0 g85 b0
4 r0 g113 b0
5 r0 g141 b0
6 r0 g170 b0
7 r0 g198 b0
8 r0 g226 b0
9 r0 g255 b0
10 r255 g255 b255
11 r4 g2 b6
12 r0 g0 b0
13 r0 g0 b0
14 r0 g0 b0
15 r0 g0 b0

хотелось бы менять цвет например с зеленого на красный.
наверное, лучше изменять палитру.
Нашел в FAQ вот это:

procedure TForm1.BitBtn1Click(Sender: TObject);
var
Palette : HPalette;
PaletteSize : Integer;
LogSize: Integer;
LogPalette: PLogPalette;
p: integer;
begin
Palette := Image1.Picture.Bitmap.Palette;
PaletteSize := 0;
if GetObject(Palette, SizeOf(PaletteSize), @PaletteSize) = 0 then Exit;
if PaletteSize = 0 then Exit;
LogSize := SizeOf(TLogPalette) + (PaletteSize - 1) * SizeOf(TPaletteEntry);
GetMem(LogPalette, LogSize);
try
with LogPalette^ do begin
palVersion := $0300; palNumEntries := PaletteSize;
GetPaletteEntries(Palette, 0, PaletteSize, palPalEntry);
// меняю зеленый на красный ?
for p:=0 to 9 do begin
palPalEntry[p].peRed := palPalEntry[p].peGreen;
palPalEntry[p].peGreen := 0;
end;
for p:=0 to 15 do begin
shape[p].Brush.Color:=RGB(palPalEntry[p].peRed,palPalEntry[p].peGreen,palPalEntry[p].peBlue);
end;
end;
Image1.Picture.Bitmap.Palette := CreatePalette(LogPalette^);
finally
FreeMem(LogPalette, LogSize);
DeleteObject(Palette);
end;
end;


А получается ерунда - все элементы палитры - черные
Может как-то по другому легче менять цвет, подскажите...


 
Igan   (2004-01-26 10:59) [1]

Спасибо!



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

Форум: "Основная";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.042 c
14-16592
Лев
2004-01-15 15:41
2004.02.06
Помогите плиз, проблема с сетью.


1-16427
goliath
2004-01-22 10:52
2004.02.06
Иконки


3-16181
Balepa
2004-01-13 23:41
2004.02.06
Запросы


14-16677
gishu
2003-12-29 08:50
2004.02.06
SFX на KOL


3-16161
Vitalik
2004-01-14 13:30
2004.02.06
перехват данных





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский