Magick++ 7.1.2-32
Convert, Edit, Or Compose Bitmap Images
Loading...
Searching...
No Matches
Magick::PixelData Class Reference

Public Member Functions

 PixelData (Magick::Image &image_, std::string map_, const StorageType type_)
 PixelData (Magick::Image &image_, const ::ssize_t x_, const ::ssize_t y_, const size_t width_, const size_t height_, std::string map_, const StorageType type_)
const void * data (void) const
::ssize_t length (void) const
::ssize_t size (void) const

Private Member Functions

 PixelData (const PixelData &pixels_)
const PixelData & operator= (const PixelData &pixels_)
void init (Magick::Image &image_, const ::ssize_t x_, const ::ssize_t y_, const size_t width_, const size_t height_, std::string map_, const StorageType type_)
void relinquish (void) throw ()

Private Attributes

void * _data
::ssize_t _length
::ssize_t _size

Detailed Description

Definition at line 83 of file Pixels.h.

Constructor & Destructor Documentation

◆ PixelData() [1/2]

Magick::PixelData::PixelData ( Magick::Image & image_,
std::string map_,
const StorageType type_ )

Definition at line 107 of file Pixels.cpp.

109{
110 init(image_,0,0,image_.columns(),image_.rows(),map_,type_);
111}

◆ PixelData() [2/2]

Magick::PixelData::PixelData ( Magick::Image & image_,
const ::ssize_t x_,
const ::ssize_t y_,
const size_t width_,
const size_t height_,
std::string map_,
const StorageType type_ )

Definition at line 113 of file Pixels.cpp.

116{
117 init(image_,x_,y_,width_,height_,map_,type_);
118}

◆ ~PixelData()

Magick::PixelData::~PixelData ( void )

Definition at line 120 of file Pixels.cpp.

121{
122 relinquish();
123}

Member Function Documentation

◆ data()

const void * Magick::PixelData::data ( void ) const

Definition at line 125 of file Pixels.cpp.

126{
127 return(_data);
128}

◆ init()

void Magick::PixelData::init ( Magick::Image & image_,
const ::ssize_t x_,
const ::ssize_t y_,
const size_t width_,
const size_t height_,
std::string map_,
const StorageType type_ )
private

Definition at line 140 of file Pixels.cpp.

143{
144 size_t
145 size;
146
147 _data=(void *) NULL;
148 _length=0;
149 _size=0;
150 if ((x_ < 0) || (width_ == 0) || (y_ < 0) || (height_ == 0) ||
151 (x_ > (ssize_t) image_.columns()) || (((ssize_t) width_ + x_) > (ssize_t) image_.columns())
152 || (y_ > (ssize_t) image_.rows()) || (((ssize_t) height_ + y_) > (ssize_t) image_.rows())
153 || (map_.length() == 0))
154 return;
155
156 switch(type_)
157 {
158 case CharPixel:
159 size=sizeof(unsigned char);
160 break;
161 case DoublePixel:
162 size=sizeof(double);
163 break;
164 case FloatPixel:
165 size=sizeof(float);
166 break;
167 case LongPixel:
168 size=sizeof(unsigned int);
169 break;
170 case LongLongPixel:
171 size=sizeof(MagickSizeType);
172 break;
173 case QuantumPixel:
174 size=sizeof(Quantum);
175 break;
176 case ShortPixel:
177 size=sizeof(unsigned short);
178 break;
179 default:
180 throwExceptionExplicit(MagickCore::OptionError,"Invalid type");
181 return;
182 }
183
184 _length=(ssize_t) (width_*height_*map_.length());
185 _size=_length*(ssize_t) size;
186 _data=AcquireMagickMemory((size_t) _size);
187
188 GetPPException;
189 MagickCore::ExportImagePixels(image_.image(),x_,y_,width_,height_,
190 map_.c_str(),type_,_data,exceptionInfo);
191 if (exceptionInfo->severity != MagickCore::UndefinedException)
192 relinquish();
193 ThrowPPException(image_.quiet());
194}

◆ length()

ssize_t Magick::PixelData::length ( void ) const

Definition at line 130 of file Pixels.cpp.

131{
132 return(_length);
133}

◆ relinquish()

void Magick::PixelData::relinquish ( void )
throw ( )
private

Definition at line 196 of file Pixels.cpp.

197{
198 if (_data != (void *)NULL)
199 _data=RelinquishMagickMemory(_data);
200 _length=0;
201 _size=0;
202}

◆ size()

ssize_t Magick::PixelData::size ( void ) const

Definition at line 135 of file Pixels.cpp.

136{
137 return(_size);
138}

Field Documentation

◆ _data

void* Magick::PixelData::_data
private

Definition at line 119 of file Pixels.h.

◆ _length

::ssize_t Magick::PixelData::_length
private

Definition at line 120 of file Pixels.h.

◆ _size

::ssize_t Magick::PixelData::_size
private

Definition at line 121 of file Pixels.h.


The documentation for this class was generated from the following files:
  • /home/cristy/Attic/Build/ImageMagick-7.1.2/rpmbuild/BUILD/ImageMagick-7.1.2-build/ImageMagick-7.1.2-32/Magick++/lib/Magick++/Pixels.h
  • /home/cristy/Attic/Build/ImageMagick-7.1.2/rpmbuild/BUILD/ImageMagick-7.1.2-build/ImageMagick-7.1.2-32/Magick++/lib/Pixels.cpp