Home | History | Annotate | Download | only in coders

Lines Matching refs:image

13 %                     Read/Write Photo CD Image Format                        %
58 #include "MagickCore/image.h"
59 #include "MagickCore/image-private.h"
79 WritePCDImage(const ImageInfo *,Image *,ExceptionInfo *);
98 % MagickBooleanType DecodeImage(Image *image,unsigned char *luma,
103 % o image: the address of a structure of type Image.
115 static MagickBooleanType DecodeImage(Image *image,unsigned char *luma,
127 count=ReadBlob(image,0x800,buffer); \
181 assert(image != (const Image *) NULL);
182 assert(image->signature == MagickCoreSignature);
183 if (image->debug != MagickFalse)
184 (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
191 image->filename);
200 for (i=0; i < (image->columns > 1536 ? 3 : 1); i++)
210 image->filename);
259 if (row == image->rows)
268 q=luma+row*image->columns;
269 count=(ssize_t) image->columns;
274 q=chroma1+(row >> 1)*image->columns;
275 count=(ssize_t) (image->columns >> 1);
281 q=chroma2+(row >> 1)*image->columns;
282 count=(ssize_t) (image->columns >> 1);
289 image->filename);
301 if ((row > image->rows) || (r == (PCDTable *) NULL))
304 CorruptImageWarning,"SkipToSyncByte","`%s'",image->filename);
323 for (i=0; i < (image->columns > 1536 ? 3 : 1); i++)
341 % IsPCD() returns MagickTrue if the image format type, identified by the
350 % o magick: compare image format pattern against these bytes.
376 % ReadPCDImage() reads a Photo CD image file and returns it. It
377 % allocates the memory necessary for the new Image structure and returns a
378 % pointer to the new image. Much of the PCD decoder was derived from
383 % image=ReadPCDImage(image_info)
387 % o image_info: the image info.
392 static Image *OverviewImage(const ImageInfo *image_info,Image *image,
395 Image
401 register Image
405 Create the PCD Overview image.
407 for (p=image; p != (Image *) NULL; p=p->next)
415 montage_image=MontageImageList(image_info,montage_info,image,exception);
417 if (montage_image == (Image *) NULL)
419 image=DestroyImage(image);
436 Create a new image that is a integral size greater than an existing one.
475 static Image *ReadPCDImage(const ImageInfo *image_info,ExceptionInfo *exception)
477 Image
478 *image;
522 Open image file.
531 image=AcquireImage(image_info,exception);
532 status=OpenBlob(image_info,image,ReadBinaryBlobMode,exception);
535 image=DestroyImageList(image);
536 return((Image *) NULL);
544 image,3*0x800,header);
557 if ((image->columns == 0) || (image->rows == 0))
565 if ((width >= image->columns) && (height >= image->rows))
576 Initialize image structure.
585 image->columns=width;
586 image->rows=height;
587 image->depth=8;
590 image->columns<<=1;
591 image->rows<<=1;
593 status=SetImageExtent(image,image->columns,image->rows,exception);
595 return(DestroyImageList(image));
599 number_pixels=(MagickSizeType) image->columns*image->rows;
602 chroma1=(unsigned char *) AcquireQuantumMemory(image->columns+1UL,image->rows*
604 chroma2=(unsigned char *) AcquireQuantumMemory(image->columns+1UL,image->rows*
606 luma=(unsigned char *) AcquireQuantumMemory(image->columns+1UL,image->rows*
612 Advance to image data.
624 (void) ReadBlobByte(image);
627 Image
637 Read thumbnails from overview image.
641 progress_monitor=SetImageProgressMonitor(image,
642 (MagickProgressMonitor) NULL,image->client_data);
643 (void) FormatLocaleString(image->filename,MagickPathExtent,
645 (void) FormatLocaleString(image->magick_filename,MagickPathExtent,
647 image->scene=(size_t) j;
648 image->columns=width;
649 image->rows=height;
650 image->depth=8;
656 count=ReadBlob(image,width,yy);
657 yy+=image->columns;
658 count=ReadBlob(image,width,yy);
659 yy+=image->columns;
660 count=ReadBlob(image,width >> 1,c1);
661 c1+=image->columns;
662 count=ReadBlob(image,width >> 1,c2);
663 c2+=image->columns;
665 Upsample(image->columns >> 1,image->rows >> 1,image->columns,chroma1);
666 Upsample(image->columns >> 1,image->rows >> 1,image->columns,chroma2);
673 for (y=0; y < (ssize_t) image->rows; y++)
675 q=QueueAuthenticPixels(image,0,y,image->columns,1,exception);
678 for (x=0; x < (ssize_t) image->columns; x++)
680 SetPixelRed(image,ScaleCharToQuantum(*yy++),q);
681 SetPixelGreen(image,ScaleCharToQuantum(*c1++),q);
682 SetPixelBlue(image,ScaleCharToQuantum(*c2++),q);
683 q+=GetPixelChannels(image);
685 if (SyncAuthenticPixels(image,exception) == MagickFalse)
688 image->colorspace=YCCColorspace;
690 SetImageColorspace(image,sRGBColorspace,exception);
694 Allocate next image structure.
696 AcquireNextImage(image_info,image,exception);
697 if (GetNextImageInList(image) == (Image *) NULL)
699 image=DestroyImageList(image);
700 return((Image *) NULL);
702 image=SyncNextImageInList(image);
704 (void) SetImageProgressMonitor(image,progress_monitor,
705 image->client_data);
706 if (image->previous == (Image *) NULL)
708 status=SetImageProgress(image,LoadImageTag,j-1,number_images);
716 image=GetFirstImageInList(image);
717 overview_image=OverviewImage(image_info,image,exception);
721 Read interleaved image.
728 count=ReadBlob(image,width,yy);
729 yy+=image->columns;
730 count=ReadBlob(image,width,yy);
731 yy+=image->columns;
732 count=ReadBlob(image,width >> 1,c1);
733 c1+=image->columns;
734 count=ReadBlob(image,width >> 1,c2);
735 c2+=image->columns;
740 Recover luminance deltas for 1536x1024 image.
742 Upsample(768,512,image->columns,luma);
743 Upsample(384,256,image->columns,chroma1);
744 Upsample(384,256,image->columns,chroma2);
745 image->rows=1024;
747 (void) ReadBlobByte(image);
748 status=DecodeImage(image,luma,chroma1,chroma2,exception);
752 Recover luminance deltas for 3072x2048 image.
754 Upsample(1536,1024,image->columns,luma);
755 Upsample(768,512,image->columns,chroma1);
756 Upsample(768,512,image->columns,chroma2);
757 image->rows=2048;
758 offset=TellBlob(image)/0x800+12;
759 offset=SeekBlob(image,offset*0x800,SEEK_SET);
760 status=DecodeImage(image,luma,chroma1,chroma2,exception);
764 Recover luminance deltas for 6144x4096 image (vaporware).
766 Upsample(3072,2048,image->columns,luma);
767 Upsample(1536,1024,image->columns,chroma1);
768 Upsample(1536,1024,image->columns,chroma2);
769 image->rows=4096;
773 Upsample(image->columns >> 1,image->rows >> 1,image->columns,chroma1);
774 Upsample(image->columns >> 1,image->rows >> 1,image->columns,chroma2);
781 for (y=0; y < (ssize_t) image->rows; y++)
783 q=QueueAuthenticPixels(image,0,y,image->columns,1,exception);
786 for (x=0; x < (ssize_t) image->columns; x++)
788 SetPixelRed(image,ScaleCharToQuantum(*yy++),q);
789 SetPixelGreen(image,ScaleCharToQuantum(*c1++),q);
790 SetPixelBlue(image,ScaleCharToQuantum(*c2++),q);
791 q+=GetPixelChannels(image);
793 if (SyncAuthenticPixels(image,exception) == MagickFalse)
795 if (image->previous == (Image *) NULL)
797 status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,
798 image->rows);
806 if (EOFBlob(image) != MagickFalse)
808 image->filename);
809 (void) CloseBlob(image);
816 Image
820 Rotate image.
823 rotate_image=RotateImage(image,degrees,exception);
824 if (rotate_image != (Image *) NULL)
826 image=DestroyImage(image);
827 image=rotate_image;
833 image->chromaticity.red_primary.x=0.6400f;
834 image->chromaticity.red_primary.y=0.3300f;
835 image->chromaticity.green_primary.x=0.3000f;
836 image->chromaticity.green_primary.y=0.6000f;
837 image->chromaticity.blue_primary.x=0.1500f;
838 image->chromaticity.blue_primary.y=0.0600f;
839 image->chromaticity.white_point.x=0.3127f;
840 image->chromaticity.white_point.y=0.3290f;
841 image->gamma=1.000f/2.200f;
842 image->colorspace=YCCColorspace;
844 SetImageColorspace(image,sRGBColorspace,exception);
845 return(GetFirstImageInList(image));
860 % RegisterPCDImage() adds attributes for the PCD image format to
861 % the list of supported formats. The attributes include the image format
931 % WritePCDImage() writes an image in the Photo CD encoded image format.
936 % Image *image,ExceptionInfo *exception)
940 % o image_info: the image info.
942 % o image: The image.
948 static MagickBooleanType WritePCDTile(Image *image,const char *page_geometry,
954 Image
979 Scale image to tile size.
981 SetGeometry(image,&geometry);
988 tile_image=ResizeImage(image,geometry.width,geometry.height,TriangleFilter,
990 if (tile_image == (Image *) NULL)
1000 Image
1007 Put a border around the image.
1011 bordered_image=BorderImage(tile_image,&border_info,image->compose,
1013 if (bordered_image == (Image *) NULL)
1020 Image
1025 if (resize_image != (Image *) NULL)
1034 if (downsample_image == (Image *) NULL)
1046 (void) WriteBlobByte(image,ScaleQuantumToChar(GetPixelRed(tile_image,p)));
1055 (void) WriteBlobByte(image,ScaleQuantumToChar(
1065 (void) WriteBlobByte(image,ScaleQuantumToChar(
1069 status=SetImageProgress(image,SaveImageTag,y,tile_image->rows);
1074 (void) WriteBlobByte(image,'\0');
1080 static MagickBooleanType WritePCDImage(const ImageInfo *image_info,Image *image,
1083 Image
1094 assert(image != (Image *) NULL);
1095 assert(image->signature == MagickCoreSignature);
1096 if (image->debug != MagickFalse)
1097 (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
1098 pcd_image=image;
1099 if (image->columns < image->rows)
1101 Image
1107 rotate_image=RotateImage(image,90.0,exception);
1108 if (rotate_image == (Image *) NULL)
1113 Open output image file.
1121 Write PCD image header.
1147 if (image->columns < image->rows)
1160 if (pcd_image != image)