|
54 | 54 | #include "base/image/iff.h" |
55 | 55 | #include "base/image/jpeg_pov.h" |
56 | 56 | #include "base/image/openexr.h" |
57 | | -#include "base/image/pgm.h" |
58 | 57 | #include "base/image/png_pov.h" |
59 | 58 | #include "base/image/ppm.h" |
60 | 59 | #include "base/image/targa.h" |
@@ -3555,6 +3554,70 @@ void RGBFTMap2RGBAMap(const vector<Image::RGBFTMapEntry>& m, vector<Image::RGBAM |
3555 | 3554 | n.push_back(Image::RGBAMapEntry(i->red, i->green, i->blue, RGBFTColour::FTtoA(i->filter, i->transm))); |
3556 | 3555 | } |
3557 | 3556 |
|
| 3557 | +Image::ImageDataType Image::GetImageDataType (ImageChannelDataType channelType, ImageChannelLayout layout) |
| 3558 | +{ |
| 3559 | + switch (layout) |
| 3560 | + { |
| 3561 | + case kImageChannelLayout_Gray: |
| 3562 | + switch (channelType) |
| 3563 | + { |
| 3564 | + case kImageChannelDataType_Int8: return Image::Gray_Int8; |
| 3565 | + case kImageChannelDataType_Int16: return Image::Gray_Int16; |
| 3566 | + case kImageChannelDataType_Gamma8: return Image::Gray_Gamma8; |
| 3567 | + case kImageChannelDataType_Gamma16: return Image::Gray_Gamma16; |
| 3568 | + default: |
| 3569 | + POV_IMAGE_ASSERT(false); |
| 3570 | + break; |
| 3571 | + } |
| 3572 | + break; |
| 3573 | + |
| 3574 | + case kImageChannelLayout_GrayA: |
| 3575 | + switch (channelType) |
| 3576 | + { |
| 3577 | + case kImageChannelDataType_Int8: return Image::GrayA_Int8; |
| 3578 | + case kImageChannelDataType_Int16: return Image::GrayA_Int16; |
| 3579 | + case kImageChannelDataType_Gamma8: return Image::GrayA_Gamma8; |
| 3580 | + case kImageChannelDataType_Gamma16: return Image::GrayA_Gamma16; |
| 3581 | + default: |
| 3582 | + POV_IMAGE_ASSERT(false); |
| 3583 | + break; |
| 3584 | + } |
| 3585 | + break; |
| 3586 | + |
| 3587 | + case kImageChannelLayout_RGB: |
| 3588 | + switch (channelType) |
| 3589 | + { |
| 3590 | + case kImageChannelDataType_Int8: return Image::RGB_Int8; |
| 3591 | + case kImageChannelDataType_Int16: return Image::RGB_Int16; |
| 3592 | + case kImageChannelDataType_Gamma8: return Image::RGB_Gamma8; |
| 3593 | + case kImageChannelDataType_Gamma16: return Image::RGB_Gamma16; |
| 3594 | + default: |
| 3595 | + POV_IMAGE_ASSERT(false); |
| 3596 | + break; |
| 3597 | + } |
| 3598 | + break; |
| 3599 | + |
| 3600 | + case kImageChannelLayout_RGBA: |
| 3601 | + switch (channelType) |
| 3602 | + { |
| 3603 | + case kImageChannelDataType_Int8: return Image::RGBA_Int8; |
| 3604 | + case kImageChannelDataType_Int16: return Image::RGBA_Int16; |
| 3605 | + case kImageChannelDataType_Gamma8: return Image::RGBA_Gamma8; |
| 3606 | + case kImageChannelDataType_Gamma16: return Image::RGBA_Gamma16; |
| 3607 | + default: |
| 3608 | + POV_IMAGE_ASSERT(false); |
| 3609 | + break; |
| 3610 | + } |
| 3611 | + break; |
| 3612 | + |
| 3613 | + default: |
| 3614 | + POV_IMAGE_ASSERT(false); |
| 3615 | + break; |
| 3616 | + } |
| 3617 | + |
| 3618 | + return Image::Undefined; |
| 3619 | +} |
| 3620 | + |
3558 | 3621 | Image *Image::Create(unsigned int w, unsigned int h, ImageDataType t, unsigned int maxRAMmbHint, unsigned int pixelsPerBlockHint) |
3559 | 3622 | { |
3560 | 3623 | try |
@@ -3904,10 +3967,10 @@ following built-in formats: GIF, TGA, IFF, PGM, PPM, BMP."); |
3904 | 3967 | return (Iff::Read(file, options)); |
3905 | 3968 |
|
3906 | 3969 | case PGM: |
3907 | | - return (Pgm::Read(file, options)); |
| 3970 | + return (Netpbm::Read(file, options)); |
3908 | 3971 |
|
3909 | 3972 | case PPM: |
3910 | | - return (Ppm::Read(file, options)); |
| 3973 | + return (Netpbm::Read(file, options)); |
3911 | 3974 |
|
3912 | 3975 | case BMP: |
3913 | 3976 | return (Bmp::Read(file, options)); |
@@ -3997,7 +4060,7 @@ following built-in formats: TGA, PPM, BMP."); |
3997 | 4060 | break; |
3998 | 4061 |
|
3999 | 4062 | case PPM: |
4000 | | - Ppm::Write(file, image, options); |
| 4063 | + Netpbm::Write(file, image, options); |
4001 | 4064 | break; |
4002 | 4065 |
|
4003 | 4066 | case BMP: |
|
0 commit comments