Program: gdcm
Module: $RCSfile: gdcmPixelWriteConvert.cxx,v $
Language: C++
- Date: $Date: 2007/07/13 08:17:21 $
- Version: $Revision: 1.14 $
+ Date: $Date: 2007/08/24 10:45:18 $
+ Version: $Revision: 1.17 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
*/
PixelWriteConvert::~PixelWriteConvert()
{
+ gdcmDebugMacro("PixelWriteConvert::~PixelWriteConvert()" );
if( Compressed )
{
delete[] UserData;
{
const JpegPair &jp = *i;
if(i == v.begin() ){ assert( jp.first - first.first == 0); }
- uint32_t offset = jp.first - first.first;
+ uint32_t offset = (uint32_t)(jp.first - first.first);
GDCM_NAME_SPACE::binary_write(*fp, offset);
//std::cerr << "Updating Table:" << jp.first - first.first << std::endl;
}
// I need to pass the File*. I do not understand how PixelWriteConvert is supposed
// to access this information otherwise
-// size can now be computer from File attributes (what an API...)
+// size can now be computed from File attributes (what an API...)
void PixelWriteConvert::SetCompressJPEG2000UserData(uint8_t *data, size_t size, File *image)
{
Compressed = true;
size_t end = of->tellp();
//static int i = 0;
JpegPair &jp = JpegFragmentSize[i];
- jp.second = end-beg;
+ jp.second = (uint32_t)(end-beg);
if( ((end-beg) % 2) )
{
of->put( '\0' );
UserData = new uint8_t[of_size];
memcpy(UserData, of->str().c_str(), of_size);
UserDataSize = of_size;
-
+ delete of;
}
bool gdcm_write_JPEG_file8 (std::ostream *fp, char *inputdata, size_t inputlength,
void PixelWriteConvert::SetCompressJPEGUserData(uint8_t *data, size_t size, File *image)
{
-
- std::cerr << "entree ds PixelWriteConvert::SetCompressJPEGUserData" << std::endl;
-
(void)data;
(void)size;
(void)image;
std::ostringstream *of = new std::ostringstream();
int xsize = image->GetXSize();
- int ysize = image->GetYSize();
- int zsize = image->GetZSize();
+ int ysize = image->GetYSize();
+ int zsize = image->GetZSize();
int samplesPerPixel = image->GetSamplesPerPixel();
//std::cout << "X: " << xsize << std::endl;
//std::cout << "Y: " << ysize << std::endl;
size_t end = of->tellp();
//static int i = 0;
JpegPair &jp = JpegFragmentSize[i];
- jp.second = end-beg;
+ jp.second = (uint32_t)(end-beg);
if( ((end-beg) % 2) )
{
of->put( '\0' );
UserData = new uint8_t[of_size];
memcpy(UserData, of->str().c_str(), of_size);
UserDataSize = of_size;
-
- std::cerr << "Sortie ds PixelWriteConvert::SetCompressJPEGUserData" << std::endl;
+ delete of;
}