Главная страница
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.01 c
8-92121
Blacked
2003-04-15 18:38
2003.08.28
...при наведении на клавишу - звуковой синал???...


3-92010
GreatMaster
2003-08-05 09:16
2003.08.28
TIBClientDataset


1-92110
Andrew
2003-08-15 11:49
2003.08.28
Как в динамике задавать размеры поля Field1 записи TRecord?


3-92001
rosl
2003-08-05 03:10
2003.08.28
запрос sql


3-92004
digester
2003-08-05 20:59
2003.08.28
Проблема подтверждения кэшированных изменений в IBQuery