Thread View: comp.sources.bugs
1 messages
1 total messages
Started by Cristy
Thu, 24 Dec 1992 03:34
ImageMagick 2.2 - patch #3
Author: Cristy
Date: Thu, 24 Dec 1992 03:34
Date: Thu, 24 Dec 1992 03:34
2099 lines
65677 bytes
65677 bytes
ImageMagick 2.2 Patch #3
To apply this patch:
cd to the top of the source tree (to the directory containing the
"ImageMagick" subdirectories) and do:
patch -p < ThisFile
Prereq: ImageMagick 2.2.2 (posted from comp.sources.misc, Volume 34,
Issue 28 + Patch 1 & 2).
Alternatively get the entire distribution as contrib/ImageMagick.tar.Z
on export.lcs.mit.edu. I will post this patch to comp.sources.misc in
a few days.
diff -r -c ImageMagick/ChangeLog ImageMagick2.2.3/ChangeLog
*** ImageMagick/ChangeLog Tue Dec 22 16:07:20 1992
--- ImageMagick2.2.3/ChangeLog Wed Dec 23 18:10:05 1992
***************
*** 1,3 ****
--- 1,12 ----
+ ImageMagick 2.2.3
+
+ o Non-color reduced images were being written even though the color
+ reduction option was specified (-colors). This affected images written
+ as AVS, CMYK, and RGB.
+
+ o Modified various sources to reduce lint warnings.
+
+
ImageMagick 2.2.2
o Dithering did not work properly on the Cray (due to right shift problem).
diff -r -c ImageMagick/X.c ImageMagick2.2.3/X.c
*** ImageMagick/X.c Tue Dec 22 16:06:18 1992
--- ImageMagick2.2.3/X.c Wed Dec 23 18:10:01 1992
***************
*** 73,81 ****
--- 73,89 ----
int
Latin1Compare _Declare((char *,char *));
+ static unsigned int
+ XReadColormap _Declare((Display *,XWindowAttributes *,XColor **));
+
static void
XMakeImageLSBFirst _Declare((XWindowInfo *,Image *, XImage *)),
XMakeImageMSBFirst _Declare((XWindowInfo *,Image *, XImage *));
+
+ static Window
+ XClientWindow _Declare((Display *,Window)),
+ XSelectWindow _Declare((Display *,XRectangle *)),
+ XWindowByProperty _Declare((Display *,Window,Atom));
/*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
***************
*** 221,227 ****
%
%
*/
! void Latin1Upper(string)
char
*string;
{
--- 229,235 ----
%
%
*/
! static void Latin1Upper(string)
char
*string;
{
***************
*** 1296,1302 ****
Initialize graphics info.
*/
graphic_context_value.background=0;
! graphic_context_value.foreground=(~0);
graphic_context_value.font=annotate_info->font_info->fid;
graphic_context=XCreateGC(display,window->id,GCBackground | GCFont |
GCForeground,&graphic_context_value);
--- 1304,1310 ----
Initialize graphics info.
*/
graphic_context_value.background=0;
! graphic_context_value.foreground=(unsigned long) (~0);
graphic_context_value.font=annotate_info->font_info->fid;
graphic_context=XCreateGC(display,window->id,GCBackground | GCFont |
GCForeground,&graphic_context_value);
***************
*** 1711,1717 ****
Find closest representation for the requested RGB color.
*/
color->pixel=0;
! min_distance=(~0);
for (i=0; i < number_colors; i++)
{
red_distance=(colors[i].red >> 8)-(color->red >> 8);
--- 1719,1725 ----
Find closest representation for the requested RGB color.
*/
color->pixel=0;
! min_distance=(unsigned long) (~0);
for (i=0; i < number_colors; i++)
{
red_distance=(colors[i].red >> 8)-(color->red >> 8);
***************
*** 2019,2025 ****
%
%
*/
! Window XClientWindow(display,target_window)
Display
*display;
--- 2027,2033 ----
%
%
*/
! static Window XClientWindow(display,target_window)
Display
*display;
***************
*** 2993,2999 ****
/*
Advance to the next scanline.
*/
! if (bit > 0)
*q=byte >> (8-bit);
q+=scanline_pad;
bit=0;
--- 3001,3007 ----
/*
Advance to the next scanline.
*/
! if (bit != 0)
*q=byte >> (8-bit);
q+=scanline_pad;
bit=0;
***************
*** 3484,3490 ****
/*
Advance to the next scanline.
*/
! if (bit > 0)
*q=byte << (8-bit);
q+=scanline_pad;
bit=0;
--- 3492,3498 ----
/*
Advance to the next scanline.
*/
! if (bit != 0)
*q=byte << (8-bit);
q+=scanline_pad;
bit=0;
***************
*** 5357,5363 ****
status=XGetWindowProperty(display,XRootWindow(display,0),XA_CUT_BUFFER0,
0L,2047L,False,XA_STRING,&type,&format,&length,&after,&data);
if ((status != Success) || (type != XA_STRING) || (format == 32) ||
! (length <= 0))
break;
/*
Append cut buffer to reply.
--- 5365,5371 ----
status=XGetWindowProperty(display,XRootWindow(display,0),XA_CUT_BUFFER0,
0L,2047L,False,XA_STRING,&type,&format,&length,&after,&data);
if ((status != Success) || (type != XA_STRING) || (format == 32) ||
! (length == 0))
break;
/*
Append cut buffer to reply.
***************
*** 5527,5533 ****
%
%
*/
! unsigned int XReadColormap(display,window_attributes,colors)
Display
*display;
--- 5535,5541 ----
%
%
*/
! static unsigned int XReadColormap(display,window_attributes,colors)
Display
*display;
***************
*** 5727,5733 ****
%
%
*/
! Window XSelectWindow(display,clip_info)
Display
*display;
--- 5735,5741 ----
%
%
*/
! static Window XSelectWindow(display,clip_info)
Display
*display;
***************
*** 6102,6108 ****
%
%
*/
! Window XWindowByProperty(display,window,property)
Display
*display;
--- 6110,6116 ----
%
%
*/
! static Window XWindowByProperty(display,window,property)
Display
*display;
diff -r -c ImageMagick/X.h ImageMagick2.2.3/X.h
*** ImageMagick/X.h Tue Dec 22 16:04:15 1992
--- ImageMagick2.2.3/X.h Wed Dec 23 18:10:04 1992
***************
*** 266,279 ****
unsigned int,unsigned int)),
XMakePixmap _Declare((Display *,XResourceInfo *,XWindowInfo *)),
XPopupMenu _Declare((Display *,XWindowInfo *,int,int,char *,char **,
! unsigned int,char *)),
! XReadColormap _Declare((Display *,XWindowAttributes *,XColor **));
extern XVisualInfo
*XBestVisualInfo _Declare((Display *,char *,char *,XStandardColormap *));
extern void
- Latin1Upper _Declare((char *)),
XBestIconSize _Declare((Display *,XWindowInfo *,Image *)),
XFreeStandardColormap _Declare((Display *,XVisualInfo *,XPixelInfo *,
XStandardColormap *)),
--- 266,277 ----
unsigned int,unsigned int)),
XMakePixmap _Declare((Display *,XResourceInfo *,XWindowInfo *)),
XPopupMenu _Declare((Display *,XWindowInfo *,int,int,char *,char **,
! unsigned int,char *));
extern XVisualInfo
*XBestVisualInfo _Declare((Display *,char *,char *,XStandardColormap *));
extern void
XBestIconSize _Declare((Display *,XWindowInfo *,Image *)),
XFreeStandardColormap _Declare((Display *,XVisualInfo *,XPixelInfo *,
XStandardColormap *)),
***************
*** 291,299 ****
XRefreshWindow _Declare((Display *,XWindowInfo *,XEvent *));
extern Window
- XClientWindow _Declare((Display *,Window)),
- XWindowByProperty _Declare((Display *,Window,Atom)),
- XSelectWindow _Declare((Display *,XRectangle *)),
XWindowByID _Declare((Display *,Window,unsigned long)),
XWindowByName _Declare((Display *,Window,char *));
--- 289,294 ----
diff -r -c ImageMagick/XtoPS.c ImageMagick2.2.3/XtoPS.c
*** ImageMagick/XtoPS.c Tue Dec 22 16:04:16 1992
--- ImageMagick2.2.3/XtoPS.c Wed Dec 23 18:10:01 1992
***************
*** 428,434 ****
/*
Read image from X server.
*/
! if (resource_info.delay > 0)
(void) sleep(resource_info.delay);
start_time=time((time_t *) 0);
image=ReadXImage(target_window,server_name,frame,screen,borders);
--- 428,434 ----
/*
Read image from X server.
*/
! if (resource_info.delay != 0)
(void) sleep(resource_info.delay);
start_time=time((time_t *) 0);
image=ReadXImage(target_window,server_name,frame,screen,borders);
***************
*** 469,475 ****
(void) fprintf(stderr," DirectClass ");
else
(void) fprintf(stderr," PseudoClass ");
! (void) fprintf(stderr,"%uc %s %ds\n",image->colors,image->magick,
time((time_t *) 0)-start_time+1);
}
DestroyImage(image);
--- 469,475 ----
(void) fprintf(stderr," DirectClass ");
else
(void) fprintf(stderr," PseudoClass ");
! (void) fprintf(stderr,"%uc %s %lds\n",image->colors,image->magick,
time((time_t *) 0)-start_time+1);
}
DestroyImage(image);
diff -r -c ImageMagick/alien.c ImageMagick2.2.3/alien.c
*** ImageMagick/alien.c Tue Dec 22 16:04:18 1992
--- ImageMagick2.2.3/alien.c Wed Dec 23 18:10:02 1992
***************
*** 665,671 ****
/*
Read image attributes.
*/
! if (image_count > 0)
{
/*
Allocate image structure.
--- 665,671 ----
/*
Read image attributes.
*/
! if (image_count != 0)
{
/*
Allocate image structure.
***************
*** 2264,2270 ****
if ((number_planes % 2) == 0)
(void) fgetc(image->file);
}
! if (number_colormaps > 0)
{
/*
Read image colormaps.
--- 2264,2270 ----
if ((number_planes % 2) == 0)
(void) fgetc(image->file);
}
! if (number_colormaps != 0)
{
/*
Read image colormaps.
***************
*** 2457,2463 ****
}
opcode=fgetc(image->file);
}
! if (number_colormaps > 0)
{
unsigned char
pixel;
--- 2457,2463 ----
}
opcode=fgetc(image->file);
}
! if (number_colormaps != 0)
{
unsigned char
pixel;
***************
*** 4094,4100 ****
/*
Read colormap.
*/
! if (header.ncolors > 0)
{
colors=(XColor *) malloc((unsigned int) header.ncolors*sizeof(XColor));
if (colors == (XColor *) NULL)
--- 4094,4100 ----
/*
Read colormap.
*/
! if (header.ncolors != 0)
{
colors=(XColor *) malloc((unsigned int) header.ncolors*sizeof(XColor));
if (colors == (XColor *) NULL)
***************
*** 4288,4294 ****
Free image and colormap.
*/
(void) free((char *) window_name);
! if (header.ncolors > 0)
(void) free((char *) colors);
XDestroyImage(ximage);
CloseImage(image);
--- 4288,4294 ----
Free image and colormap.
*/
(void) free((char *) window_name);
! if (header.ncolors != 0)
(void) free((char *) colors);
XDestroyImage(ximage);
CloseImage(image);
***************
*** 5227,5233 ****
/*
Advance to the next scanline.
*/
! if (bit > 0)
*q++=byte << (8-bit);
bit=0;
byte=0;
--- 5227,5233 ----
/*
Advance to the next scanline.
*/
! if (bit != 0)
*q++=byte << (8-bit);
bit=0;
byte=0;
***************
*** 5255,5290 ****
}
case '6':
{
- unsigned short int
- index;
-
/*
Convert image to a PNM image.
*/
(void) fprintf(image->file,"%d\n",MaxRGB);
! if (image->class == DirectClass)
! for (i=0; i < image->packets; i++)
{
! for (j=0; j <= ((int) p->length); j++)
! {
! *q++=p->red;
! *q++=p->green;
! *q++=p->blue;
! }
! p++;
}
! else
! for (i=0; i < image->packets; i++)
! {
! for (j=0; j <= ((int) p->length); j++)
! {
! index=p->index;
! *q++=image->colormap[index].red;
! *q++=image->colormap[index].green;
! *q++=image->colormap[index].blue;
! }
! p++;
! }
break;
}
}
--- 5255,5274 ----
}
case '6':
{
/*
Convert image to a PNM image.
*/
(void) fprintf(image->file,"%d\n",MaxRGB);
! for (i=0; i < image->packets; i++)
! {
! for (j=0; j <= ((int) p->length); j++)
{
! *q++=p->red;
! *q++=p->green;
! *q++=p->blue;
}
! p++;
! }
break;
}
}
***************
*** 5627,5633 ****
/*
Advance to the next scanline.
*/
! if (bit > 0)
*q++=byte << (8-bit);
if (TIFFWriteScanline(file,scanline,y,0) < 0)
break;
--- 5611,5617 ----
/*
Advance to the next scanline.
*/
! if (bit != 0)
*q++=byte << (8-bit);
if (TIFFWriteScanline(file,scanline,y,0) < 0)
break;
***************
*** 5643,5649 ****
}
(void) free((char *) scanline);
(void) TIFFFlushData(file);
! if (verbose)
TIFFPrintDirectory(file,stderr,False);
(void) TIFFClose(file);
return(True);
--- 5627,5633 ----
}
(void) free((char *) scanline);
(void) TIFFFlushData(file);
! if (verbose == True)
TIFFPrintDirectory(file,stderr,False);
(void) TIFFClose(file);
return(True);
***************
*** 5930,5936 ****
/*
Advance to the next scanline.
*/
! if (bit > 0)
*q++=byte << (8-bit);
if ((((image->columns/8)+
(image->columns % 8 ? 1 : 0)) % 2) != 0)
--- 5914,5920 ----
/*
Advance to the next scanline.
*/
! if (bit != 0)
*q++=byte << (8-bit);
if ((((image->columns/8)+
(image->columns % 8 ? 1 : 0)) % 2) != 0)
***************
*** 6065,6071 ****
x++;
if (x == image->columns)
{
! if (bit > 0)
{
/*
Write a bitmap byte to the image file.
--- 6049,6055 ----
x++;
if (x == image->columns)
{
! if (bit != 0)
{
/*
Write a bitmap byte to the image file.
diff -r -c ImageMagick/animate.c ImageMagick2.2.3/animate.c
*** ImageMagick/animate.c Tue Dec 22 16:04:19 1992
--- ImageMagick2.2.3/animate.c Wed Dec 23 18:10:02 1992
***************
*** 169,175 ****
{
}
! void Delay(milliseconds)
unsigned long
milliseconds;
{
--- 169,175 ----
{
}
! static void Delay(milliseconds)
unsigned long
milliseconds;
{
***************
*** 1967,1972 ****
--- 1967,1976 ----
}
else
{
+ double
+ normalized_maximum_error,
+ normalized_mean_error;
+
Image
*image,
info_image,
***************
*** 1975,1980 ****
--- 1979,1987 ----
time_t
start_time;
+ unsigned int
+ mean_error_per_pixel;
+
unsigned long
total_colors;
***************
*** 1992,1997 ****
--- 1999,2005 ----
do
{
info_image=(*image);
+ total_colors=0;
/*
Transform image as defined by the clip, image and scale geometries.
*/
***************
*** 2029,2053 ****
}
if (gamma > 0.0)
GammaImage(image,gamma);
- if (verbose)
- {
- /*
- Initialize image error attributes.
- */
- if (image->class == DirectClass)
- image->colors=NumberColors(image,(FILE *) NULL);
- total_colors=image->colors;
- }
if (resource_info.colorspace == GRAYColorspace)
QuantizeImage(image,256,8,resource_info.dither,GRAYColorspace,True);
if (resource_info.monochrome)
QuantizeImage(image,2,8,resource_info.dither,GRAYColorspace,True);
! if (resource_info.number_colors > 0)
if ((image->class == DirectClass) ||
(image->colors > resource_info.number_colors))
! QuantizeImage(image,resource_info.number_colors,
! resource_info.tree_depth,resource_info.dither,
! resource_info.colorspace,True);
if (verbose)
{
/*
--- 2037,2067 ----
}
if (gamma > 0.0)
GammaImage(image,gamma);
if (resource_info.colorspace == GRAYColorspace)
QuantizeImage(image,256,8,resource_info.dither,GRAYColorspace,True);
if (resource_info.monochrome)
QuantizeImage(image,2,8,resource_info.dither,GRAYColorspace,True);
! if (resource_info.number_colors != 0)
if ((image->class == DirectClass) ||
(image->colors > resource_info.number_colors))
! {
! /*
! Reduce the number of colors in the image.
! */
! QuantizeImage(image,resource_info.number_colors,
! resource_info.tree_depth,resource_info.dither,
! resource_info.colorspace,True);
! if (verbose)
! {
! /*
! Measure quantization error.
! */
! QuantizationError(image,&mean_error_per_pixel,
! &normalized_mean_error,&normalized_maximum_error);
! total_colors=NumberColors(image,(FILE *) NULL);
! }
! SyncImage(image);
! }
if (verbose)
{
/*
***************
*** 2065,2087 ****
(void) fprintf(stderr," DirectClass ");
else
(void) fprintf(stderr," PseudoClass ");
! if (total_colors != image->colors)
! (void) fprintf(stderr,"%lu=>",total_colors);
! (void) fprintf(stderr,"%uc",image->colors);
! if ((resource_info.number_colors > 0) || resource_info.monochrome)
{
! double
! normalized_maximum_error,
! normalized_mean_error;
!
! unsigned int
! mean_error_per_pixel;
!
! /*
! Measure quantization error.
! */
! QuantizationError(image,&mean_error_per_pixel,
! &normalized_mean_error,&normalized_maximum_error);
(void) fprintf(stderr," %u/%.6f/%.6fe",mean_error_per_pixel,
normalized_mean_error,normalized_maximum_error);
}
--- 2079,2089 ----
(void) fprintf(stderr," DirectClass ");
else
(void) fprintf(stderr," PseudoClass ");
! if (total_colors == 0)
! (void) fprintf(stderr,"%uc",image->colors);
! else
{
! (void) fprintf(stderr,"%lu=>%uc",total_colors,image->colors);
(void) fprintf(stderr," %u/%.6f/%.6fe",mean_error_per_pixel,
normalized_mean_error,normalized_maximum_error);
}
diff -r -c ImageMagick/colors.c ImageMagick2.2.3/colors.c
*** ImageMagick/colors.c Tue Dec 22 16:04:19 1992
--- ImageMagick2.2.3/colors.c Wed Dec 23 18:10:02 1992
***************
*** 156,162 ****
if (node->child[id] != (Node *) NULL)
Histogram(node->child[id],file);
if (node->level == MaxTreeDepth)
! (void) fprintf(file,"%8d\t%d\t%d\t%d\n",node->number_colors,
node->mid_red,node->mid_green,node->mid_blue);
}
--- 156,162 ----
if (node->child[id] != (Node *) NULL)
Histogram(node->child[id],file);
if (node->level == MaxTreeDepth)
! (void) fprintf(file,"%8lu\t%d\t%d\t%d\n",node->number_colors,
node->mid_red,node->mid_green,node->mid_blue);
}
diff -r -c ImageMagick/compress.c ImageMagick2.2.3/compress.c
*** ImageMagick/compress.c Tue Dec 22 16:04:20 1992
--- ImageMagick2.2.3/compress.c Wed Dec 23 18:10:02 1992
***************
*** 1078,1084 ****
k=((int) (p->index) << (MaxLZWBits-8))+waiting_code;
if (k >= MaxHashTable)
k-=MaxHashTable;
! if (hash_code[k] != 0)
{
if ((hash_prefix[k] == waiting_code) &&
(hash_suffix[k] == (unsigned char) (p->index & 0xff)))
--- 1078,1084 ----
k=((int) (p->index) << (MaxLZWBits-8))+waiting_code;
if (k >= MaxHashTable)
k-=MaxHashTable;
! if (hash_code[k] >= 0)
{
if ((hash_prefix[k] == waiting_code) &&
(hash_suffix[k] == (unsigned char) (p->index & 0xff)))
diff -r -c ImageMagick/display.c ImageMagick2.2.3/display.c
*** ImageMagick/display.c Tue Dec 22 16:04:22 1992
--- ImageMagick2.2.3/display.c Wed Dec 23 18:10:03 1992
***************
*** 625,633 ****
if (resource_info->number_colors > 0)
if ((output_image->class == DirectClass) ||
(output_image->colors > resource_info->number_colors))
! QuantizeImage(output_image,resource_info->number_colors,
! resource_info->tree_depth,resource_info->dither,
! resource_info->colorspace,True);
(void) strcpy(output_image->filename,filename);
if (command == 'p')
(void) PrintImage(output_image,resource_info->image_geometry);
--- 625,636 ----
if (resource_info->number_colors > 0)
if ((output_image->class == DirectClass) ||
(output_image->colors > resource_info->number_colors))
! {
! QuantizeImage(output_image,resource_info->number_colors,
! resource_info->tree_depth,resource_info->dither,
! resource_info->colorspace,True);
! SyncImage(output_image);
! }
(void) strcpy(output_image->filename,filename);
if (command == 'p')
(void) PrintImage(output_image,resource_info->image_geometry);
***************
*** 668,674 ****
break;
}
}
! if ((width > 0) && (height > 0))
{
unsigned int
mask;
--- 671,677 ----
break;
}
}
! if ((width != 0) && (height != 0))
{
unsigned int
mask;
***************
*** 2193,2199 ****
/*
Free previous resources on the root window.
*/
! XKillClient(display,*((Pixmap *) data));
XFree((void *) data);
}
/*
--- 2196,2202 ----
/*
Free previous resources on the root window.
*/
! XKillClient(display,(XID) (*((Pixmap *) data)));
XFree((void *) data);
}
/*
***************
*** 2926,2932 ****
*state&=(~NextImageState);
*state&=(~TileImageState);
if (resource_info->delay == 0)
! timeout=(~0);
else
timeout=(unsigned long) time((time_t *) 0)+resource_info->delay;
do
--- 2929,2935 ----
*state&=(~NextImageState);
*state&=(~TileImageState);
if (resource_info->delay == 0)
! timeout=(unsigned long) (~0);
else
timeout=(unsigned long) time((time_t *) 0)+resource_info->delay;
do
***************
*** 3179,3185 ****
Reset timeout after expose.
*/
if (resource_info->delay == 0)
! timeout=(~0);
else
timeout=(unsigned long) time((time_t *) 0)+resource_info->delay;
break;
--- 3182,3188 ----
Reset timeout after expose.
*/
if (resource_info->delay == 0)
! timeout=(unsigned long) (~0);
else
timeout=(unsigned long) time((time_t *) 0)+resource_info->delay;
break;
***************
*** 3513,3521 ****
if (resource_info->number_colors > 0)
if ((displayed_image->class == DirectClass) ||
(displayed_image->colors > resource_info->number_colors))
! QuantizeImage(displayed_image,resource_info->number_colors,
! resource_info->tree_depth,resource_info->dither,
! resource_info->colorspace,True);
}
/*
Free X resources.
--- 3516,3527 ----
if (resource_info->number_colors > 0)
if ((displayed_image->class == DirectClass) ||
(displayed_image->colors > resource_info->number_colors))
! {
! QuantizeImage(displayed_image,resource_info->number_colors,
! resource_info->tree_depth,resource_info->dither,
! resource_info->colorspace,True);
! SyncImage(displayed_image);
! }
}
/*
Free X resources.
***************
*** 4109,4115 ****
p++;
p_bit=0;
}
! if (q_bit > 0)
*q=byte >> (8-q_bit);
q+=scanline_pad;
}
--- 4115,4121 ----
p++;
p_bit=0;
}
! if (q_bit != 0)
*q=byte >> (8-q_bit);
q+=scanline_pad;
}
***************
*** 4166,4172 ****
p++;
p_bit=0;
}
! if (q_bit > 0)
*q=byte << (8-q_bit);
q+=scanline_pad;
}
--- 4172,4178 ----
p++;
p_bit=0;
}
! if (q_bit != 0)
*q=byte << (8-q_bit);
q+=scanline_pad;
}
***************
*** 5556,5561 ****
--- 5562,5571 ----
}
else
{
+ double
+ normalized_maximum_error,
+ normalized_mean_error;
+
Image
*image,
info_image,
***************
*** 5564,5570 ****
time_t
start_time;
! unsigned long
total_colors;
/*
--- 5574,5583 ----
time_t
start_time;
! unsigned int
! mean_error_per_pixel;
!
! unsigned long int
total_colors;
/*
***************
*** 5581,5588 ****
do
{
info_image=(*image);
! if (scene > 0)
image->scene=scene;
/*
Transform image as defined by the clip, image and scale geometries.
*/
--- 5594,5602 ----
do
{
info_image=(*image);
! if (scene != 0)
image->scene=scene;
+ total_colors=0;
/*
Transform image as defined by the clip, image and scale geometries.
*/
***************
*** 5654,5678 ****
InverseImage(image);
if (normalize)
NormalizeImage(image);
- if (verbose)
- {
- /*
- Initialize image error attributes.
- */
- if (image->class == DirectClass)
- image->colors=NumberColors(image,(FILE *) NULL);
- total_colors=image->colors;
- }
if (resource_info.colorspace == GRAYColorspace)
QuantizeImage(image,256,8,resource_info.dither,GRAYColorspace,True);
if (resource_info.monochrome)
QuantizeImage(image,2,8,resource_info.dither,GRAYColorspace,True);
! if (resource_info.number_colors > 0)
if ((image->class == DirectClass) ||
(image->colors > resource_info.number_colors))
! QuantizeImage(image,resource_info.number_colors,
! resource_info.tree_depth,resource_info.dither,
! resource_info.colorspace,True);
/*
Display image to X server.
*/
--- 5668,5698 ----
InverseImage(image);
if (normalize)
NormalizeImage(image);
if (resource_info.colorspace == GRAYColorspace)
QuantizeImage(image,256,8,resource_info.dither,GRAYColorspace,True);
if (resource_info.monochrome)
QuantizeImage(image,2,8,resource_info.dither,GRAYColorspace,True);
! if (resource_info.number_colors != 0)
if ((image->class == DirectClass) ||
(image->colors > resource_info.number_colors))
! {
! /*
! Reduce the number of colors in the image.
! */
! QuantizeImage(image,resource_info.number_colors,
! resource_info.tree_depth,resource_info.dither,
! resource_info.colorspace,True);
! if (verbose)
! {
! /*
! Measure quantization error.
! */
! QuantizationError(image,&mean_error_per_pixel,
! &normalized_mean_error,&normalized_maximum_error);
! total_colors=NumberColors(image,(FILE *) NULL);
! }
! SyncImage(image);
! }
/*
Display image to X server.
*/
***************
*** 5744,5766 ****
(void) fprintf(stderr," DirectClass ");
else
(void) fprintf(stderr," PseudoClass ");
! if (total_colors != image->colors)
! (void) fprintf(stderr,"%lu=>",total_colors);
! (void) fprintf(stderr,"%uc",image->colors);
! if ((resource_info.number_colors > 0) || resource_info.monochrome)
{
! double
! normalized_maximum_error,
! normalized_mean_error;
!
! unsigned int
! mean_error_per_pixel;
!
! /*
! Measure quantization error.
! */
! QuantizationError(image,&mean_error_per_pixel,
! &normalized_mean_error,&normalized_maximum_error);
(void) fprintf(stderr," %u/%.6f/%.6fe",mean_error_per_pixel,
normalized_mean_error,normalized_maximum_error);
}
--- 5764,5774 ----
(void) fprintf(stderr," DirectClass ");
else
(void) fprintf(stderr," PseudoClass ");
! if (total_colors == 0)
! (void) fprintf(stderr,"%uc",image->colors);
! else
{
! (void) fprintf(stderr,"%lu=>%uc",total_colors,image->colors);
(void) fprintf(stderr," %u/%.6f/%.6fe",mean_error_per_pixel,
normalized_mean_error,normalized_maximum_error);
}
***************
*** 5791,5797 ****
for (i--; i > 0; i--)
if (image_marker[i] == (image_number-2))
break;
! if (image_number > 0)
image_number--;
}
}
--- 5799,5805 ----
for (i--; i > 0; i--)
if (image_marker[i] == (image_number-2))
break;
! if (image_number != 0)
image_number--;
}
}
diff -r -c ImageMagick/display.h ImageMagick2.2.3/display.h
*** ImageMagick/display.h Tue Dec 22 16:23:32 1992
--- ImageMagick2.2.3/display.h Wed Dec 23 18:10:04 1992
***************
*** 51,55 ****
*/
#ifndef lint
static char
! Version[]="@(#)ImageMagick 2.2.2 92/12/22 cristy@dupont.com";
#endif
--- 51,55 ----
*/
#ifndef lint
static char
! Version[]="@(#)ImageMagick 2.2.3 93/01/01 cristy@dupont.com";
#endif
diff -r -c ImageMagick/image.c ImageMagick2.2.3/image.c
*** ImageMagick/image.c Tue Dec 22 16:06:19 1992
--- ImageMagick2.2.3/image.c Wed Dec 23 18:10:03 1992
***************
*** 62,67 ****
--- 62,73 ----
*client_name;
/*
+ Forward declarations.
+ */
+ static Image
+ *ZoomImage _Declare((Image *));
+
+ /*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% %
***************
*** 1597,1605 ****
}
case PseudoClass:
{
- register unsigned short
- index;
-
/*
Gamma-correct PseudoClass image.
*/
--- 1603,1608 ----
***************
*** 1609,1623 ****
image->colormap[i].green=gamma_map[image->colormap[i].green];
image->colormap[i].blue=gamma_map[image->colormap[i].blue];
}
! p=image->pixels;
! for (i=0; i < image->packets; i++)
! {
! index=p->index;
! p->red=image->colormap[index].red;
! p->green=image->colormap[index].green;
! p->blue=image->colormap[index].blue;
! p++;
! }
break;
}
}
--- 1612,1618 ----
image->colormap[i].green=gamma_map[image->colormap[i].green];
image->colormap[i].blue=gamma_map[image->colormap[i].blue];
}
! SyncImage(image);
break;
}
}
***************
*** 1675,1683 ****
}
case PseudoClass:
{
- register unsigned short
- index;
-
/*
Inverse PseudoClass packets.
*/
--- 1670,1675 ----
***************
*** 1687,1701 ****
image->colormap[i].green=(~image->colormap[i].green);
image->colormap[i].blue=(~image->colormap[i].blue);
}
! p=image->pixels;
! for (i=0; i < image->packets; i++)
! {
! index=p->index;
! p->red=image->colormap[index].red;
! p->green=image->colormap[index].green;
! p->blue=image->colormap[index].blue;
! p++;
! }
break;
}
}
--- 1679,1685 ----
image->colormap[i].green=(~image->colormap[i].green);
image->colormap[i].blue=(~image->colormap[i].blue);
}
! SyncImage(image);
break;
}
}
***************
*** 2032,2038 ****
break;
}
intensity=0;
! for (high=MaxRGB; high > 0; high--)
{
intensity+=histogram[high];
if (intensity > threshold_intensity)
--- 2016,2022 ----
break;
}
intensity=0;
! for (high=MaxRGB; high != 0; high--)
{
intensity+=histogram[high];
if (intensity > threshold_intensity)
***************
*** 2052,2058 ****
break;
}
intensity=0;
! for (high=MaxRGB; high > 0; high--)
{
intensity+=histogram[high];
if (intensity > threshold_intensity)
--- 2036,2042 ----
break;
}
intensity=0;
! for (high=MaxRGB; high != 0; high--)
{
intensity+=histogram[high];
if (intensity > threshold_intensity)
***************
*** 2094,2102 ****
}
case PseudoClass:
{
- register unsigned short
- index;
-
/*
Normalize PseudoClass image.
*/
--- 2078,2083 ----
***************
*** 2106,2120 ****
image->colormap[i].green=normalize_map[image->colormap[i].green];
image->colormap[i].blue=normalize_map[image->colormap[i].blue];
}
! p=image->pixels;
! for (i=0; i < image->packets; i++)
! {
! index=p->index;
! p->red=image->colormap[index].red;
! p->green=image->colormap[index].green;
! p->blue=image->colormap[index].blue;
! p++;
! }
break;
}
}
--- 2087,2093 ----
image->colormap[i].green=normalize_map[image->colormap[i].green];
image->colormap[i].blue=normalize_map[image->colormap[i].blue];
}
! SyncImage(image);
break;
}
}
***************
*** 3502,3508 ****
%
%
*/
! Image *ReduceImage(image)
Image
*image;
{
--- 3475,3481 ----
%
%
*/
! static Image *ReduceImage(image)
Image
*image;
{
***************
*** 4005,4013 ****
}
case PseudoClass:
{
- register unsigned short
- index;
-
/*
Convert PseudoClass image.
*/
--- 3978,3983 ----
***************
*** 4023,4037 ****
image->colormap[i].blue=
range_limit[DownShift(x[red+Z]+y[green+Z]+z[blue+Z]+tz)];
}
! p=image->pixels;
! for (i=0; i < image->packets; i++)
! {
! index=p->index;
! p->red=image->colormap[index].red;
! p->green=image->colormap[index].green;
! p->blue=image->colormap[index].blue;
! p++;
! }
break;
}
}
--- 3993,3999 ----
image->colormap[i].blue=
range_limit[DownShift(x[red+Z]+y[green+Z]+z[blue+Z]+tz)];
}
! SyncImage(image);
break;
}
}
***************
*** 4082,4088 ****
Image
*image;
! unsigned int
x_offset,
y_offset;
{
--- 4044,4050 ----
Image
*image;
! int
x_offset,
y_offset;
{
***************
*** 4540,4545 ****
--- 4502,4554 ----
return(stereo_image);
}
+ /*
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % %
+ % %
+ % %
+ % S y n c I m a g e %
+ % %
+ % %
+ % %
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % Function SyncImage initializes the red, green, and blue intensities of each
+ % pixel as defined by the colormap index.
+ %
+ % The format of the SyncImage routine is:
+ %
+ % SyncImage(image)
+ %
+ % A description of each parameter follows:
+ %
+ % o image: The address of a structure of type Image.
+ %
+ %
+ */
+ void SyncImage(image)
+ Image
+ *image;
+ {
+ register int
+ i;
+
+ register RunlengthPacket
+ *p;
+
+ register unsigned short
+ index;
+
+ p=image->pixels;
+ for (i=0; i < image->packets; i++)
+ {
+ index=p->index;
+ p->red=image->colormap[index].red;
+ p->green=image->colormap[index].green;
+ p->blue=image->colormap[index].blue;
+ p++;
+ }
+ }
/*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
***************
*** 5430,5436 ****
%
%
*/
! Image *ZoomImage(image)
Image
*image;
{
--- 5439,5445 ----
%
%
*/
! static Image *ZoomImage(image)
Image
*image;
{
diff -r -c ImageMagick/image.h ImageMagick2.2.3/image.h
*** ImageMagick/image.h Tue Dec 22 16:04:24 1992
--- ImageMagick2.2.3/image.h Wed Dec 23 18:33:18 1992
***************
*** 146,159 ****
*EnhanceImage _Declare((Image *)),
*NoisyImage _Declare((Image *)),
*ReadImage _Declare((char *)),
- *ReduceImage _Declare((Image *)),
*ReflectImage _Declare((Image *)),
! *RollImage _Declare((Image *,unsigned int,unsigned int)),
! *RotateImage _Declare((Image *,double,int)),
*ScaleImage _Declare((Image *,unsigned int,unsigned int)),
*ShearImage _Declare((Image *,double,double,unsigned int)),
! *StereoImage _Declare((Image *,Image *)),
! *ZoomImage _Declare((Image *));
extern int
ReadDataBlock _Declare((char *,FILE *));
--- 146,157 ----
*EnhanceImage _Declare((Image *)),
*NoisyImage _Declare((Image *)),
*ReadImage _Declare((char *)),
*ReflectImage _Declare((Image *)),
! *RollImage _Declare((Image *,int,int)),
! *RotateImage _Declare((Image *,double,unsigned int)),
*ScaleImage _Declare((Image *,unsigned int,unsigned int)),
*ShearImage _Declare((Image *,double,double,unsigned int)),
! *StereoImage _Declare((Image *,Image *));
extern int
ReadDataBlock _Declare((char *,FILE *));
***************
*** 186,190 ****
--- 184,189 ----
unsigned int,unsigned int,unsigned int,unsigned int)),
RGBTransformImage _Declare((Image *,unsigned int)),
SortColormapByIntensity _Declare((Image *)),
+ SyncImage _Declare((Image *)),
TransformImage _Declare((Image **,char *,char *,char *)),
TransformRGBImage _Declare((Image *,unsigned int));
Common subdirectories: ImageMagick/images and ImageMagick2.2.3/images
diff -r -c ImageMagick/import.c ImageMagick2.2.3/import.c
*** ImageMagick/import.c Tue Dec 22 16:04:24 1992
--- ImageMagick2.2.3/import.c Wed Dec 23 18:10:03 1992
***************
*** 433,439 ****
/*
Read image from X server.
*/
! if (resource_info.delay > 0)
(void) sleep(resource_info.delay);
start_time=time((time_t *) 0);
image=ReadXImage(target_window,server_name,frame,screen,borders);
--- 433,439 ----
/*
Read image from X server.
*/
! if (resource_info.delay != 0)
(void) sleep(resource_info.delay);
start_time=time((time_t *) 0);
image=ReadXImage(target_window,server_name,frame,screen,borders);
***************
*** 459,465 ****
(void) fprintf(stderr," DirectClass ");
else
(void) fprintf(stderr," PseudoClass ");
! (void) fprintf(stderr,"%dc %s %ds\n",image->colors,image->magick,
time((time_t *) 0)-start_time+1);
}
DestroyImage(image);
--- 459,465 ----
(void) fprintf(stderr," DirectClass ");
else
(void) fprintf(stderr," PseudoClass ");
! (void) fprintf(stderr,"%dc %s %lds\n",image->colors,image->magick,
time((time_t *) 0)-start_time+1);
}
DestroyImage(image);
diff -r -c ImageMagick/montage.c ImageMagick2.2.3/montage.c
*** ImageMagick/montage.c Tue Dec 22 16:04:25 1992
--- ImageMagick2.2.3/montage.c Wed Dec 23 18:10:04 1992
***************
*** 249,255 ****
tile_border_height,
tile_border_width,
x,
! y;
register char
*q;
--- 249,257 ----
tile_border_height,
tile_border_width,
x,
! x_offset,
! y,
! y_offset;
register char
*q;
***************
*** 266,274 ****
status,
tile,
tile_height,
! tile_width,
! x_offset,
! y_offset;
XAnnotateInfo
annotate_info;
--- 268,274 ----
status,
tile,
tile_height,
! tile_width;
XAnnotateInfo
annotate_info;
***************
*** 488,494 ****
status=UnpackImage(image);
if (status == False)
Error("unable to unpack image",(char *) NULL);
! if (border_width > 0)
{
Image
*bordered_image;
--- 488,494 ----
status=UnpackImage(image);
if (status == False)
Error("unable to unpack image",(char *) NULL);
! if (border_width != 0)
{
Image
*bordered_image;
***************
*** 1396,1408 ****
QuantizeImage(montage_image,256,8,resource_info.dither,GRAYColorspace,True);
if (resource_info.monochrome)
QuantizeImage(montage_image,2,8,resource_info.dither,GRAYColorspace,True);
! if (resource_info.number_colors > 0)
! QuantizeImage(montage_image,resource_info.number_colors,
! resource_info.tree_depth,resource_info.dither,resource_info.colorspace,
! True);
if (compression != UndefinedCompression)
montage_image->compression=compression;
! strcpy(montage_image->filename,write_filename);
(void) WriteAlienImage(montage_image);
if (verbose)
{
--- 1396,1411 ----
QuantizeImage(montage_image,256,8,resource_info.dither,GRAYColorspace,True);
if (resource_info.monochrome)
QuantizeImage(montage_image,2,8,resource_info.dither,GRAYColorspace,True);
! if (resource_info.number_colors != 0)
! {
! QuantizeImage(montage_image,resource_info.number_colors,
! resource_info.tree_depth,resource_info.dither,resource_info.colorspace,
! True);
! SyncImage(montage_image);
! }
if (compression != UndefinedCompression)
montage_image->compression=compression;
! (void) strcpy(montage_image->filename,write_filename);
(void) WriteAlienImage(montage_image);
if (verbose)
{
diff -r -c ImageMagick/quantize.c ImageMagick2.2.3/quantize.c
*** ImageMagick/quantize.c Tue Dec 22 16:06:18 1992
--- ImageMagick2.2.3/quantize.c Wed Dec 23 18:10:04 1992
***************
*** 430,436 ****
cube.color.red=p->red;
cube.color.green=p->green;
cube.color.blue=p->blue;
! cube.distance=(~0);
ClosestColor(node->parent);
p->index=cube.color_number;
p++;
--- 430,436 ----
cube.color.red=p->red;
cube.color.green=p->green;
cube.color.blue=p->blue;
! cube.distance=(unsigned long int) (~0);
ClosestColor(node->parent);
p->index=cube.color_number;
p++;
***************
*** 900,906 ****
cube.color.red=red;
cube.color.green=green;
cube.color.blue=blue;
! cube.distance=(~0);
ClosestColor(node->parent);
cache[i]=cube.color_number;
}
--- 900,906 ----
cube.color.red=red;
cube.color.green=green;
cube.color.blue=blue;
! cube.distance=(unsigned long int) (~0);
ClosestColor(node->parent);
cache[i]=cube.color_number;
}
***************
*** 1020,1026 ****
/*
Initialize the shift values.
*/
! for (max_shift=0; number_pixels > 0; max_shift++)
number_pixels<<=1;
for (level=0; level < cube.depth; level++)
{
--- 1020,1026 ----
/*
Initialize the shift values.
*/
! for (max_shift=0; number_pixels != 0; max_shift++)
number_pixels<<=1;
for (level=0; level < cube.depth; level++)
{
***************
*** 1044,1050 ****
exit(1);
}
cube.root->parent=cube.root;
! cube.root->number_colors=(~0);
cube.colors=0;
}
--- 1044,1050 ----
exit(1);
}
cube.root->parent=cube.root;
! cube.root->number_colors=(unsigned long int) (~0);
cube.colors=0;
}
***************
*** 1552,1558 ****
RGBTransformImage(image,colorspace);
Classification(image);
if (!optimal)
! dither|=cube.colors > (1 << (cube.depth-1));
Reduction(number_colors);
Assignment(image,dither,optimal);
if (colorspace != RGBColorspace)
--- 1552,1558 ----
RGBTransformImage(image,colorspace);
Classification(image);
if (!optimal)
! dither|=(cube.colors > (1 << (cube.depth-1)));
Reduction(number_colors);
Assignment(image,dither,optimal);
if (colorspace != RGBColorspace)
***************
*** 1689,1695 ****
Classification(images[i]);
}
if (!optimal)
! dither|=cube.colors > (1 << (cube.depth-1));
Reduction(number_colors);
for (i=0; i < number_images; i++)
{
--- 1689,1695 ----
Classification(images[i]);
}
if (!optimal)
! dither|=(cube.colors > (1 << (cube.depth-1)));
Reduction(number_colors);
for (i=0; i < number_images; i++)
{
Only in ImageMagick2.2.3: rotate.c
Common subdirectories: ImageMagick/scenes and ImageMagick2.2.3/scenes
diff -r -c ImageMagick/shear.c ImageMagick2.2.3/shear.c
*** ImageMagick/shear.c Tue Dec 22 16:04:26 1992
--- ImageMagick2.2.3/shear.c Wed Dec 23 21:12:31 1992
***************
*** 940,946 ****
double
degrees;
! int
clip;
{
ColorPacket
--- 940,946 ----
double
degrees;
! unsigned int
clip;
{
ColorPacket
***************
*** 1038,1044 ****
background.red=image->pixels[0].red;
background.green=image->pixels[0].green;
background.blue=image->pixels[0].blue;
! rotated_image=BorderImage(integral_image,x_offset,y_offset+1,background);
DestroyImage(integral_image);
if (rotated_image == (Image *) NULL)
{
--- 1038,1045 ----
background.red=image->pixels[0].red;
background.green=image->pixels[0].green;
background.blue=image->pixels[0].blue;
! rotated_image=BorderImage(integral_image,(unsigned int) x_offset,
! (unsigned int) y_offset+1,background);
DestroyImage(integral_image);
if (rotated_image == (Image *) NULL)
{
***************
*** 1187,1193 ****
background.red=image->pixels[0].red;
background.green=image->pixels[0].green;
background.blue=image->pixels[0].blue;
! sheared_image=BorderImage(image,x_offset,y_offset+1,background);
if (sheared_image == (Image *) NULL)
{
Warning("unable to rotate image","memory allocation failed");
--- 1188,1195 ----
background.red=image->pixels[0].red;
background.green=image->pixels[0].green;
background.blue=image->pixels[0].blue;
! sheared_image=BorderImage(image,(unsigned int) x_offset,
! (unsigned int) y_offset+1,background);
if (sheared_image == (Image *) NULL)
{
Warning("unable to rotate image","memory allocation failed");
diff -r -c ImageMagick/signature.c ImageMagick2.2.3/signature.c
*** ImageMagick/signature.c Tue Dec 22 16:04:27 1992
--- ImageMagick2.2.3/signature.c Wed Dec 23 18:10:04 1992
***************
*** 244,265 ****
static unsigned long int
additive_constant[64]= /* 4294967296*abs(sin(i)), i in radians */
{
! 3614090360L, 3905402710L, 606105819L, 3250441966L,
! 4118548399L, 1200080426L, 2821735955L, 4249261313L,
! 1770035416L, 2336552879L, 4294925233L, 2304563134L,
! 1804603682L, 4254626195L, 2792965006L, 1236535329L,
! 4129170786L, 3225465664L, 643717713L, 3921069994L,
! 3593408605L, 38016083L, 3634488961L, 3889429448L,
! 568446438L, 3275163606L, 4107603335L, 1163531501L,
! 2850285829L, 4243563512L, 1735328473L, 2368359562L,
! 4294588738L, 2272392833L, 1839030562L, 4259657740L,
! 2763975236L, 1272893353L, 4139469664L, 3200236656L,
! 681279174L, 3936430074L, 3572445317L, 76029189L,
! 3654602809L, 3873151461L, 530742520L, 3299628645L,
! 4096336452L, 1126891415L, 2878612391L, 4237533241L,
! 1700485571L, 2399980690L, 4293915773L, 2240044497L,
! 1873313359L, 4264355552L, 2734768916L, 1309151649L,
! 4149444226L, 3173756917L, 718787259L, 3951481745L
};
register int
--- 244,262 ----
static unsigned long int
additive_constant[64]= /* 4294967296*abs(sin(i)), i in radians */
{
! 0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee, 0xf57c0faf,
! 0x4787c62a, 0xa8304613, 0xfd469501, 0x698098d8, 0x8b44f7af,
! 0xffff5bb1, 0x895cd7be, 0x6b901122, 0xfd987193, 0xa679438e,
! 0x49b40821, 0xf61e2562, 0xc040b340, 0x265e5a51, 0xe9b6c7aa,
! 0xd62f105d, 0x2441453, 0xd8a1e681, 0xe7d3fbc8, 0x21e1cde6,
! 0xc33707d6, 0xf4d50d87, 0x455a14ed, 0xa9e3e905, 0xfcefa3f8,
! 0x676f02d9, 0x8d2a4c8a, 0xfffa3942, 0x8771f681, 0x6d9d6122,
! 0xfde5380c, 0xa4beea44, 0x4bdecfa9, 0xf6bb4b60, 0xbebfbc70,
! 0x289b7ec6, 0xeaa127fa, 0xd4ef3085, 0x4881d05, 0xd9d4d039,
! 0xe6db99e5, 0x1fa27cf8, 0xc4ac5665, 0xf4292244, 0x432aff97,
! 0xab9423a7, 0xfc93a039, 0x655b59c3, 0x8f0ccc92, 0xffeff47d,
! 0x85845dd1, 0x6fa87e4f, 0xfe2ce6e0, 0xa3014314, 0x4e0811a1,
! 0xf7537e82, 0xbd3af235, 0x2ad7d2bb, 0xeb86d391,
};
register int
Common subdirectories: ImageMagick/utilities and ImageMagick2.2.3/utilities
Common subdirectories: ImageMagick/xtp and ImageMagick2.2.3/xtp
diff -r -c ImageMagick/utilities/MIFFtoSTEREO.c ImageMagick2.2.3/utilities/MIFFtoSTEREO.c
*** ImageMagick/utilities/MIFFtoSTEREO.c Tue Dec 22 16:05:22 1992
--- ImageMagick2.2.3/utilities/MIFFtoSTEREO.c Wed Dec 23 18:10:10 1992
***************
*** 200,206 ****
(void) fprintf(stderr," DirectClass ");
else
(void) fprintf(stderr," PseudoClass ");
! (void) fprintf(stderr,"%dc %s %ds\n",stereo_image->colors,
stereo_image->magick,time((time_t *) 0)-start_time+1);
return(!status);
}
--- 200,206 ----
(void) fprintf(stderr," DirectClass ");
else
(void) fprintf(stderr," PseudoClass ");
! (void) fprintf(stderr,"%dc %s %lds\n",stereo_image->colors,
stereo_image->magick,time((time_t *) 0)-start_time+1);
return(!status);
}
diff -r -c ImageMagick/utilities/convert.c ImageMagick2.2.3/utilities/convert.c
*** ImageMagick/utilities/convert.c Tue Dec 22 16:05:23 1992
--- ImageMagick2.2.3/utilities/convert.c Wed Dec 23 18:10:10 1992
***************
*** 203,209 ****
char
*argv[];
{
! #define NotInitialized (~0)
AlienInfo
alien_info;
--- 203,209 ----
char
*argv[];
{
! #define NotInitialized (unsigned int) (~0)
AlienInfo
alien_info;
***************
*** 212,217 ****
--- 212,221 ----
*filename,
*option;
+ double
+ normalized_maximum_error,
+ normalized_mean_error;
+
Image
*image,
*next_image;
***************
*** 229,241 ****
colorspace,
compression,
dither,
number_colors,
quality,
scene,
- total_colors,
tree_depth,
verbose;
/*
Initialize program variables.
*/
--- 233,248 ----
colorspace,
compression,
dither,
+ mean_error_per_pixel,
number_colors,
quality,
scene,
tree_depth,
verbose;
+ unsigned long int
+ total_colors;
+
/*
Initialize program variables.
*/
***************
*** 453,483 ****
*/
do
{
if (alpha != NotInitialized)
image->alpha=alpha;
if (compression != UndefinedCompression)
image->compression=compression;
! if (quality > 0)
image->quality=quality;
! if (scene > 0)
image->scene=scene;
(void) strcpy(image->filename,argv[i]);
if (image->last != (Image *) NULL)
(void) sprintf(image->filename,"%s.%u\0",argv[i],image->scene);
- if (verbose)
- {
- /*
- Initialize image error attributes.
- */
- if (image->class == DirectClass)
- image->colors=NumberColors(image,(FILE *) NULL);
- total_colors=image->colors;
- }
if (colorspace == GRAYColorspace)
QuantizeImage(image,256,8,dither,GRAYColorspace,True);
! if (number_colors > 0)
if ((image->class == DirectClass) || (image->colors > number_colors))
! QuantizeImage(image,number_colors,tree_depth,dither,colorspace,True);
status=WriteAlienImage(image);
if (verbose)
{
--- 460,497 ----
*/
do
{
+ total_colors=0;
if (alpha != NotInitialized)
image->alpha=alpha;
if (compression != UndefinedCompression)
image->compression=compression;
! if (quality != 0)
image->quality=quality;
! if (scene != 0)
image->scene=scene;
(void) strcpy(image->filename,argv[i]);
if (image->last != (Image *) NULL)
(void) sprintf(image->filename,"%s.%u\0",argv[i],image->scene);
if (colorspace == GRAYColorspace)
QuantizeImage(image,256,8,dither,GRAYColorspace,True);
! if (number_colors != 0)
if ((image->class == DirectClass) || (image->colors > number_colors))
! {
! /*
! Reduce the number of colors in the image.
! */
! QuantizeImage(image,number_colors,tree_depth,dither,colorspace,True);
! if (verbose)
! {
! /*
! Measure quantization error.
! */
! QuantizationError(image,&mean_error_per_pixel,
! &normalized_mean_error,&normalized_maximum_error);
! total_colors=NumberColors(image,(FILE *) NULL);
! }
! SyncImage(image);
! }
status=WriteAlienImage(image);
if (verbose)
{
***************
*** 490,512 ****
(void) fprintf(stderr," DirectClass ");
else
(void) fprintf(stderr," PseudoClass ");
! if (total_colors != image->colors)
! (void) fprintf(stderr,"%u=>",total_colors);
! (void) fprintf(stderr,"%uc",image->colors);
! if (number_colors > 0)
{
! double
! normalized_maximum_error,
! normalized_mean_error;
!
! unsigned int
! mean_error_per_pixel;
!
! /*
! Measure quantization error.
! */
! QuantizationError(image,&mean_error_per_pixel,
! &normalized_mean_error,&normalized_maximum_error);
(void) fprintf(stderr," %u/%.6f/%.6fe",mean_error_per_pixel,
normalized_mean_error,normalized_maximum_error);
}
--- 504,514 ----
(void) fprintf(stderr," DirectClass ");
else
(void) fprintf(stderr," PseudoClass ");
! if (total_colors == 0)
! (void) fprintf(stderr,"%uc",image->colors);
! else
{
! (void) fprintf(stderr,"%lu=>%uc",total_colors,image->colors);
(void) fprintf(stderr," %u/%.6f/%.6fe",mean_error_per_pixel,
normalized_mean_error,normalized_maximum_error);
}
diff -r -c ImageMagick/utilities/mogrify.c ImageMagick2.2.3/utilities/mogrify.c
*** ImageMagick/utilities/mogrify.c Tue Dec 22 16:05:24 1992
--- ImageMagick2.2.3/utilities/mogrify.c Wed Dec 23 18:10:10 1992
***************
*** 629,634 ****
--- 629,638 ----
}
else
{
+ double
+ normalized_maximum_error,
+ normalized_mean_error;
+
Image
*image,
info_image,
***************
*** 637,642 ****
--- 641,649 ----
time_t
start_time;
+ unsigned int
+ mean_error_per_pixel;
+
unsigned long
total_colors;
***************
*** 656,661 ****
--- 663,669 ----
info_image=(*image);
if (scene > 0)
image->scene=scene;
+ total_colors=0;
/*
Transform image as defined by the clip, image and scale geometries.
*/
***************
*** 796,810 ****
InverseImage(image);
if (normalize)
NormalizeImage(image);
- if (verbose)
- {
- /*
- Initialize image error attributes.
- */
- if (image->class == DirectClass)
- image->colors=NumberColors(image,(FILE *) NULL);
- total_colors=image->colors;
- }
if (colorspace == GRAYColorspace)
QuantizeImage(image,256,8,dither,GRAYColorspace,True);
if (monochrome)
--- 804,809 ----
***************
*** 812,819 ****
if (number_colors > 0)
if ((image->class == DirectClass) ||
(image->colors > number_colors))
! QuantizeImage(image,number_colors,tree_depth,dither,colorspace,
! True);
if (verbose)
{
/*
--- 811,833 ----
if (number_colors > 0)
if ((image->class == DirectClass) ||
(image->colors > number_colors))
! {
! /*
! Reduce the number of colors in the image.
! */
! QuantizeImage(image,number_colors,tree_depth,dither,colorspace,
! True);
! if (verbose)
! {
! /*
! Measure quantization error.
! */
! QuantizationError(image,&mean_error_per_pixel,
! &normalized_mean_error,&normalized_maximum_error);
! total_colors=NumberColors(image,(FILE *) NULL);
! }
! SyncImage(image);
! }
if (verbose)
{
/*
***************
*** 831,853 ****
(void) fprintf(stderr," DirectClass ");
else
(void) fprintf(stderr," PseudoClass ");
! if (total_colors != image->colors)
! (void) fprintf(stderr,"%lu=>",total_colors);
! (void) fprintf(stderr,"%uc",image->colors);
! if ((number_colors > 0) || monochrome)
{
! double
! normalized_maximum_error,
! normalized_mean_error;
!
! unsigned int
! mean_error_per_pixel;
!
! /*
! Measure quantization error.
! */
! QuantizationError(image,&mean_error_per_pixel,
! &normalized_mean_error,&normalized_maximum_error);
(void) fprintf(stderr," %u/%.6f/%.6fe",mean_error_per_pixel,
normalized_mean_error,normalized_maximum_error);
}
--- 845,855 ----
(void) fprintf(stderr," DirectClass ");
else
(void) fprintf(stderr," PseudoClass ");
! if (total_colors == 0)
! (void) fprintf(stderr,"%uc",image->colors);
! else
{
! (void) fprintf(stderr,"%lu=>%uc",total_colors,image->colors);
(void) fprintf(stderr," %u/%.6f/%.6fe",mean_error_per_pixel,
normalized_mean_error,normalized_maximum_error);
}
diff -r -c ImageMagick/xtp/xtp.c ImageMagick2.2.3/xtp/xtp.c
*** ImageMagick/xtp/xtp.c Tue Dec 22 16:05:32 1992
--- ImageMagick2.2.3/xtp/xtp.c Wed Dec 23 21:12:13 1992
***************
*** 313,319 ****
(void) tcgetattr(STDIN_FILENO,&attributes);
attributes.c_lflag&=(~ECHO);
(void) tcsetattr(STDIN_FILENO,TCSANOW,&attributes);
! gets(password);
attributes.c_lflag|=ECHO;
(void) tcsetattr(STDIN_FILENO,TCSANOW,&attributes);
(void) fprintf(stdout,"\n");
--- 313,319 ----
(void) tcgetattr(STDIN_FILENO,&attributes);
attributes.c_lflag&=(~ECHO);
(void) tcsetattr(STDIN_FILENO,TCSANOW,&attributes);
! (void) gets(password);
attributes.c_lflag|=ECHO;
(void) tcsetattr(STDIN_FILENO,TCSANOW,&attributes);
(void) fprintf(stdout,"\n");
--
cristy@dupont.com
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads