mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-04 02:42:49 -04:00
add bmp-bpp
This commit is contained in:
parent
04334687dd
commit
f612d6c510
@ -94,6 +94,11 @@ const int jpeg_quality = config_pnmimagetypes.GetInt("jpeg-quality", 95);
|
|||||||
const int jpeg_scale_num = config_pnmimagetypes.GetInt("jpeg-scale-num", 1);
|
const int jpeg_scale_num = config_pnmimagetypes.GetInt("jpeg-scale-num", 1);
|
||||||
const int jpeg_scale_denom = config_pnmimagetypes.GetInt("jpeg-scale-denom", 1);
|
const int jpeg_scale_denom = config_pnmimagetypes.GetInt("jpeg-scale-denom", 1);
|
||||||
|
|
||||||
|
// This controls how many bits per pixel are written out for BMP
|
||||||
|
// files. If this is zero, the default, the number of bits per pixel
|
||||||
|
// is based on the image.
|
||||||
|
const int bmp_bpp = config_pnmimagetypes.GetInt("bmp-bpp", 0);
|
||||||
|
|
||||||
ConfigureFn(config_pnmimagetypes) {
|
ConfigureFn(config_pnmimagetypes) {
|
||||||
init_libpnmimagetypes();
|
init_libpnmimagetypes();
|
||||||
}
|
}
|
||||||
|
@ -48,6 +48,8 @@ extern const int jpeg_quality;
|
|||||||
extern const int jpeg_scale_num;
|
extern const int jpeg_scale_num;
|
||||||
extern const int jpeg_scale_denom;
|
extern const int jpeg_scale_denom;
|
||||||
|
|
||||||
|
extern const int bmp_bpp;
|
||||||
|
|
||||||
enum IMGHeaderType {
|
enum IMGHeaderType {
|
||||||
IHT_none,
|
IHT_none,
|
||||||
IHT_short,
|
IHT_short,
|
||||||
|
@ -48,6 +48,9 @@ extern "C" {
|
|||||||
* without express or implied warranty.
|
* without express or implied warranty.
|
||||||
*
|
*
|
||||||
* $Log$
|
* $Log$
|
||||||
|
* Revision 1.5 2001/08/02 20:01:58 drose
|
||||||
|
* add bmp-bpp
|
||||||
|
*
|
||||||
* Revision 1.4 2001/05/25 21:30:42 drose
|
* Revision 1.4 2001/05/25 21:30:42 drose
|
||||||
* Update copyright header
|
* Update copyright header
|
||||||
*
|
*
|
||||||
@ -455,6 +458,9 @@ BMPEncode(
|
|||||||
int bpp; /* bits per pixel */
|
int bpp; /* bits per pixel */
|
||||||
unsigned long nbyte = 0;
|
unsigned long nbyte = 0;
|
||||||
|
|
||||||
|
bpp = bmp_bpp;
|
||||||
|
|
||||||
|
if (bpp == 0) {
|
||||||
bpp = colorstobpp(colors);
|
bpp = colorstobpp(colors);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -479,6 +485,7 @@ BMPEncode(
|
|||||||
bpp = 8;
|
bpp = 8;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pm_message("Using %d bits per pixel", bpp);
|
pm_message("Using %d bits per pixel", bpp);
|
||||||
|
|
||||||
@ -612,7 +619,11 @@ write_data(xel *array, xelval *) {
|
|||||||
|
|
||||||
/* Figure out the colormap. */
|
/* Figure out the colormap. */
|
||||||
chv = ppm_computecolorhist(pixels, _x_size, _y_size, MAXCOLORS, &colors);
|
chv = ppm_computecolorhist(pixels, _x_size, _y_size, MAXCOLORS, &colors);
|
||||||
if (chv == (colorhist_vector) 0) {
|
if (bmp_bpp > 8) {
|
||||||
|
// Quietly generate a 24-bit image.
|
||||||
|
BMPEncode24(_file, classv, _x_size, _y_size, pixels);
|
||||||
|
|
||||||
|
} else if (chv == (colorhist_vector) 0) {
|
||||||
pnmimage_bmp_cat.debug()
|
pnmimage_bmp_cat.debug()
|
||||||
<< "too many colors; generating 24-bit BMP file\n";
|
<< "too many colors; generating 24-bit BMP file\n";
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user