From 661b5ad50e186559162a9de890ad00ba1d904bee Mon Sep 17 00:00:00 2001 From: cristy Date: Wed, 13 Jan 2010 00:54:42 +0000 Subject: [PATCH] --- coders/pnm.c | 83 ++++++++++++++++++++++++++++++-------------- config/configure.xml | 2 +- magick/methods.h | 19 +++++++++- magick/version.h | 2 +- 4 files changed, 76 insertions(+), 30 deletions(-) diff --git a/coders/pnm.c b/coders/pnm.c index 4ce534ff3..4c0a5142a 100644 --- a/coders/pnm.c +++ b/coders/pnm.c @@ -1432,8 +1432,7 @@ ModuleExport void UnregisterPNMImage(void) % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % -% 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: % @@ -1477,6 +1476,9 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image) QuantumType quantum_type; + register long + i; + register unsigned char *pixels, *q; @@ -1657,13 +1659,13 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image) { 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 @@ -1679,16 +1681,21 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image) 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); @@ -1696,13 +1703,17 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image) 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. @@ -1711,7 +1722,7 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *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 @@ -1723,7 +1734,6 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image) 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); @@ -1733,11 +1743,17 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image) 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); @@ -1745,13 +1761,17 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image) 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. @@ -1760,7 +1780,7 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *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 @@ -1772,7 +1792,6 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image) 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) @@ -1785,11 +1804,17 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image) "%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); @@ -1797,7 +1822,11 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image) break; } } - pixels=DestroyString(pixels); + if (q != pixels) + { + *q++='\n'; + (void) WriteBlob(image,q-pixels,pixels); + } break; } case '4': diff --git a/config/configure.xml b/config/configure.xml index 9ad1125c3..d7822092d 100644 --- a/config/configure.xml +++ b/config/configure.xml @@ -9,7 +9,7 @@ - + diff --git a/magick/methods.h b/magick/methods.h index b01ee720b..daafe2467 100644 --- a/magick/methods.h +++ b/magick/methods.h @@ -49,6 +49,8 @@ extern "C" { #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) @@ -126,6 +128,8 @@ extern "C" { #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) @@ -212,6 +216,7 @@ extern "C" { #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) @@ -257,6 +262,7 @@ extern "C" { #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) @@ -318,6 +324,8 @@ extern "C" { #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) @@ -436,6 +444,7 @@ extern "C" { #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) @@ -550,6 +559,7 @@ extern "C" { #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) @@ -669,6 +679,9 @@ extern "C" { #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) @@ -746,6 +759,7 @@ extern "C" { #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) @@ -953,6 +967,7 @@ extern "C" { #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) @@ -1136,7 +1151,6 @@ extern "C" { #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) @@ -1154,6 +1168,8 @@ extern "C" { #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) @@ -1280,6 +1296,7 @@ extern "C" { #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) diff --git a/magick/version.h b/magick/version.h index 3788b7978..1ce156d45 100644 --- a/magick/version.h +++ b/magick/version.h @@ -32,7 +32,7 @@ extern "C" { #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" -- 2.40.0