]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Wed, 13 Jan 2010 00:54:42 +0000 (00:54 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Wed, 13 Jan 2010 00:54:42 +0000 (00:54 +0000)
coders/pnm.c
config/configure.xml
magick/methods.h
magick/version.h

index 4ce534ff3d20464901685c93c7dd35c42e6779a9..4c0a5142a7cc256f5df88011e7d9c58d391c267f 100644 (file)
@@ -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':
index 9ad1125c333d78644c0efccea5ea63e58da04954..d7822092d3210f281544610d22ecc437df2f2be2 100644 (file)
@@ -9,7 +9,7 @@
   <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"/>
index b01ee720bc7fe1c94e506b1cc1114ba5ea6f3a41..daafe24679dd33d66cce8d15a6431144d8606575 100644 (file)
@@ -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)
index 3788b79784ccccd33511899e9a131ead29a6ffef..1ce156d454d4e97d0b8310fa2d29a97ae1038c32 100644 (file)
@@ -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"