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

Вниз

Как не зависеть от кол. цветов Descktop а ?   Найти похожие ветки 

 
Ascan_   (2002-09-18 14:30) [0]

Есть код:

bmp:= TBitmap.Create;
jpg := TJpegImage.Create;
jpg.LoadFromFile("file.jpg");
bmp.Assign(jpg);
jpg.free;

bmp.Canvas.Pixels[1,1]:= $707070;


Так вот: если у тебя выставлено Hicolor (16bit) на экране, то по адресу [1,1] будет лежать действительно $707070.
А если у тебя стоит 256 цветов, то и мечтать не стоит о том, что вычитаешь записаное. В данном случае вычитаешь $777777...
Что порекомендуете?


 
MBo ©   (2002-09-18 14:43) [1]

создать в bitmap свою 256-цветную палитру, например, с помощью SetDIBColorTable


 
Ascan_   (2002-09-18 14:55) [2]

MBo,
А как сделать так, чтобы работать с палитрой, записанной в файле "file.jpg"? Дело в том, что я хочу рабоать с оригинальными цветами картинки.
А то получается, что картинка 16мил. цв., а загружаю ее, а она уже с палитрой в 256 цветов.


 
MBo ©   (2002-09-18 15:14) [3]

bitmap.pixelformat:=pf24bit;
после этого вставляй туда Jpeg

procedure TForm1.Button1Click(Sender: TObject);
var
j:tjpegimage;
b:tbitmap;
begin
j:=tjpegimage.create;
b:=tbitmap.create;
j.loadfromfile("e:\4.jpg");
b.assign(j);
b.pixelformat:=pf24bit;/// если это убрать, то
//в 256-цветном режиме в label1 будет 3, т.е. pf8bit -
image1.picture.assign(b);
label1.caption:=IntToStr(integer(b.pixelformat));
end;


 
Ascan_   (2002-09-18 15:27) [4]

MBo,
Работает... Почему-то я не удевлен.
Но зато, если бы все читали литературу, не было этого Форума! :-)
Спасибо.



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

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

Наверх




Память: 0.47 MB
Время: 0.018 c
6-15199
Di_wind
2002-11-08 14:34
2003.01.06
Старая тягомотина(WebBrowser)


7-15328
Anar
2002-10-16 21:58
2003.01.06
Насчёт клавиатуры


1-15087
Костяну
2002-12-22 12:38
2003.01.06
инженерная дорожка


1-15072
ИгорьК
2002-12-24 14:10
2003.01.06
Завершение работы программы


7-15336
SeF
2002-10-28 11:03
2003.01.06
service