Главная страница
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.014 c
3-91997
vitas2
2003-08-01 16:00
2003.08.28
Server


3-91973
Петров Денис
2003-08-06 17:00
2003.08.28
is not a valid timestamp


3-92049
Relaxxx
2003-08-04 12:05
2003.08.28
Почему придобавлении строки в таблицу строка добавляется но Делфи


7-92285
Федя
2003-06-10 15:48
2003.08.28
Не работает ExitWindowsEx(EWX_FORCE+EWX_REBOOT,0)


3-92032
KLOPs
2003-08-03 16:27
2003.08.28
Как открыть справочник в таком случае ...