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

Вниз

Мастера, а щас применяют 15bpp BITMAP   Найти похожие ветки 

 
Igor__ ©   (2003-08-09 15:31) [0]

Вот написал код перевода с 16BPP в 15BPP. Ни одна программа не прочитала правильно картинку.
Может, я неправильно что-то делаю.

procedure TForm1.Button1Click(Sender: TObject);
var
f,f1:Cardinal;
fh:TBitmapFileHeader;
bi:TBitmapInfoHeader;
i,j:Cardinal;
a:word;
r,g,b:byte;
ost:cardinal;
begin
F:=FileOpen(Edit1.Text,FmOpenread);
f1:=Filecreate(Edit2.Text);
FileRead(f,fh,sizeOf(fh));
FileRead(f,bi,sizeOf(bi));

bi.biCompression:=0;

FileWrite(f1,fh,sizeOf(fh));
FileWrite(f1,bi,sizeOf(bi));

ost:=BytesPerScanLine(bi.biWidth,16,32)-bi.biWidth*3;


For i:=0 to bi.biHeight-1 do
begin
For j:=0 to bi.biWidth-1 do
begin
FileRead(f,a,2);
R:=(a and $F800) shr 11;
G:=(a and $7e0) shr 5;
B:=(a and $1f);
G:=32*g div 64;
a:=0;
a:=(R shl 10) or (G shl 5) or B;
FileWrite(f1,a,2);
end;
FileRead(f,a,ost);
( f)
Вот написал код перевода с 16BPP в 15BPP. Ни одна программа не прочитала правильно картинку.
Может, я неправильно что-то делаю.

procedure TForm1.Button1Click(Sender: TObject);
var
f,f1:Cardinal;
fh:TBitmapFileHeader;
bi:TBitmapInfoHeader;
i,j:Cardinal;
a:word;
r,g,b:byte;
ost:cardinal;
begin
F:=FileOpen(Edit1.Text,FmOpenread);
f1:=Filecreate(Edit2.Text);
FileRead(f,fh,sizeOf(fh));
FileRead(f,bi,sizeOf(bi));

bi.biCompression:=0;

FileWrite(f1,fh,sizeOf(fh));
FileWrite(f1,bi,sizeOf(bi));

ost:=BytesPerScanLine(bi.biWidth,16,32)-bi.biWidth*3;


For i:=0 to bi.biHeight-1 do
begin
For j:=0 to bi.biWidth-1 do
begin
FileRead(f,a,2);
R:=(a and $F800) shr 11;
G:=(a and $7e0) shr 5;
B:=(a and $1f);
G:=32*g div 64;
a:=0;
a:=(R shl 10) or (G shl 5) or B;
FileWrite(f1,a,2);
end;
FileRead(f,a,ost);
end;

FileClose(f);
FileClose(f1);
end;


 
Igor__ ©   (2003-08-09 19:20) [1]

16bpp = 5-6-5
15bpp = 5-5-5


 
Anatoly Podgoretsky ©   (2003-08-09 19:22) [2]

У тебя не наблюдается изменение TBitmapInfoHeader


 
Igor__ ©   (2003-08-09 19:26) [3]

bi.biCompression:=0;

BI_RGB=0;//5-5-5
BI_BitFields=3; //5-6-5


 
Igor__ ©   (2003-08-10 04:02) [4]

bi:TBitmapInfoHeader;
:))))



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

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

Наверх




Память: 0.47 MB
Время: 0.008 c
14-92235
Maxja
2003-08-08 11:32
2003.08.28
Меня очень интересует такой вопрос. Можно ли написать программу..


11-92087
SPeller
2002-12-23 14:21
2003.08.28
Вот что значит реклама....


14-92220
Daniel
2003-08-10 12:29
2003.08.28
Процессоры AMD относятся к семейству х86?


11-92088
Ал
2002-12-19 12:58
2003.08.28
KOL OLE RichEdit с рисунками - PBrush сообщает об ошибке


6-92143
comintegrator
2003-06-18 17:59
2003.08.28
udpsocket