home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-07-13 | 50.4 KB | 1,463 lines |
- Newsgroups: comp.sources.x
- From: cristy@eplrx7.es.duPont.com (Cristy)
- Subject: v20i093: imagemagic - X11 image processing and display, Part37/38
- Message-ID: <1993Jul14.232343.23853@sparky.sterling.com>
- X-Md4-Signature: be6397075fc3493b9e9d567f342e3b05
- Sender: chris@sparky.sterling.com (Chris Olson)
- Organization: Sterling Software
- Date: Wed, 14 Jul 1993 23:23:43 GMT
- Approved: chris@sterling.com
-
- Submitted-by: cristy@eplrx7.es.duPont.com (Cristy)
- Posting-number: Volume 20, Issue 93
- Archive-name: imagemagic/part37
- Environment: X11
- Supersedes: imagemagic: Volume 13, Issue 17-37
-
- #!/bin/sh
- # this is magick.37 (part 37 of ImageMagick)
- # do not concatenate these parts, unpack them in order with /bin/sh
- # file ImageMagick/encode.c continued
- #
- if test ! -r _shar_seq_.tmp; then
- echo 'Please unpack part 1 first!'
- exit 1
- fi
- (read Scheck
- if test "$Scheck" != 37; then
- echo Please unpack part "$Scheck" next!
- exit 1
- else
- exit 0
- fi
- ) < _shar_seq_.tmp || exit 1
- if test ! -f _shar_wnt_.tmp; then
- echo 'x - still skipping ImageMagick/encode.c'
- else
- echo 'x - continuing file ImageMagick/encode.c'
- sed 's/^X//' << 'SHAR_EOF' >> 'ImageMagick/encode.c' &&
- X if (*event.xclient.data.l == delete_property)
- X if (event.xclient.window == window_info.id)
- X break;
- X if (event.type == Expose)
- X XRefreshWindow(display,&window_info,&event);
- X }
- X /*
- X Free X resources.
- X */
- X XWithdrawWindow(display,window_info.id,window_info.screen);
- X XDestroyWindow(display,window_info.id);
- X XDestroyImage(window_info.ximage);
- X XFreeCursor(display,window_info.cursor);
- X XFreeCursor(display,window_info.busy_cursor);
- X XFree((void *) visual_info);
- X XFree((void *) map_info);
- X XCloseDisplay(display);
- X return(True);
- }
- X
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % W r i t e X B M I m a g e %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % Procedure WriteXBMImage writes an image to a file in the X bitmap format.
- %
- % The format of the WriteXBMImage routine is:
- %
- % status=WriteXBMImage(image)
- %
- % A description of each parameter follows.
- %
- % o status: Function WriteXBMImage return True if the image is written.
- % False is returned is there is a memory shortage or if the image file
- % fails to write.
- %
- % o image: A pointer to a Image structure.
- %
- %
- */
- static unsigned int WriteXBMImage(image)
- Image
- X *image;
- {
- X char
- X name[2048];
- X
- X register int
- X i,
- X j,
- X x;
- X
- X register char
- X *q;
- X
- X register RunlengthPacket
- X *p;
- X
- X register unsigned char
- X bit,
- X byte;
- X
- X register unsigned short
- X polarity;
- X
- X unsigned int
- X count;
- X
- X /*
- X Open output image file.
- X */
- X OpenImage(image,"w");
- X if (image->file == (FILE *) NULL)
- X {
- X Warning("unable to open file",image->filename);
- X return(False);
- X }
- X /*
- X Write X bitmap header.
- X */
- X (void) strcpy(name,image->filename);
- X q=name;
- X while ((*q != '.') && (*q != '\0'))
- X q++;
- X if (*q == '.')
- X *q='\0';
- X (void) fprintf(image->file,"#define %s_width %u\n",name,image->columns);
- X (void) fprintf(image->file,"#define %s_height %u\n",name,image->rows);
- X (void) fprintf(image->file,"static char %s_bits[] = {\n",name);
- X (void) fprintf(image->file," ");
- X /*
- X Convert MIFF to X bitmap pixels.
- X */
- X QuantizeImage(image,2,8,False,GRAYColorspace,True);
- X p=image->pixels;
- X polarity=(Intensity(image->colormap[0]) >
- X Intensity(image->colormap[1]) ? 0 : 1);
- X bit=0;
- X byte=0;
- X count=0;
- X x=0;
- X (void) fprintf(image->file," ");
- X for (i=0; i < image->packets; i++)
- X {
- X for (j=0; j <= ((int) p->length); j++)
- X {
- X byte>>=1;
- X if (p->index == polarity)
- X byte|=0x80;
- X bit++;
- X if (bit == 8)
- X {
- X /*
- X Write a bitmap byte to the image file.
- X */
- X (void) fprintf(image->file,"0x%02x, ",~byte & 0xff);
- X count++;
- X if (count == 12)
- X {
- X (void) fprintf(image->file,"\n ");
- X count=0;
- X };
- X bit=0;
- X byte=0;
- X }
- X x++;
- X if (x == image->columns)
- X {
- X if (bit != 0)
- X {
- X /*
- X Write a bitmap byte to the image file.
- X */
- X byte>>=(8-bit);
- X (void) fprintf(image->file,"0x%02x, ",~byte & 0xff);
- X count++;
- X if (count == 12)
- X {
- X (void) fprintf(image->file,"\n ");
- X count=0;
- X };
- X bit=0;
- X byte=0;
- X };
- X x=0;
- X }
- X }
- X p++;
- X }
- X (void) fprintf(image->file,"};\n");
- X CloseImage(image);
- X return(True);
- }
- X
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % W r i t e X C I m a g e %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % Function WriteXCImage writes an image in the X constant image format.
- %
- % The format of the WriteXCImage routine is:
- %
- % status=WriteXCImage(image)
- %
- % A description of each parameter follows.
- %
- % o status: Function WriteXCImage return True if the image is written.
- % False is returned is there is a memory shortage or if the image file
- % fails to write.
- %
- % o image: A pointer to a Image structure.
- %
- %
- */
- static unsigned int WriteXCImage(image)
- Image
- X *image;
- {
- X unsigned int
- X status;
- X
- X Warning("Cannot write XC images",image->filename);
- X status=WriteMIFFImage(image);
- X return(status);
- }
- X
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % W r i t e Y U V I m a g e %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % Function WriteYUVImage writes an image to a file in Y, U, and V rasterfile
- % format. U and V, normally -0.5 through 0.5, is normalized to the range
- % 0 through 255 to fit within a byte.
- %
- % The format of the WriteYUVImage routine is:
- %
- % status=WriteYUVImage(image,interlace)
- %
- % A description of each parameter follows.
- %
- % o status: Function WriteYUVImage return True if the image is written.
- % False is returned is there is a memory shortage or if the image file
- % fails to write.
- %
- % o image: A pointer to a Image structure.
- %
- % o interlace: An unsigned integer that specifies the interlacing
- % scheme.
- %
- %
- */
- static unsigned int WriteYUVImage(image,interlace)
- Image
- X *image;
- X
- unsigned int
- X interlace;
- {
- X register int
- X i,
- X j;
- X
- X register RunlengthPacket
- X *p;
- X
- X register unsigned char
- X *q;
- X
- X unsigned char
- X *yuv_pixels;
- X
- X /*
- X Open output image file.
- X */
- X OpenImage(image,"w");
- X if (image->file == (FILE *) NULL)
- X {
- X Warning("unable to open file",image->filename);
- X return(False);
- X }
- X /*
- X Convert MIFF to YUV raster pixels.
- X */
- X yuv_pixels=(unsigned char *)
- X malloc(3*image->columns*image->rows*sizeof(unsigned char));
- X if (yuv_pixels == (unsigned char *) NULL)
- X {
- X Warning("unable to allocate memory",(char *) NULL);
- X return(False);
- X }
- X RGBTransformImage(image,YUVColorspace);
- X q=yuv_pixels;
- X switch (interlace)
- X {
- X case NoneInterlace:
- X default:
- X {
- X /*
- X No interlacing: YUVYUVYUVYUVYUVYUV...
- X */
- X p=image->pixels;
- X for (i=0; i < image->packets; i++)
- X {
- X for (j=0; j <= ((int) p->length); j++)
- X {
- X *q++=p->red;
- X *q++=p->green;
- X *q++=p->blue;
- X }
- X p++;
- X }
- X break;
- X }
- X case LineInterlace:
- X {
- X register int
- X x,
- X y;
- X
- X /*
- X Line interlacing: YYY...UUU...VVV...YYY...UUU...VVV...
- X */
- X if (!UncompressImage(image))
- X return(False);
- X for (y=0; y < image->rows; y++)
- X {
- X p=image->pixels+(y*image->columns);
- X for (x=0; x < image->columns; x++)
- X {
- X *q++=p->red;
- X p++;
- X }
- X p=image->pixels+(y*image->columns);
- X for (x=0; x < image->columns; x++)
- X {
- X *q++=p->green;
- X p++;
- X }
- X p=image->pixels+(y*image->columns);
- X for (x=0; x < image->columns; x++)
- X {
- X *q++=p->blue;
- X p++;
- X }
- X }
- X break;
- X }
- X case PlaneInterlace:
- X {
- X /*
- X Plane interlacing: YYYYYY...UUUUUU...VVVVVV...
- X */
- X p=image->pixels;
- X for (i=0; i < image->packets; i++)
- X {
- X for (j=0; j <= ((int) p->length); j++)
- X *q++=p->red;
- X p++;
- X }
- X p=image->pixels;
- X for (i=0; i < image->packets; i++)
- X {
- X for (j=0; j <= ((int) p->length); j++)
- X *q++=p->green;
- X p++;
- X }
- X p=image->pixels;
- X for (i=0; i < image->packets; i++)
- X {
- X for (j=0; j <= ((int) p->length); j++)
- X *q++=p->blue;
- X p++;
- X }
- X break;
- X }
- X }
- X (void) fwrite((char *) yuv_pixels,3,(int) (image->columns*image->rows),
- X image->file);
- X (void) free((char *) yuv_pixels);
- X TransformRGBImage(image,YUVColorspace);
- X CloseImage(image);
- X return(True);
- }
- X
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % W r i t e X W D I m a g e %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % Function WriteXWDImage writes an image to a file in X window dump
- % rasterfile format.
- %
- % The format of the WriteXWDImage routine is:
- %
- % status=WriteXWDImage(image)
- %
- % A description of each parameter follows.
- %
- % o status: Function WriteXWDImage return True if the image is written.
- % False is returned is there is a memory shortage or if the image file
- % fails to write.
- %
- % o image: A pointer to a Image structure.
- %
- %
- */
- static unsigned int WriteXWDImage(image)
- Image
- X *image;
- {
- X int
- X x;
- X
- X register int
- X i,
- X j;
- X
- X register RunlengthPacket
- X *p;
- X
- X register unsigned char
- X *q;
- X
- X unsigned char
- X *xwd_pixels;
- X
- X unsigned int
- X scanline_pad;
- X
- X unsigned long
- X packets;
- X
- X XWDFileHeader
- X xwd_header;
- X
- X /*
- X Open output image file.
- X */
- X OpenImage(image,"w");
- X if (image->file == (FILE *) NULL)
- X {
- X Warning("unable to open file",image->filename);
- X return(False);
- X }
- X /*
- X Initialize XWD file header.
- X */
- X xwd_header.header_size=100+strlen(image->filename)+1;
- X xwd_header.file_version=(unsigned long) XWD_FILE_VERSION;
- X xwd_header.pixmap_format=(unsigned long) ZPixmap;
- X xwd_header.pixmap_depth=(unsigned long)
- X (image->class == DirectClass ? 24 : 8);
- X xwd_header.pixmap_width=(unsigned long) image->columns;
- X xwd_header.pixmap_height=(unsigned long) image->rows;
- X xwd_header.xoffset=(unsigned long) 0;
- X xwd_header.byte_order=(unsigned long) MSBFirst;
- X xwd_header.bitmap_unit=(unsigned long) (image->class == DirectClass ? 32 : 8);
- X xwd_header.bitmap_bit_order=(unsigned long) MSBFirst;
- X xwd_header.bitmap_pad=(unsigned long) (image->class == DirectClass ? 32 : 8);
- X xwd_header.bits_per_pixel=(unsigned long)
- X (image->class == DirectClass ? 24 : 8);
- X xwd_header.bytes_per_line=(unsigned long) ((((xwd_header.bits_per_pixel*
- X xwd_header.pixmap_width)+((xwd_header.bitmap_pad)-1))/
- X (xwd_header.bitmap_pad))*((xwd_header.bitmap_pad) >> 3));
- X xwd_header.visual_class=(unsigned long)
- X (image->class == DirectClass ? DirectColor : PseudoColor);
- X xwd_header.red_mask=(unsigned long)
- X (image->class == DirectClass ? 0xff0000 : 0);
- X xwd_header.green_mask=(unsigned long)
- X (image->class == DirectClass ? 0xff00 : 0);
- X xwd_header.blue_mask=(unsigned long) (image->class == DirectClass ? 0xff : 0);
- X xwd_header.bits_per_rgb=(unsigned long)
- X (image->class == DirectClass ? 24 : 8);
- X xwd_header.colormap_entries=(unsigned long)
- X (image->class == DirectClass ? 256 : image->colors);
- X xwd_header.ncolors=(image->class == DirectClass ? 0 : image->colors);
- X xwd_header.window_width=(unsigned long) image->columns;
- X xwd_header.window_height=(unsigned long) image->rows;
- X xwd_header.window_x=0;
- X xwd_header.window_y=0;
- X xwd_header.window_bdrwidth=(unsigned long) 0;
- X /*
- X Write XWD header.
- X */
- X MSBFirstWriteLong(xwd_header.header_size,image->file);
- X MSBFirstWriteLong(xwd_header.file_version,image->file);
- X MSBFirstWriteLong(xwd_header.pixmap_format,image->file);
- X MSBFirstWriteLong(xwd_header.pixmap_depth,image->file);
- X MSBFirstWriteLong(xwd_header.pixmap_width,image->file);
- X MSBFirstWriteLong(xwd_header.pixmap_height,image->file);
- X MSBFirstWriteLong(xwd_header.xoffset,image->file);
- X MSBFirstWriteLong(xwd_header.byte_order,image->file);
- X MSBFirstWriteLong(xwd_header.bitmap_unit,image->file);
- X MSBFirstWriteLong(xwd_header.bitmap_bit_order,image->file);
- X MSBFirstWriteLong(xwd_header.bitmap_pad,image->file);
- X MSBFirstWriteLong(xwd_header.bits_per_pixel,image->file);
- X MSBFirstWriteLong(xwd_header.bytes_per_line,image->file);
- X MSBFirstWriteLong(xwd_header.visual_class,image->file);
- X MSBFirstWriteLong(xwd_header.red_mask,image->file);
- X MSBFirstWriteLong(xwd_header.green_mask,image->file);
- X MSBFirstWriteLong(xwd_header.blue_mask,image->file);
- X MSBFirstWriteLong(xwd_header.bits_per_rgb,image->file);
- X MSBFirstWriteLong(xwd_header.colormap_entries,image->file);
- X MSBFirstWriteLong(xwd_header.ncolors,image->file);
- X MSBFirstWriteLong(xwd_header.window_width,image->file);
- X MSBFirstWriteLong(xwd_header.window_height,image->file);
- X MSBFirstWriteLong(xwd_header.window_x,image->file);
- X MSBFirstWriteLong(xwd_header.window_y,image->file);
- X MSBFirstWriteLong(xwd_header.window_bdrwidth,image->file);
- X (void) fwrite((char *) image->filename,1,strlen(image->filename)+1,
- X image->file);
- X if (image->class == PseudoClass)
- X {
- X unsigned long
- X lsb_first;
- X
- X XColor
- X *colors;
- X
- X /*
- X Dump colormap to file.
- X */
- X colors=(XColor *) malloc(image->colors*sizeof(XColor));
- X if (colors == (XColor *) NULL)
- X {
- X Warning("unable to allocate memory",(char *) NULL);
- X return(False);
- X }
- X lsb_first=1;
- X for (i=0; i < image->colors; i++)
- X {
- X colors[i].pixel=i;
- X colors[i].red=image->colormap[i].red << 8;
- X colors[i].green=image->colormap[i].green << 8;
- X colors[i].blue=image->colormap[i].blue << 8;
- X colors[i].flags=DoRed | DoGreen | DoBlue;
- X colors[i].pad=0;
- X if (*(char *) &lsb_first)
- X {
- X MSBFirstOrderLong((char *) &colors[i].pixel,sizeof(long));
- X MSBFirstOrderShort((char *) &colors[i].red,3*sizeof(short));
- X }
- X }
- X (void) fwrite((char *) colors,sizeof(XColor),(int) image->colors,
- X image->file);
- X (void) free((char *) colors);
- X }
- X /*
- X Convert MIFF to XWD raster pixels.
- X */
- X packets=xwd_header.bytes_per_line*xwd_header.pixmap_height;
- X xwd_pixels=(unsigned char *)
- X malloc((unsigned int) packets*sizeof(unsigned char));
- X if (xwd_pixels == (unsigned char *) NULL)
- X {
- X Warning("unable to allocate memory",(char *) NULL);
- X return(False);
- X }
- X scanline_pad=(unsigned int) (xwd_header.bytes_per_line-
- X ((xwd_header.pixmap_width*xwd_header.bits_per_pixel) >> 3));
- X x=0;
- X p=image->pixels;
- X q=xwd_pixels;
- X for (i=0; i < image->packets; i++)
- X {
- X for (j=0; j <= ((int) p->length); j++)
- X {
- X if (image->class == PseudoClass)
- X *q++=p->index;
- X else
- X {
- X *q++=p->red;
- X *q++=p->green;
- X *q++=p->blue;
- X }
- X x++;
- X if (x == image->columns)
- X {
- X q+=scanline_pad;
- X x=0;
- X }
- X }
- X p++;
- X }
- X /*
- X Dump pixels to file.
- X */
- X (void) fwrite((char *) xwd_pixels,1,(int) packets,image->file);
- X (void) free((char *) xwd_pixels);
- X CloseImage(image);
- X return(True);
- }
- X
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % W r i t e A l i e n I m a g e %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % Function WriteImage writes an image to a file. You can specify a
- % particular image format by prefixing the file with the image type and a
- % colon (i.e. ps:image) or specify the image type as the filename suffix
- % (i.e. image.ps).
- %
- % The format of the WriteImage routine is:
- %
- % status=WriteImage(image_info,image)
- %
- % A description of each parameter follows:
- %
- % o status: Function WriteImage return True if the image is written.
- % False is returned is there is a memory shortage or if the image file
- % fails to write.
- %
- % o image_info: Specifies a pointer to an ImageInfo structure.
- %
- % o image: A pointer to a Image structure.
- %
- %
- */
- unsigned int WriteImage(image_info,image)
- ImageInfo
- X *image_info;
- X
- Image
- X *image;
- {
- X static char
- X *ImageTypes[]=
- X {
- X "ALPHA",
- X "AVS",
- X "BMP",
- X "CMYK",
- X "EPS",
- X "FAX",
- X "GIF",
- X "GRAY",
- X "HISTOGRAM",
- X "IRIS",
- X "JPEG",
- X "JPG",
- X "MIFF",
- X "MTV",
- X "PBM",
- X "PCX",
- X "PGM",
- X "PICT",
- X "PPM",
- X "PNM",
- X "PS",
- X "PS2",
- X "RAS",
- X "RGB",
- X "RLE",
- X "SUN",
- X "TGA",
- X "TEXT",
- X "TIFF",
- X "VICAR",
- X "VIFF",
- X "X",
- X "XBM",
- X "XC",
- X "XV",
- X "XWD",
- X "YUV",
- X (char *) NULL,
- X };
- X
- X char
- X magick[12],
- X *p;
- X
- X Image
- X encode_image;
- X
- X register char
- X c,
- X *q;
- X
- X register int
- X i;
- X
- X unsigned int
- X status;
- X
- X /*
- X Look for 'image.format' in filename.
- X */
- X encode_image=(*image);
- X p=encode_image.filename+strlen(encode_image.filename)-1;
- X while ((*p != '.') && (p > encode_image.filename))
- X p--;
- X if ((*p == '.') && (strlen(p) < sizeof(magick)))
- X {
- X /*
- X User specified image format.
- X */
- X (void) strcpy(magick,p+1);
- X for (q=magick; *q != '\0'; q++)
- X {
- X c=(*q);
- X if (isascii(c) && islower(c))
- X *q=toupper(c);
- X }
- X for (i=0; ImageTypes[i] != (char *) NULL; i++)
- X if (strcmp(magick,ImageTypes[i]) == 0)
- X {
- X (void) strcpy(encode_image.magick,magick);
- X break;
- X }
- X }
- X /*
- X Look for explicit 'format:image' in filename.
- X */
- X p=encode_image.filename;
- X while ((*p != ':') && (*p != '\0'))
- X p++;
- X if ((*p == ':') && ((p-encode_image.filename) < sizeof(magick)))
- X {
- X /*
- X User specified image format.
- X */
- X (void) strncpy(magick,encode_image.filename,p-encode_image.filename);
- X magick[p-encode_image.filename]='\0';
- X for (q=magick; *q != '\0'; q++)
- X {
- X c=(*q);
- X if (isascii(c) && islower(c))
- X *q=toupper(c);
- X }
- X for (i=0; ImageTypes[i] != (char *) NULL; i++)
- X if (strcmp(magick,ImageTypes[i]) == 0)
- X {
- X /*
- X Strip off image format prefix.
- X */
- X p++;
- X (void) strcpy(encode_image.filename,p);
- X (void) strcpy(encode_image.magick,magick);
- X break;
- X }
- X }
- X /*
- X Call appropriate image writer based on image type.
- X */
- X switch (*encode_image.magick)
- X {
- X case 'A':
- X {
- X if (strcmp(magick,"ALPHA") == 0)
- X status=WriteALPHAImage(&encode_image);
- X else
- X status=WriteAVSImage(&encode_image);
- X break;
- X }
- X case 'B':
- X {
- X status=WriteBMPImage(&encode_image);
- X break;
- X }
- X case 'C':
- X {
- X status=WriteCMYKImage(&encode_image,image_info->interlace,
- X image_info->undercolor);
- X break;
- X }
- X case 'E':
- X {
- X status=WritePSImage(&encode_image,image_info->page,
- X image_info->density,True);
- X break;
- X }
- X case 'F':
- X {
- X status=WriteFAXImage(&encode_image);
- X break;
- X }
- X case 'G':
- X {
- X if (strcmp(encode_image.magick,"GIF") == 0)
- X status=WriteGIFImage(&encode_image);
- X else
- X status=WriteGRAYImage(&encode_image);
- X break;
- X }
- X case 'H':
- X {
- X status=WriteHISTOGRAMImage(&encode_image);
- X break;
- X }
- X case 'I':
- X {
- X status=WriteIRISImage(&encode_image);
- X break;
- X }
- X case 'J':
- X {
- X status=WriteJPEGImage(&encode_image,image_info->quality);
- X break;
- X }
- X case 'M':
- X {
- X if (strcmp(encode_image.magick,"MTV") == 0)
- X status=WriteMTVImage(&encode_image);
- X else
- X status=WriteMIFFImage(&encode_image);
- X break;
- X }
- X case 'P':
- X {
- X if (strcmp(encode_image.magick,"PCX") == 0)
- X status=WritePCXImage(&encode_image);
- X else
- X if (strcmp(encode_image.magick,"PICT") == 0)
- X status=WritePICTImage(&encode_image);
- X else
- X if (strcmp(encode_image.magick,"PS") == 0)
- X status=WritePSImage(&encode_image,image_info->page,
- X image_info->density,False);
- X else
- X if (strcmp(encode_image.magick,"PS2") == 0)
- X status=WritePS2Image(&encode_image,image_info->page,
- X image_info->density,False);
- X else
- X status=WritePNMImage(&encode_image);
- X break;
- X }
- X case 'R':
- X {
- X if (strcmp(encode_image.magick,"RAS") == 0)
- X status=WriteSUNImage(&encode_image);
- X else
- X if (strcmp(encode_image.magick,"RGB") == 0)
- X status=WriteRGBImage(&encode_image,image_info->interlace);
- X else
- X status=WriteRLEImage(&encode_image);
- X break;
- X }
- X case 'S':
- X {
- X status=WriteSUNImage(&encode_image);
- X break;
- X }
- X case 'T':
- X {
- X if (strcmp(encode_image.magick,"TGA") == 0)
- X status=WriteTARGAImage(&encode_image);
- X else
- X if (strcmp(encode_image.magick,"TIFF") == 0)
- X status=WriteTIFFImage(&encode_image,image_info->verbose);
- X else
- X status=WriteTEXTImage(&encode_image);
- X break;
- X }
- X case 'V':
- X {
- X if (strcmp(encode_image.magick,"VICAR") == 0)
- X status=WriteVICARImage(&encode_image);
- X else
- X status=WriteVIFFImage(&encode_image);
- X break;
- X }
- X case 'X':
- X {
- X if (strcmp(encode_image.magick,"X") == 0)
- X status=WriteXImage(&encode_image,image_info->server_name);
- X else
- X if (strcmp(encode_image.magick,"XBM") == 0)
- X status=WriteXBMImage(&encode_image);
- X else
- X if (strcmp(encode_image.magick,"XC") == 0)
- X status=WriteXCImage(&encode_image);
- X else
- X if (strcmp(encode_image.magick,"XV") == 0)
- X status=WriteVIFFImage(&encode_image);
- X else
- X status=WriteXWDImage(&encode_image);
- X break;
- X }
- X case 'Y':
- X {
- X status=WriteYUVImage(&encode_image,image_info->interlace);
- X break;
- X }
- X default:
- X status=WriteMIFFImage(&encode_image);
- X }
- X if (image->status)
- X {
- X Warning("an error has occurred writing to file",image->filename);
- X return(False);
- X }
- X return(status);
- }
- SHAR_EOF
- echo 'File ImageMagick/encode.c is complete' &&
- chmod 0644 ImageMagick/encode.c ||
- echo 'restore of ImageMagick/encode.c failed'
- Wc_c="`wc -c < 'ImageMagick/encode.c'`"
- test 175688 -eq "$Wc_c" ||
- echo 'ImageMagick/encode.c: original size 175688, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= ImageMagick/patchlevel.h ==============
- if test -f 'ImageMagick/patchlevel.h' -a X"$1" != X"-c"; then
- echo 'x - skipping ImageMagick/patchlevel.h (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting ImageMagick/patchlevel.h (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'ImageMagick/patchlevel.h' &&
- #define PATCHLEVEL 0
- SHAR_EOF
- chmod 0644 ImageMagick/patchlevel.h ||
- echo 'restore of ImageMagick/patchlevel.h failed'
- Wc_c="`wc -c < 'ImageMagick/patchlevel.h'`"
- test 22 -eq "$Wc_c" ||
- echo 'ImageMagick/patchlevel.h: original size 22, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= ImageMagick/scenes/Makefile ==============
- if test ! -d 'ImageMagick/scenes'; then
- echo 'x - creating directory ImageMagick/scenes'
- mkdir 'ImageMagick/scenes'
- fi
- if test -f 'ImageMagick/scenes/Makefile' -a X"$1" != X"-c"; then
- echo 'x - skipping ImageMagick/scenes/Makefile (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting ImageMagick/scenes/Makefile (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'ImageMagick/scenes/Makefile' &&
- #
- # If your rayshade(1) produces MTV files rather than RLE, change
- # 'rle' to 'mtv' below.
- #
- all:
- X rayshade < dna.script > dna.rle
- X convert +alpha dna.rle miff:dna
- X /bin/mv dna dna.0
- X mogrify -verbose -colors 256 -dither dna.[0-9]*
- X
- clean:
- X /bin/rm -f dna.[0-9]* dna.rle dna.log
- SHAR_EOF
- chmod 0644 ImageMagick/scenes/Makefile ||
- echo 'restore of ImageMagick/scenes/Makefile failed'
- Wc_c="`wc -c < 'ImageMagick/scenes/Makefile'`"
- test 281 -eq "$Wc_c" ||
- echo 'ImageMagick/scenes/Makefile: original size 281, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= ImageMagick/scenes/README ==============
- if test -f 'ImageMagick/scenes/README' -a X"$1" != X"-c"; then
- echo 'x - skipping ImageMagick/scenes/README (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting ImageMagick/scenes/README (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'ImageMagick/scenes/README' &&
- DNA sequence useful for testing the `animate' program from
- contrib/ImageMagick.tar.Z on export.lcs.mit.edu. `animate' is a
- program that can display image sequences on any X server:
- X
- X animate dna.[0-9]*
- X
- ImageMagick requires Craig Kolb's RAYSHADE software available via FTP
- as princeton.edu:/pub/Graphics/rayshade.4.0 to generate the DNA image
- sequence. Alternately, you can get the image sequence from
- contrib/ImageMagick.animation.tar.Z on export.lcs.mit.edu.
- SHAR_EOF
- chmod 0644 ImageMagick/scenes/README ||
- echo 'restore of ImageMagick/scenes/README failed'
- Wc_c="`wc -c < 'ImageMagick/scenes/README'`"
- test 464 -eq "$Wc_c" ||
- echo 'ImageMagick/scenes/README: original size 464, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= ImageMagick/scenes/dna.script ==============
- if test -f 'ImageMagick/scenes/dna.script' -a X"$1" != X"-c"; then
- echo 'x - skipping ImageMagick/scenes/dna.script (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting ImageMagick/scenes/dna.script (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'ImageMagick/scenes/dna.script' &&
- /*
- X Rayshade script for creating a spinning DNA molecule image sequence.
- X
- X Copyright 1992 E. I. du Pont de Nemours & Company
- X
- X Permission to use, copy, modify, distribute, and sell this software and
- X its documentation for any purpose is hereby granted without fee,
- X provided that the above Copyright notice appear in all copies and that
- X both that Copyright notice and this permission notice appear in
- X supporting documentation, and that the name of E. I. du Pont de Nemours
- X & Company not be used in advertising or publicity pertaining to
- X distribution of the software without specific, written prior
- X permission. E. I. du Pont de Nemours & Company makes no representations
- X about the suitability of this software for any purpose. It is provided
- X "as is" without express or implied warranty.
- X
- X E. I. du Pont de Nemours & Company disclaims all warranties with regard
- X to this software, including all implied warranties of merchantability
- X and fitness, in no event shall E. I. du Pont de Nemours & Company be
- X liable for any special, indirect or consequential damages or any
- X damages whatsoever resulting from loss of use, data or profits, whether
- X in an action of contract, negligence or other tortious action, arising
- X out of or in connection with the use or performance of this software.
- */
- X
- name atom.O
- X list
- X surface O
- X ambient 0.20 0.20 0.20
- X diffuse 0.90 0.00 0.00
- X specular 0.32 0.32 0.32
- X specpow 100
- X reflect 0.00
- X transp 0.00
- X index 1.00
- X sphere O 2.22429 0.0 0.0 0.0
- end
- name atom.C
- X list
- X surface C
- X ambient 0.09 0.09 0.09
- X diffuse 0.32 0.32 0.32
- X specular 0.32 0.32 0.32
- X specpow 100
- X reflect 0.00
- X transp 0.00
- X index 1.00
- X sphere C 2.70093 0.0 0.0 0.0
- end
- name atom.N
- X list
- X surface N
- X ambient 0.00 0.00 0.22
- X diffuse 0.00 0.00 0.90
- X specular 0.32 0.32 0.32
- X specpow 100
- X reflect 0.00
- X transp 0.00
- X index 1.00
- X sphere N 2.44672 0.0 0.0 0.0
- end
- name atom.P
- X list
- X surface P
- X ambient 0.22 0.22 0.00
- X diffuse 0.90 0.90 0.00
- X specular 0.32 0.32 0.32
- X specpow 100
- X reflect 0.00
- X transp 0.00
- X index 1.00
- X sphere P 2.85981 0.0 0.0 0.0
- end
- name molecule.dna
- X grid 22 22 22
- X object atom.O translate 40.71169 7.07008 -19.96654
- X object atom.C translate 37.85082 6.08080 -20.30633
- X object atom.C translate 37.49451 3.45211 -18.52562
- X object atom.O translate 38.32873 3.99314 -15.61836
- X object atom.C translate 34.51841 2.21794 -18.35552
- X object atom.O translate 34.71203 -0.70266 -17.64078
- X object atom.C translate 33.52023 3.89230 -15.79419
- X object atom.C translate 35.99492 3.13117 -13.87875
- X object atom.N translate 36.03749 4.88010 -11.25832
- X object atom.C translate 36.92636 3.82070 -8.70081
- X object atom.O translate 37.67140 1.31954 -8.53515
- X object atom.N translate 36.90455 5.49210 -6.42207
- X object atom.C translate 36.01080 8.17164 -6.60404
- X object atom.N translate 35.88624 9.80427 -4.23124
- X object atom.C translate 35.07702 9.31980 -9.15562
- X object atom.C translate 35.11621 7.59035 -11.53816
- X object atom.P translate 32.73897 -3.13710 -18.92938
- X object atom.O translate 29.80989 -2.23849 -19.56130
- X object atom.O translate 34.33516 -4.55303 -21.20071
- X object atom.O translate 32.36465 -5.16714 -16.25599
- X object atom.C translate 34.68449 -6.67585 -15.05636
- X object atom.C translate 33.44990 -7.80960 -12.35628
- X object atom.O translate 33.48803 -5.51646 -10.36331
- X object atom.C translate 30.39753 -8.91307 -12.52532
- X object atom.O translate 30.15646 -11.74682 -11.38013
- X object atom.C translate 28.79095 -6.59705 -10.89502
- X object atom.C translate 30.95784 -5.60459 -8.70737
- X object atom.N translate 30.48375 -2.56366 -7.96425
- X object atom.C translate 29.88446 -0.41012 -9.80639
- X object atom.N translate 29.66034 2.12028 -8.53303
- X object atom.C translate 30.14777 1.53858 -5.78062
- X object atom.C translate 30.16726 3.41715 -3.42393
- X object atom.O translate 29.73977 5.98547 -3.38453
- X object atom.N translate 30.81315 2.01606 -0.96259
- X object atom.C translate 31.39126 -0.79990 -0.67407
- X object atom.N translate 31.97508 -1.77965 1.97941
- X object atom.N translate 31.35694 -2.55942 -2.88353
- X object atom.C translate 30.71889 -1.25853 -5.35568
- X object atom.P translate 27.18967 -13.35212 -11.00221
- X object atom.O translate 24.95945 -12.07411 -12.77593
- X object atom.O translate 27.65550 -16.41021 -11.43097
- X object atom.O translate 26.44294 -12.83249 -7.74902
- X object atom.C translate 28.26284 -13.92642 -5.58891
- X object atom.C translate 27.19094 -12.70136 -2.86786
- X object atom.O translate 27.28097 -9.69644 -3.05915
- X object atom.C translate 24.15446 -13.41398 -2.19782
- X object atom.O translate 24.03245 -15.73678 -0.25823
- X object atom.C translate 22.93004 -10.68657 -0.99606
- X object atom.C translate 25.39159 -8.62645 -0.97000
- X object atom.N translate 24.47540 -5.90836 -2.20523
- X object atom.C translate 24.37583 -3.55252 -0.56794
- X object atom.O translate 25.00690 -3.78935 1.95505
- X object atom.N translate 23.63546 -1.07084 -1.72330
- X object atom.C translate 22.98385 -0.89290 -4.46935
- X object atom.N translate 22.33986 1.67034 -5.64907
- X object atom.C translate 23.04486 -3.27183 -6.20960
- X object atom.C translate 23.81722 -5.84799 -5.00678
- X object atom.P translate 21.07498 -17.05505 0.69737
- X object atom.O translate 19.00914 -16.62078 -1.59916
- X object atom.O translate 21.56136 -19.97883 1.65593
- X object atom.O translate 20.24712 -15.15063 3.33009
- X object atom.C translate 21.99478 -15.13029 5.81049
- X object atom.C translate 20.63542 -13.14177 7.88163
- X object atom.O translate 20.53564 -10.34467 6.68305
- X object atom.C translate 17.59046 -13.83490 8.68555
- X object atom.O translate 16.87848 -12.69585 11.35873
- X object atom.C translate 16.01778 -12.28213 6.34665
- X object atom.C translate 17.63071 -9.50409 6.55298
- X object atom.N translate 17.27461 -7.72805 3.98975
- X object atom.C translate 16.68422 -8.53303 1.26467
- X object atom.N translate 16.49314 -6.32441 -0.51244
- X object atom.C translate 16.97529 -4.07067 1.17570
- X object atom.C translate 16.99393 -1.13354 0.49422
- X object atom.O translate 16.58699 0.01229 -1.80549
- X object atom.N translate 17.49090 0.48744 2.85070
- X object atom.C translate 17.95037 -0.45587 5.54718
- X object atom.N translate 18.32702 1.52121 7.61366
- X object atom.N translate 17.95016 -3.20531 6.18481
- X object atom.C translate 17.44875 -4.85278 3.91900
- X object atom.P translate 14.40654 -14.08572 13.19219
- X object atom.O translate 12.08692 -15.04852 11.28078
- X object atom.O translate 15.64346 -16.22316 15.08623
- X object atom.O translate 13.38739 -11.39665 14.97056
- X object atom.C translate 15.46552 -9.51574 16.17613
- X object atom.C translate 14.23962 -6.60806 15.89333
- X object atom.O translate 14.04176 -5.99458 12.94285
- X object atom.C translate 11.24889 -6.21298 17.06288
- X object atom.O translate 11.17284 -4.12533 19.27532
- X object atom.C translate 9.47899 -5.52515 14.41470
- X object atom.C translate 11.68973 -4.12130 12.55964
- X object atom.N translate 10.96842 -4.45219 9.52973
- X object atom.C translate 10.62673 -6.91459 8.03436
- X object atom.N translate 10.25093 -6.48032 5.24531
- X object atom.C translate 10.32740 -3.63534 4.99598
- X object atom.C translate 10.07828 -1.81905 2.59628
- X object atom.N translate 9.69379 -2.83079 -0.08007
- X object atom.N translate 10.23292 0.96280 3.05300
- X object atom.C translate 10.63626 1.93514 5.67767
- X object atom.N translate 10.91313 0.48871 8.07864
- X object atom.C translate 10.72671 -2.33170 7.56048
- X object atom.P translate 8.31198 -3.29196 20.86833
- X object atom.O translate 6.27092 -5.65183 20.68340
- X object atom.O translate 9.05468 -2.20142 23.70442
- X object atom.O translate 7.11319 -0.67280 19.11326
- X object atom.C translate 8.46386 2.03449 19.34734
- X object atom.C translate 6.80708 3.92239 17.43551
- X object atom.O translate 6.64948 2.42512 14.80935
- X object atom.C translate 3.74942 4.50790 18.29154
- X object atom.O translate 3.21834 7.48825 18.68979
- X object atom.C translate 2.07442 3.06804 15.92807
- X object atom.C translate 4.11929 3.35636 13.47880
- X object atom.N translate 3.58122 1.22718 11.22993
- X object atom.C translate 3.44924 -1.65403 11.49982
- X object atom.N translate 3.14759 -2.98627 9.00861
- X object atom.C translate 3.10204 -0.85985 7.09783
- X object atom.C translate 2.93406 -0.87277 4.07067
- X object atom.N translate 2.81606 -3.31441 2.52680
- X object atom.N translate 3.00714 1.62289 2.75770
- X object atom.C translate 3.20966 3.99335 4.28526
- X object atom.N translate 3.38675 4.28759 7.08385
- X object atom.C translate 3.32108 1.73071 8.36653
- X object atom.P translate 0.10285 8.68725 19.28421
- X object atom.O translate -1.69587 6.55595 20.74822
- X object atom.O translate 0.29880 11.49346 20.66306
- X object atom.O translate -1.00951 9.18168 16.15198
- X object atom.C translate 0.56804 10.97234 14.29226
- X object atom.C translate -1.14106 10.93951 11.62650
- X object atom.O translate -1.18576 8.11889 10.59294
- X object atom.C translate -4.23792 11.67035 12.09402
- X object atom.O translate -4.76306 14.57527 11.41508
- X object atom.C translate -5.84132 9.46702 10.31819
- X object atom.C translate -3.45581 8.05449 8.64679
- X object atom.N translate -3.87737 5.00297 8.04369
- X object atom.C translate -3.90893 4.12427 5.31352
- X object atom.O translate -3.72337 5.86854 3.37203
- X object atom.N translate -4.09281 1.28395 4.78774
- X object atom.C translate -4.29554 -0.69673 6.89743
- X object atom.O translate -4.34892 -3.22205 6.21828
- X object atom.C translate -4.37074 0.25018 9.69644
- X object atom.C translate -4.70417 -1.80803 12.10652
- X object atom.C translate -4.12056 3.14431 10.23620
- X object atom.P translate -7.89085 15.85287 11.39983
- X object atom.O translate -9.72324 14.49224 13.55316
- X object atom.O translate -7.60254 18.95671 11.65319
- X object atom.O translate -8.95745 15.10741 8.26315
- X object atom.C translate -7.40150 16.18715 5.85244
- X object atom.C translate -8.71765 14.83838 3.29831
- X object atom.O translate -8.79370 11.86863 3.87853
- X object atom.C translate -11.80158 15.64463 2.76046
- X object atom.O translate -12.16064 17.46813 0.32030
- X object atom.C translate -13.35668 12.77995 2.71915
- X object atom.C translate -10.93262 10.75500 2.07516
- X object atom.N translate -11.38384 7.79605 3.06720
- X object atom.C translate -11.18132 5.60056 1.20154
- X object atom.O translate -10.81908 6.04013 -1.33648
- X object atom.N translate -11.24996 2.90154 2.22196
- X object atom.C translate -11.58995 2.32153 5.04025
- X object atom.O translate -11.53488 -0.18493 5.76834
- X object atom.C translate -11.91936 4.58141 6.92688
- X object atom.C translate -12.36613 4.07491 10.05064
- X object atom.C translate -11.73273 7.34632 5.90116
- X object atom.P translate -15.22212 18.21168 -0.93759
- X object atom.O translate -17.41443 18.11148 1.28818
- X object atom.O translate -15.04037 20.86283 -2.55879
- X object atom.O translate -15.62313 15.69229 -3.13922
- X object atom.C translate -13.58462 15.32857 -5.38322
- X object atom.C translate -14.53767 12.82126 -7.11054
- X object atom.O translate -14.70058 10.42008 -5.26183
- X object atom.C translate -17.43349 13.06021 -8.49893
- X object atom.O translate -17.30872 12.41135 -11.46274
- X object atom.C translate -19.26123 11.06004 -6.71123
- X object atom.C translate -17.10917 8.76690 -6.07995
- X object atom.N translate -17.84065 7.03830 -3.52921
- X object atom.C translate -17.77837 4.14757 -3.70737
- X object atom.O translate -17.39896 3.04580 -6.03547
- X object atom.N translate -18.08934 2.57171 -1.37038
- X object atom.C translate -18.52488 3.80079 1.13248
- X object atom.N translate -18.80832 2.16223 3.48240
- X object atom.C translate -18.71342 6.74258 1.39622
- X object atom.C translate -18.34058 8.38877 -1.02085
- X object atom.P translate -19.67389 13.58197 -13.60464
- X object atom.O translate -21.14785 16.07657 -12.37047
- X object atom.O translate -18.27830 13.88998 -16.41424
- X object atom.O translate -21.90920 11.05030 -13.75610
- X object atom.C translate -21.09341 8.41631 -15.05869
- X object atom.C translate -23.35880 6.29836 -14.39437
- X object atom.O translate -23.15946 5.68000 -11.42927
- X object atom.C translate -26.43257 7.23214 -14.84410
- X object atom.O translate -28.10651 4.95912 -15.90731
- X object atom.C translate -27.31466 8.06720 -11.86079
- X object atom.C translate -26.00402 5.53108 -10.44698
- X object atom.N translate -25.97373 5.66899 -7.33000
- X object atom.C translate -26.11396 7.92569 -5.52472
- X object atom.N translate -26.05380 7.14020 -2.79435
- X object atom.C translate -25.85595 4.29289 -2.92294
- X object atom.C translate -25.68944 2.25544 -0.69864
- X object atom.O translate -25.67440 2.63844 1.87519
- X object atom.N translate -25.50154 -0.43660 -1.76101
- X object atom.C translate -25.47464 -1.20938 -4.54370
- X object atom.N translate -25.26407 -4.01093 -5.17392
- X object atom.N translate -25.61191 0.68402 -6.61569
- X object atom.C translate -25.77990 3.34979 -5.64102
- X object atom.P translate -28.94263 4.89154 -19.18211
- X object atom.O translate -31.69737 6.36064 -19.42847
- X object atom.O translate -26.58594 5.98590 -20.93951
- X object atom.O translate -29.17777 1.57904 -19.78521
- X object atom.C translate -26.58657 -0.06292 -19.97396
- X object atom.C translate -27.00368 -2.86765 -18.48792
- X object atom.O translate -27.59047 -2.24378 -15.58553
- X object atom.C translate -29.44532 -4.74304 -19.46004
- X object atom.O translate -28.63949 -7.67318 -19.74305
- X object atom.C translate -31.71431 -4.16727 -17.22388
- X object atom.C translate -29.82981 -4.05097 -14.63311
- X object atom.N translate -31.15294 -2.47511 -12.26519
- X object atom.C translate -31.40058 -3.74571 -9.69729
- X object atom.O translate -30.63331 -6.22273 -9.49414
- X object atom.N translate -32.39304 -2.28086 -7.48168
- X object atom.C translate -33.15524 0.42855 -7.77825
- X object atom.N translate -34.03838 1.95166 -5.48702
- X object atom.C translate -32.98386 1.78050 -10.38491
- X object atom.C translate -31.93886 0.25654 -12.67869
- X object atom.P translate -30.57823 -9.74750 -21.58138
- X object atom.O translate -32.10706 -8.03818 -23.70442
- X object atom.O translate -28.82951 -12.12135 -22.65328
- X object atom.O translate -32.82625 -10.98759 -19.37043
- X object atom.C translate -32.08164 -13.32416 -17.54015
- X object atom.C translate -34.59107 -13.75525 -15.62557
- X object atom.O translate -34.97344 -11.13779 -14.18867
- X object atom.C translate -37.50214 -14.33738 -16.99891
- X object atom.O translate -38.51388 -17.17622 -16.55998
- X object atom.C translate -39.41101 -12.06097 -15.67344
- X object atom.C translate -37.74406 -11.30514 -13.02928
- X object atom.N translate -38.39165 -8.41800 -12.04403
- X object atom.C translate -38.78164 -6.02847 -13.64425
- X object atom.N translate -39.31568 -3.73576 -12.05970
- X object atom.C translate -39.23582 -4.71847 -9.37699
- X object atom.C translate -39.57624 -3.22756 -6.75889
- X object atom.O translate -40.03593 -0.69334 -6.35407
- X object atom.N translate -39.40232 -5.03030 -4.48503
- X object atom.C translate -38.94434 -7.87294 -4.55430
- X object atom.N translate -38.95958 -9.27107 -2.03957
- X object atom.N translate -38.53654 -9.25794 -6.98598
- X object atom.C translate -38.69881 -7.55392 -9.28590
- X object atom.O translate -43.67996 2.27662 12.88651
- X object atom.C translate -45.27319 -0.20591 13.69297
- X object atom.C translate -43.85134 -2.82549 12.52342
- X object atom.O translate -43.94963 -2.75410 9.47931
- X object atom.C translate -40.77376 -3.28984 13.31166
- X object atom.O translate -40.23019 -6.16490 14.04801
- X object atom.C translate -39.22968 -2.33106 10.64526
- X object atom.C translate -41.20358 -3.45910 8.38178
- X object atom.N translate -41.00255 -1.74109 5.76135
- X object atom.C translate -40.31704 -2.94391 3.22459
- X object atom.O translate -39.78299 -5.47982 3.15702
- X object atom.N translate -40.33695 -1.38796 0.86387
- X object atom.C translate -41.04830 1.33182 0.94628
- X object atom.N translate -41.18367 2.82613 -1.51612
- X object atom.C translate -41.75711 2.65835 3.48897
- X object atom.C translate -41.73804 1.03695 5.94861
- X object atom.P translate -37.51845 -6.92349 15.94247
- X object atom.O translate -35.70618 -4.38123 16.17084
- X object atom.O translate -38.39589 -8.24366 18.66776
- X object atom.O translate -35.97670 -9.20286 13.97938
- X object atom.C translate -37.52226 -11.58222 12.87824
- X object atom.C translate -35.67229 -12.66111 10.56159
- X object atom.O translate -35.61192 -10.58531 8.37055
- X object atom.C translate -32.61124 -13.03755 11.46084
- X object atom.O translate -31.72236 -15.89142 11.06280
- X object atom.C translate -30.99343 -10.85371 9.66064
- X object atom.C translate -32.87540 -10.64590 7.07305
- X object atom.N translate -32.65042 -7.79499 5.81770
- X object atom.C translate -32.75656 -5.27327 7.23701
- X object atom.N translate -32.64238 -3.03161 5.50015
- X object atom.C translate -32.44833 -4.17977 2.89751
- X object atom.C translate -32.28628 -2.78291 0.21671
- X object atom.O translate -32.33415 -0.22285 -0.29551
- X object atom.N translate -32.03885 -4.69114 -1.96098
- X object atom.C translate -31.99373 -7.56811 -1.73029
- X object atom.N translate -31.63805 -9.09461 -4.14820
- X object atom.N translate -32.19328 -8.87176 0.78062
- X object atom.C translate -32.43139 -7.06923 2.99665
- X object atom.P translate -28.56810 -16.87456 11.72267
- X object atom.O translate -27.31085 -14.90235 13.79317
- X object atom.O translate -28.69542 -19.90659 12.48338
- X object atom.O translate -27.03863 -16.55130 8.71140
- X object atom.C translate -27.92687 -18.21803 6.31318
- X object atom.C translate -26.44697 -16.92540 3.81731
- X object atom.O translate -27.05156 -13.97810 3.83426
- X object atom.C translate -23.24526 -16.98662 4.01919
- X object atom.O translate -22.15747 -19.60705 2.99793
- X object atom.C translate -22.38986 -14.46745 2.23722
- X object atom.C translate -25.08253 -12.74627 1.95632
- X object atom.N translate -24.77451 -9.81740 2.97971
- X object atom.C translate -24.86179 -7.68462 1.05601
- X object atom.O translate -25.00288 -8.32818 -1.46232
- X object atom.N translate -24.81159 -4.99492 1.92391
- X object atom.C translate -24.63788 -4.38589 4.67653
- X object atom.N translate -24.64678 -1.63708 5.55396
- X object atom.C translate -24.48324 -6.51803 6.70699
- X object atom.C translate -24.58259 -9.31513 5.80456
- X object atom.P translate -18.85514 -20.22117 2.69775
- X object atom.O translate -17.23987 -18.76966 4.94471
- X object atom.O translate -18.57911 -23.30425 2.53887
- X object atom.O translate -18.08595 -18.96921 -0.33237
- X object atom.C translate -19.12290 -20.31756 -2.84837
- X object atom.C translate -18.37935 -18.30807 -5.17901
- X object atom.O translate -19.10680 -15.57155 -4.06834
- X object atom.C translate -15.28483 -18.12334 -6.02890
- X object atom.O translate -14.94123 -18.09856 -9.04907
- X object atom.C translate -14.22987 -15.49211 -4.45389
- X object atom.C translate -16.82976 -13.61777 -4.58713
- X object atom.N translate -16.80412 -11.59048 -2.17155
- X object atom.C translate -16.19403 -12.09847 0.62132
- X object atom.N translate -16.40460 -9.77546 2.25310
- X object atom.C translate -17.12591 -7.72021 0.40715
- X object atom.C translate -17.62966 -4.77779 0.89078
- X object atom.O translate -17.51060 -3.43664 3.10935
- X object atom.N translate -18.20946 -3.37606 -1.58730
- X object atom.C translate -18.35224 -4.53057 -4.21620
- X object atom.N translate -18.80853 -2.75791 -6.44092
- X object atom.N translate -17.95292 -7.28531 -4.66170
- X object atom.C translate -17.35744 -8.73915 -2.28530
- X object atom.P translate -11.90707 -17.62044 -10.43893
- X object atom.O translate -9.71053 -18.33052 -8.31060
- X object atom.O translate -11.68507 -19.09970 -13.18541
- X object atom.O translate -12.06235 -14.34246 -11.16935
- X object atom.C translate -14.36058 -13.41059 -12.94540
- X object atom.C translate -13.91318 -10.41330 -13.86689
- X object atom.O translate -14.06040 -8.57349 -11.45025
- X object atom.C translate -11.09404 -9.82482 -15.27900
- X object atom.O translate -11.32791 -7.70305 -17.41559
- X object atom.C translate -9.31969 -8.95755 -12.71704
- X object atom.C translate -11.41413 -7.12240 -11.11872
- X object atom.N translate -10.86314 -7.14338 -7.99984
- X object atom.C translate -10.17424 -9.37106 -6.26001
- X object atom.N translate -9.99249 -8.61988 -3.51354
- X object atom.C translate -10.58923 -5.82426 -3.53070
- X object atom.C translate -10.79069 -3.74550 -1.32399
- X object atom.N translate -10.42167 -4.36025 1.47714
- X object atom.N translate -11.38786 -1.08927 -2.09423
- X object atom.C translate -11.81599 -0.48045 -4.82608
- X object atom.N translate -11.73761 -2.20417 -7.06351
- X object atom.C translate -11.09976 -4.86527 -6.22654
- X object atom.P translate -8.58800 -6.64619 -19.06411
- X object atom.O translate -6.35057 -8.85396 -18.84359
- X object atom.O translate -9.36608 -5.77321 -21.97646
- X object atom.O translate -7.84763 -3.85714 -17.32196
- X object atom.C translate -9.95457 -1.68496 -17.07983
- X object atom.C translate -8.60580 0.80308 -15.64251
- X object atom.O translate -8.27279 0.23599 -12.67636
- X object atom.C translate -5.72947 1.72415 -16.78855
- X object atom.O translate -5.69515 4.70682 -17.31603
- X object atom.C translate -3.75175 0.72639 -14.42762
- X object atom.C translate -5.55746 1.23904 -11.82350
- X object atom.N translate -4.77239 -0.67195 -9.45558
- SHAR_EOF
- true || echo 'restore of ImageMagick/scenes/dna.script failed'
- fi
- echo 'End of ImageMagick part 37'
- echo 'File ImageMagick/scenes/dna.script is continued in part 38'
- echo 38 > _shar_seq_.tmp
- exit 0
-
- exit 0 # Just in case...
- --
- // chris@Sterling.COM | Send comp.sources.x submissions to:
- \X/ Amiga - The only way to fly! | sources-x@sterling.com
- "It's intuitively obvious to the |
- most casual observer..." | GCS d+/-- p+ c++ l+ m+ s++/+ g+ w+ t+ r+ x+
-