Главная страница
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.011 c
7-15337
smok_er
2002-10-27 12:43
2003.01.06
Как определить, запущен ли определенный файл?


4-15365
Stainer
2002-11-19 16:36
2003.01.06
Клик по popup menu


1-15007
urza
2002-12-24 13:53
2003.01.06
WinRar


1-15137
Opryshok
2002-12-23 14:37
2003.01.06
не меняется CharSet


1-15062
Ozone
2002-12-25 10:18
2003.01.06
TEdit