Fix bmp saving.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1195 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
parent
60d85deb41
commit
026e9c358e
@ -984,16 +984,16 @@ void Save_LBM(void)
|
||||
typedef struct
|
||||
{
|
||||
word Signature; // ='BM' = 0x4D42
|
||||
dword Size_1; // =Taille du fichier
|
||||
word Reserved_1; // =0
|
||||
word Reserved_2; // =0
|
||||
dword Offset; // Nb octets avant les données bitmap
|
||||
dword Size_1; // file size
|
||||
word Reserved_1; // 0
|
||||
word Reserved_2; // 0
|
||||
dword Offset; // Offset of bitmap data start
|
||||
|
||||
dword Size_2; // =40
|
||||
dword Size_2; // 40
|
||||
dword Width;
|
||||
dword Height;
|
||||
word Planes; // =1
|
||||
word Nb_bits; // =1,4,8 ou 24
|
||||
word Planes; // 1
|
||||
word Nb_bits; // 1,4,8 ou 24
|
||||
dword Compression;
|
||||
dword Size_3;
|
||||
dword XPM;
|
||||
@ -1170,8 +1170,10 @@ void Load_BMP(void)
|
||||
case 0 : // Pas de compression
|
||||
line_size=Main_image_width;
|
||||
x_pos=(32/header.Nb_bits); // x_pos sert de variable temporaire
|
||||
// On arrondit line_size au premier multiple de x_pos supérieur
|
||||
if (line_size % x_pos)
|
||||
line_size=((line_size/x_pos)*x_pos)+x_pos;
|
||||
// On convertit cette taille en octets
|
||||
line_size=(line_size*header.Nb_bits)>>3;
|
||||
|
||||
buffer=(byte *)malloc(line_size);
|
||||
@ -1452,7 +1454,9 @@ void Save_BMP(void)
|
||||
// Ouverture du fichier
|
||||
if ((file=fopen(filename,"wb")))
|
||||
{
|
||||
if (Main_image_width & 7)
|
||||
|
||||
// Image width must be a multiple of 4 bytes
|
||||
if (Main_image_width & 3)
|
||||
line_size=((Main_image_width >> 3)+1) << 3;
|
||||
else
|
||||
line_size=Main_image_width;
|
||||
@ -1465,8 +1469,8 @@ void Save_BMP(void)
|
||||
header.Size_1 =(line_size*Main_image_height)+1078;
|
||||
header.Reserved_1 =0;
|
||||
header.Reserved_2 =0;
|
||||
header.Offset =1078;
|
||||
header.Size_2 =40;
|
||||
header.Offset =1078; // Size of header data (including palette)
|
||||
header.Size_2 =40; // Size of header
|
||||
header.Width =Main_image_width;
|
||||
header.Height =Main_image_height;
|
||||
header.Planes =1;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user