60 lines
1.8 KiB
Diff
60 lines
1.8 KiB
Diff
|
|
--- a/coders/pdb.c Wed Apr 10 11:27:35 2019 -0500
|
|||
|
|
+++ b/coders/pdb.c Wed Apr 10 20:48:28 2019 -0500
|
|||
|
|
@@ -30,6 +30,13 @@
|
|||
|
|
%
|
|||
|
|
%
|
|||
|
|
*/
|
|||
|
|
+/*
|
|||
|
|
+ Some information on this format may be found at
|
|||
|
|
+ http://fileformats.archiveteam.org/wiki/Palm_Database_ImageViewer
|
|||
|
|
+
|
|||
|
|
+ Round-trip tests do not pass so this format is not included in the
|
|||
|
|
+ test suite.
|
|||
|
|
+*/
|
|||
|
|
|
|||
|
|
/*
|
|||
|
|
Include declarations.
|
|||
|
|
@@ -733,6 +740,7 @@
|
|||
|
|
entry->magick=(MagickHandler) IsPDB;
|
|||
|
|
entry->description="Palm Database ImageViewer Format";
|
|||
|
|
entry->module="PDB";
|
|||
|
|
+ entry->coder_class=UnstableCoderClass;
|
|||
|
|
(void) RegisterMagickInfo(entry);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
@@ -842,7 +850,7 @@
|
|||
|
|
status;
|
|||
|
|
|
|||
|
|
size_t
|
|||
|
|
- packets;
|
|||
|
|
+ packets;
|
|||
|
|
|
|||
|
|
unsigned long
|
|||
|
|
literal,
|
|||
|
|
@@ -867,6 +875,7 @@
|
|||
|
|
if (status == False)
|
|||
|
|
ThrowPDBWriterException(FileOpenError,UnableToOpenFile,image);
|
|||
|
|
(void) TransformColorspace(image,RGBColorspace);
|
|||
|
|
+ (void) SetImageType(image,GrayscaleType);
|
|||
|
|
bits_per_pixel=image->depth;
|
|||
|
|
if (GetImageType(image,&image->exception) == BilevelType)
|
|||
|
|
bits_per_pixel=1;
|
|||
|
|
@@ -939,7 +948,7 @@
|
|||
|
|
if (buffer == (unsigned char *) NULL)
|
|||
|
|
ThrowPDBWriterException(ResourceLimitWarning,MemoryAllocationFailed,image);
|
|||
|
|
(void) memset(buffer,0,512);
|
|||
|
|
- packet_size=image->depth > 8 ? 2: 1;
|
|||
|
|
+ packet_size=bits_per_pixel > 8 ? 2: 1;
|
|||
|
|
scanline=MagickAllocateArray(unsigned char *,image->columns,packet_size);
|
|||
|
|
if (scanline == (unsigned char *) NULL)
|
|||
|
|
ThrowPDBWriterException(ResourceLimitWarning,MemoryAllocationFailed,image);
|
|||
|
|
@@ -956,7 +965,7 @@
|
|||
|
|
{
|
|||
|
|
if (!AcquireImagePixels(image,0,y,image->columns,1,&image->exception))
|
|||
|
|
break;
|
|||
|
|
- (void) ExportImagePixelArea(image,GrayQuantum,image->depth,scanline,0,0);
|
|||
|
|
+ (void) ExportImagePixelArea(image,GrayQuantum,bits_per_pixel,scanline,0,0);
|
|||
|
|
for (x=0; x < pdb_image.width; x++)
|
|||
|
|
{
|
|||
|
|
if (x < (long) image->columns)
|