Powered by Pair ImageMagick logo
Image Magick
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages

ImageMagick-6.1.1/coders/matte.c File Reference

#include "magick/studio.h"
#include "magick/blob.h"
#include "magick/blob_private.h"
#include "magick/constitute.h"
#include "magick/error.h"
#include "magick/error_private.h"
#include "magick/image_private.h"
#include "magick/magick.h"
#include "magick/memory_.h"
#include "magick/monitor.h"
#include "magick/static.h"
#include "magick/string_.h"

Include dependency graph for matte.c:

Include dependency graph

Go to the source code of this file.

Functions

MagickBooleanType WriteMATTEImage (const ImageInfo *, Image *)
ModuleExport void RegisterMATTEImage (void)
ModuleExport void UnregisterMATTEImage (void)


Function Documentation

ModuleExport void RegisterMATTEImage void   ) 
 

Definition at line 84 of file matte.c.

References AcquireString(), _MagickInfo::description, _MagickInfo::encoder, EncoderHandler, _MagickInfo::module, ModuleExport, RegisterMagickInfo(), SetMagickInfo(), and WriteMATTEImage().

Referenced by RegisterStaticModules().

00085 { 00086 MagickInfo 00087 *entry; 00088 00089 entry=SetMagickInfo("MATTE"); 00090 entry->encoder=(EncoderHandler *) WriteMATTEImage; 00091 entry->description=AcquireString("MATTE format"); 00092 entry->module=AcquireString("MATTE"); 00093 (void) RegisterMagickInfo(entry); 00094 }

Here is the call graph for this function:

ModuleExport void UnregisterMATTEImage void   ) 
 

Definition at line 115 of file matte.c.

References ModuleExport, and UnregisterMagickInfo().

Referenced by UnregisterStaticModules().

00116 { 00117 (void) UnregisterMagickInfo("MATTE"); 00118 }

Here is the call graph for this function:

MagickBooleanType WriteMATTEImage const ImageInfo ,
Image
[static]
 

Definition at line 147 of file matte.c.

References AcquireImagePixels(), _PixelPacket::blue, _Image::client_data, CloneImage(), CoderError, _Image::columns, DestroyImage(), _Image::exception, _Image::filename, FormatMagickString(), _PixelPacket::green, MagickBooleanType, MagickFalse, MagickProgressMonitor, MagickTrue, _Image::matte, MaxTextExtent, _PixelPacket::opacity, OpaqueOpacity, _Image::previous, _Image::progress_monitor, QuantumTick, _PixelPacket::red, _Image::rows, SaveImageTag, SetImagePixels(), SetImageType(), SyncImagePixels(), ThrowWriterException, TrueColorType, and WriteImage().

Referenced by RegisterMATTEImage().

00149 { 00150 Image 00151 *matte_image; 00152 00153 long 00154 y; 00155 00156 MagickBooleanType 00157 status; 00158 00159 register const PixelPacket 00160 *p; 00161 00162 register long 00163 x; 00164 00165 register PixelPacket 00166 *q; 00167 00168 if (image->matte == MagickFalse) 00169 ThrowWriterException(CoderError,"ImageDoesNotHaveAMatteChannel"); 00170 matte_image= 00171 CloneImage(image,image->columns,image->rows,MagickTrue,&image->exception); 00172 if (matte_image == (Image *) NULL) 00173 return(MagickFalse); 00174 (void) SetImageType(matte_image,TrueColorType); 00175 matte_image->matte=MagickFalse; 00176 /* 00177 Convert image to matte pixels. 00178 */ 00179 for (y=0; y < (long) image->rows; y++) 00180 { 00181 p=AcquireImagePixels(image,0,y,image->columns,1,&image->exception); 00182 q=SetImagePixels(matte_image,0,y,matte_image->columns,1); 00183 if ((p == (const PixelPacket *) NULL) || (q == (PixelPacket *) NULL)) 00184 break; 00185 for (x=0; x < (long) image->columns; x++) 00186 { 00187 q->red=p->opacity; 00188 q->green=p->opacity; 00189 q->blue=p->opacity; 00190 q->opacity=OpaqueOpacity; 00191 p++; 00192 q++; 00193 } 00194 if (SyncImagePixels(matte_image) == MagickFalse) 00195 break; 00196 if (image->previous == (Image *) NULL) 00197 if ((image->progress_monitor != (MagickProgressMonitor) NULL) && 00198 (QuantumTick(y,image->rows) != MagickFalse)) 00199 { 00200 status=image->progress_monitor(SaveImageTag,y,image->rows, 00201 image->client_data); 00202 if (status == MagickFalse) 00203 break; 00204 } 00205 } 00206 (void) FormatMagickString(matte_image->filename,MaxTextExtent, 00207 "MIFF:%s",image->filename); 00208 status=WriteImage(image_info,matte_image); 00209 matte_image=DestroyImage(matte_image); 00210 return(status); 00211 }

Here is the call graph for this function:


Generated on Mon Oct 25 13:42:33 2004 for ImageMagick by doxygen 1.3.7
ImageMagick Copyright © 2004, ImageMagick Studio LLC