% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
-% Procedure WritePNMImage() writes an image to a file in the PNM rasterfile
-% format.
+% WritePNMImage() writes an image to a file in the PNM rasterfile format.
%
% The format of the WritePNMImage method is:
%
QuantumType
quantum_type;
+ register long
+ i;
+
register unsigned char
*pixels,
*q;
{
case '1':
{
- char
- *pixels;
+ unsigned char
+ pixels[2048];
/*
Convert image to a PBM image.
*/
- pixels=AcquireString((const char *) NULL);
+ q=pixels;
for (y=0; y < (long) image->rows; y++)
{
register const IndexPacket
if (p == (const PixelPacket *) NULL)
break;
indexes=GetVirtualIndexQueue(image);
- *pixels='\0';
for (x=0; x < (long) image->columns; x++)
{
pixel=PixelIntensityToQuantum(p);
- (void) ConcatenateString(&pixels,
- pixel >= (Quantum) (QuantumRange/2) ? "0 " : "1 ");
+ *q++=(unsigned char) (pixel >= (Quantum) (QuantumRange/2) ?
+ '0' : '1');
+ *q++=' ';
+ if ((q-pixels+2) >= 80)
+ {
+ *q++='\n';
+ (void) WriteBlob(image,q-pixels,pixels);
+ q=pixels;
+ i=0;
+ }
p++;
}
- (void) ConcatenateString(&pixels,"\n");
- (void) WriteBlob(image,strlen(pixels),(unsigned char *) pixels);
if (image->previous == (Image *) NULL)
{
status=SetImageProgress(image,SaveImageTag,y,image->rows);
break;
}
}
- pixels=DestroyString(pixels);
+ if (q != pixels)
+ {
+ *q++='\n';
+ (void) WriteBlob(image,q-pixels,pixels);
+ }
break;
}
case '2':
{
- char
- *pixels;
+ unsigned char
+ pixels[2048];
/*
Convert image to a PGM image.
(void) WriteBlobString(image,"255\n");
else
(void) WriteBlobString(image,"65535\n");
- pixels=AcquireString((const char *) NULL);
+ q=pixels;
for (y=0; y < (long) image->rows; y++)
{
register const PixelPacket
p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception);
if (p == (const PixelPacket *) NULL)
break;
- *pixels='\0';
for (x=0; x < (long) image->columns; x++)
{
index=PixelIntensityToQuantum(p);
else
count=(ssize_t) FormatMagickString(buffer,MaxTextExtent,"%u ",
ScaleQuantumToShort(index));
- (void) ConcatenateString(&pixels,buffer);
+ extent=(size_t) count;
+ (void) strncpy((char *) q,buffer,extent);
+ q+=extent;
+ if ((q-pixels+extent) >= 80)
+ {
+ *q++='\n';
+ (void) WriteBlob(image,q-pixels,pixels);
+ q=pixels;
+ }
p++;
}
- (void) ConcatenateString(&pixels,"\n");
- (void) WriteBlob(image,strlen(pixels),(unsigned char *) pixels);
if (image->previous == (Image *) NULL)
{
status=SetImageProgress(image,SaveImageTag,y,image->rows);
break;
}
}
- pixels=DestroyString(pixels);
+ if (q != pixels)
+ {
+ *q++='\n';
+ (void) WriteBlob(image,q-pixels,pixels);
+ }
break;
}
case '3':
{
- char
- *pixels;
+ unsigned char
+ pixels[2048];
/*
Convert image to a PNM image.
(void) WriteBlobString(image,"255\n");
else
(void) WriteBlobString(image,"65535\n");
- pixels=AcquireString((const char *) NULL);
+ q=pixels;
for (y=0; y < (long) image->rows; y++)
{
register const PixelPacket
p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception);
if (p == (const PixelPacket *) NULL)
break;
- *pixels='\0';
for (x=0; x < (long) image->columns; x++)
{
if (image->depth <= 8)
"%u %u %u ",ScaleQuantumToShort(GetRedPixelComponent(p)),
ScaleQuantumToShort(GetGreenPixelComponent(p)),
ScaleQuantumToShort(GetBluePixelComponent(p)));
- (void) ConcatenateString(&pixels,buffer);
+ extent=(size_t) count;
+ (void) strncpy((char *) q,buffer,extent);
+ q+=extent;
+ if ((q-pixels+extent) >= 80)
+ {
+ *q++='\n';
+ (void) WriteBlob(image,q-pixels,pixels);
+ q=pixels;
+ }
p++;
}
- (void) ConcatenateString(&pixels,"\n");
- (void) WriteBlob(image,strlen(pixels),(unsigned char *) pixels);
if (image->previous == (Image *) NULL)
{
status=SetImageProgress(image,SaveImageTag,y,image->rows);
break;
}
}
- pixels=DestroyString(pixels);
+ if (q != pixels)
+ {
+ *q++='\n';
+ (void) WriteBlob(image,q-pixels,pixels);
+ }
break;
}
case '4':
<configure name="NAME" value="ImageMagick"/>
<configure name="LIB_VERSION" value="0x659"/>
<configure name="LIB_VERSION_NUMBER" value="6,5,9,0"/>
- <configure name="RELEASE_DATE" value="2010-01-11"/>
+ <configure name="RELEASE_DATE" value="2010-01-12"/>
<configure name="CONFIGURE" value="./configure "/>
<configure name="PREFIX" value="/usr/local"/>
<configure name="EXEC-PREFIX" value="/usr/local"/>
#define AcquireImagePixels PrependMagickMethod(AcquireImagePixels)
#define AcquireImage PrependMagickMethod(AcquireImage)
#define AcquireIndexes PrependMagickMethod(AcquireIndexes)
+#define AcquireKernelBuiltIn PrependMagickMethod(AcquireKernelBuiltIn)
+#define AcquireKernelFromString PrependMagickMethod(AcquireKernelFromString)
#define AcquireMagickMatrix PrependMagickMethod(AcquireMagickMatrix)
#define AcquireMagickMemory PrependMagickMethod(AcquireMagickMemory)
#define AcquireMagickResource PrependMagickMethod(AcquireMagickResource)
#define BlurImageChannel PrependMagickMethod(BlurImageChannel)
#define BlurImage PrependMagickMethod(BlurImage)
#define BorderImage PrependMagickMethod(BorderImage)
+#define BrightnessContrastImageChannel PrependMagickMethod(BrightnessContrastImageChannel)
+#define BrightnessContrastImage PrependMagickMethod(BrightnessContrastImage)
#define CacheComponentGenesis PrependMagickMethod(CacheComponentGenesis)
#define CacheComponentTerminus PrependMagickMethod(CacheComponentTerminus)
#define CanonicalXMLContent PrependMagickMethod(CanonicalXMLContent)
#define ConvertRGBToHSL PrependMagickMethod(ConvertRGBToHSL)
#define ConvertRGBToHWB PrependMagickMethod(ConvertRGBToHWB)
#define ConvolveImageChannel PrependMagickMethod(ConvolveImageChannel)
+#define convolveImage PrependMagickMethod(convolveImage)
#define ConvolveImage PrependMagickMethod(ConvolveImage)
#define CopyMagickMemory PrependMagickMethod(CopyMagickMemory)
#define CopyMagickString PrependMagickMethod(CopyMagickString)
#define DestroyImageProfiles PrependMagickMethod(DestroyImageProfiles)
#define DestroyImageProperties PrependMagickMethod(DestroyImageProperties)
#define DestroyImages PrependMagickMethod(DestroyImages)
+#define DestroyKernel PrependMagickMethod(DestroyKernel)
#define DestroyLinkedList PrependMagickMethod(DestroyLinkedList)
#define DestroyLocaleOptions PrependMagickMethod(DestroyLocaleOptions)
#define DestroyMagickMemory PrependMagickMethod(DestroyMagickMemory)
#define FileToImage PrependMagickMethod(FileToImage)
#define FileToStringInfo PrependMagickMethod(FileToStringInfo)
#define FileToString PrependMagickMethod(FileToString)
+#define FilterImageChannel PrependMagickMethod(FilterImageChannel)
+#define FilterImage PrependMagickMethod(FilterImage)
#define FinalizeSignature PrependMagickMethod(FinalizeSignature)
#define FlattenImages PrependMagickMethod(FlattenImages)
#define FlipImage PrependMagickMethod(FlipImage)
#define GetImageGeometry PrependMagickMethod(GetImageGeometry)
#define GetImageHistogram PrependMagickMethod(GetImageHistogram)
#define GetImageIndexInList PrependMagickMethod(GetImageIndexInList)
+#define GetImageInfoFile PrependMagickMethod(GetImageInfoFile)
#define GetImageInfo PrependMagickMethod(GetImageInfo)
#define GetImageKurtosis PrependMagickMethod(GetImageKurtosis)
#define GetImageListIndex PrependMagickMethod(GetImageListIndex)
#define GetPixelCacheNexusExtent PrependMagickMethod(GetPixelCacheNexusExtent)
#define GetPixelCacheNexusIndexes PrependMagickMethod(GetPixelCacheNexusIndexes)
#define GetPixelCacheNexusPixels PrependMagickMethod(GetPixelCacheNexusPixels)
+#define GetPixelCachePixels PrependMagickMethod(GetPixelCachePixels)
#define GetPixelCacheStorageClass PrependMagickMethod(GetPixelCacheStorageClass)
#define GetPixelCacheTileSize PrependMagickMethod(GetPixelCacheTileSize)
#define GetPixelCacheType PrependMagickMethod(GetPixelCacheType)
#define IsSceneGeometry PrependMagickMethod(IsSceneGeometry)
#define IsSubimage PrependMagickMethod(IsSubimage)
#define IsTaintImage PrependMagickMethod(IsTaintImage)
+#define KernelNormalize PrependMagickMethod(KernelNormalize)
+#define KernelPrint PrependMagickMethod(KernelPrint)
+#define KernelRotate PrependMagickMethod(KernelRotate)
#define LeastSquaresAddTerms PrependMagickMethod(LeastSquaresAddTerms)
#define LevelColorsImageChannel PrependMagickMethod(LevelColorsImageChannel)
#define LevelColorsImage PrependMagickMethod(LevelColorsImage)
#define MontageImageList PrependMagickMethod(MontageImageList)
#define MontageImages PrependMagickMethod(MontageImages)
#define MorphImages PrependMagickMethod(MorphImages)
+#define MorphologyImage PrependMagickMethod(MorphologyImage)
#define MosaicImages PrependMagickMethod(MosaicImages)
#define MotionBlurImageChannel PrependMagickMethod(MotionBlurImageChannel)
#define MotionBlurImage PrependMagickMethod(MotionBlurImage)
#define RegisterVIDImage PrependMagickMethod(RegisterVIDImage)
#define RegisterVIFFImage PrependMagickMethod(RegisterVIFFImage)
#define RegisterWBMPImage PrependMagickMethod(RegisterWBMPImage)
+#define RegisterWMFImage PrependMagickMethod(RegisterWMFImage)
#define RegisterWPGImage PrependMagickMethod(RegisterWPGImage)
#define RegisterXBMImage PrependMagickMethod(RegisterXBMImage)
#define RegisterXCFImage PrependMagickMethod(RegisterXCFImage)
#define StringInfoToHexString PrependMagickMethod(StringInfoToHexString)
#define StringInfoToString PrependMagickMethod(StringInfoToString)
#define StringToArgv PrependMagickMethod(StringToArgv)
-#define SiPrefixToDouble PrependMagickMethod(SiPrefixToDouble)
#define StringToken PrependMagickMethod(StringToken)
#define StringToList PrependMagickMethod(StringToList)
#define StringToStringInfo PrependMagickMethod(StringToStringInfo)
#define SyncImagePixels PrependMagickMethod(SyncImagePixels)
#define SyncImage PrependMagickMethod(SyncImage)
#define SyncImageProfiles PrependMagickMethod(SyncImageProfiles)
+#define SyncImageSettings PrependMagickMethod(SyncImageSettings)
+#define SyncImagesSettings PrependMagickMethod(SyncImagesSettings)
#define SyncNextImageInList PrependMagickMethod(SyncNextImageInList)
#define SystemCommand PrependMagickMethod(SystemCommand)
#define TellBlob PrependMagickMethod(TellBlob)
#define UnregisterVIDImage PrependMagickMethod(UnregisterVIDImage)
#define UnregisterVIFFImage PrependMagickMethod(UnregisterVIFFImage)
#define UnregisterWBMPImage PrependMagickMethod(UnregisterWBMPImage)
+#define UnregisterWMFImage PrependMagickMethod(UnregisterWMFImage)
#define UnregisterWPGImage PrependMagickMethod(UnregisterWPGImage)
#define UnregisterXBMImage PrependMagickMethod(UnregisterXBMImage)
#define UnregisterXCFImage PrependMagickMethod(UnregisterXCFImage)
#define MagickLibVersionNumber 3,0,0
#define MagickLibSubversion "-0"
#define MagickLibInterface 3
-#define MagickReleaseDate "2010-01-11"
+#define MagickReleaseDate "2010-01-12"
#define MagickChangeDate "20100101"
#define MagickAuthoritativeURL "http://www.imagemagick.org"
#define MagickHomeURL "file:///usr/local/share/doc/ImageMagick-6.5.9/index.html"