49 void targa::writer::file_output_buffer<
52 m_stream << p.
components.blue << p.components.green << p.components.red
53 << p.components.alpha;
89 header h(m_image.width(), m_image.height());
94 h.image_type = true_color;
96 os.write(reinterpret_cast<char*>(&h),
sizeof(
header));
99 save_rle_true_color(os);
104 os.write(reinterpret_cast<char*>(&f),
sizeof(
footer));
111 void claw::graphic::targa::writer::save_true_color(std::ostream& os)
const 113 file_output_buffer<rgba_pixel_8> output_buffer(os);
115 for(
const_iterator it = m_image.begin(); it != m_image.end(); ++it)
116 output_buffer.order_pixel_bytes(*it);
123 void claw::graphic::targa::writer::save_rle_true_color(std::ostream& os)
const 125 rle32_encoder encoder;
126 rle32_encoder::output_buffer_type output_buffer(os);
128 for(
unsigned int y = 0; y != m_image.height(); ++y)
129 encoder.encode(m_image[y].begin(), m_image[y].end(), output_buffer);
void save(std::ostream &f, bool rle) const
Save the content of the image in a stream.
struct claw::graphic::rgba_pixel::@15::@17 components
Component by component representation.
Base class for iterators on an image.
A simple class to use as exception with string message.
writer(const image &img)
Constructor.
Pixel pixel_type
The type of the pixels in the input buffer.
A class to deal with images.
A class for targa pictures.
This is the main namespace.