Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.008 c
3-91992
Rol
2003-08-06 09:06
2003.08.28
Аналог MIDAS под Unix?


3-92063
syte_ser78
2003-08-02 12:17
2003.08.28
связь treeview и таблицы


1-92098
Viktor Kushnir
2003-08-15 15:29
2003.08.28
Нажание клавиши


3-92066
Berezne
2003-08-02 00:30
2003.08.28
Вопрос по DBCombobox????


4-92306
Pavel74
2003-06-28 17:33
2003.08.28
Kак открыть файлы в свое приложение как это делает winamp?




   Наверх