您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ AcquireNextImage函数代码示例

51自学网 2021-06-01 19:40:18
  C++
这篇教程C++ AcquireNextImage函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中AcquireNextImage函数的典型用法代码示例。如果您正苦于以下问题:C++ AcquireNextImage函数的具体用法?C++ AcquireNextImage怎么用?C++ AcquireNextImage使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了AcquireNextImage函数的21个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: ReadPIXImage

//.........这里部分代码省略.........  {    /*      Initialize image structure.    */    image->columns=width;    image->rows=height;    if (bits_per_pixel == 8)      if (AcquireImageColormap(image,256) == MagickFalse)        ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed");    if ((image_info->ping != MagickFalse) && (image_info->number_scenes != 0))      if (image->scene >= (image_info->scene+image_info->number_scenes-1))        break;    /*      Convert PIX raster image to pixel packets.    */    red=(Quantum) 0;    green=(Quantum) 0;    blue=(Quantum) 0;    index=(IndexPacket) 0;    length=0;    for (y=0; y < (ssize_t) image->rows; y++)    {      q=QueueAuthenticPixels(image,0,y,image->columns,1,exception);      if (q == (PixelPacket *) NULL)        break;      indexes=GetAuthenticIndexQueue(image);      for (x=0; x < (ssize_t) image->columns; x++)      {        if (length == 0)          {            length=(size_t) ReadBlobByte(image);            if (bits_per_pixel == 8)              index=ScaleCharToQuantum((unsigned char) ReadBlobByte(image));            else              {                blue=ScaleCharToQuantum((unsigned char) ReadBlobByte(image));                green=ScaleCharToQuantum((unsigned char) ReadBlobByte(image));                red=ScaleCharToQuantum((unsigned char) ReadBlobByte(image));              }          }        if (image->storage_class == PseudoClass)          SetPixelIndex(indexes+x,index);        SetPixelBlue(q,blue);        SetPixelGreen(q,green);        SetPixelRed(q,red);        length--;        q++;      }      if (SyncAuthenticPixels(image,exception) == MagickFalse)        break;      if (image->previous == (Image *) NULL)        {          status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,            image->rows);          if (status == MagickFalse)            break;        }    }    if (image->storage_class == PseudoClass)      (void) SyncImage(image);    if (EOFBlob(image) != MagickFalse)      {        ThrowFileException(exception,CorruptImageError,"UnexpectedEndOfFile",          image->filename);        break;      }    /*      Proceed to next image.    */    if (image_info->number_scenes != 0)      if (image->scene >= (image_info->scene+image_info->number_scenes-1))        break;    width=ReadBlobMSBLong(image);    height=ReadBlobMSBLong(image);    (void) ReadBlobMSBShort(image);    (void) ReadBlobMSBShort(image);    bits_per_pixel=ReadBlobMSBShort(image);    status=(width != 0UL) && (height == 0UL) && ((bits_per_pixel == 8) ||      (bits_per_pixel == 24)) ? MagickTrue : MagickFalse;    if (status == MagickTrue)      {        /*          Allocate next image structure.        */        AcquireNextImage(image_info,image);        if (GetNextImageInList(image) == (Image *) NULL)          {            image=DestroyImageList(image);            return((Image *) NULL);          }        image=SyncNextImageInList(image);        status=SetImageProgress(image,LoadImagesTag,TellBlob(image),          GetBlobSize(image));        if (status == MagickFalse)          break;      }  } while (status == MagickTrue);  (void) CloseBlob(image);  return(GetFirstImageInList(image));}
开发者ID:271845221,项目名称:Android-ImageMagick,代码行数:101,


示例2: ReadVIFFImage

//.........这里部分代码省略.........                        break;                }            }        }        else if (image->storage_class == PseudoClass)            for (y=0; y < (ssize_t) image->rows; y++)            {                q=QueueAuthenticPixels(image,0,y,image->columns,1,exception);                if (q == (Quantum *) NULL)                    break;                for (x=0; x < (ssize_t) image->columns; x++)                {                    SetPixelIndex(image,*p++,q);                    q+=GetPixelChannels(image);                }                if (SyncAuthenticPixels(image,exception) == MagickFalse)                    break;                if (image->previous == (Image *) NULL)                {                    status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,                                            image->rows);                    if (status == MagickFalse)                        break;                }            }        else        {            /*              Convert DirectColor scanline.            */            number_pixels=(MagickSizeType) image->columns*image->rows;            for (y=0; y < (ssize_t) image->rows; y++)            {                q=QueueAuthenticPixels(image,0,y,image->columns,1,exception);                if (q == (Quantum *) NULL)                    break;                for (x=0; x < (ssize_t) image->columns; x++)                {                    SetPixelRed(image,ScaleCharToQuantum(*p),q);                    SetPixelGreen(image,ScaleCharToQuantum(*(p+number_pixels)),q);                    SetPixelBlue(image,ScaleCharToQuantum(*(p+2*number_pixels)),q);                    if (image->colors != 0)                    {                        SetPixelRed(image,image->colormap[(ssize_t)                                                          GetPixelRed(image,q)].red,q);                        SetPixelGreen(image,image->colormap[(ssize_t)                                                            GetPixelGreen(image,q)].green,q);                        SetPixelBlue(image,image->colormap[(ssize_t)                                                           GetPixelBlue(image,q)].blue,q);                    }                    SetPixelAlpha(image,image->alpha_trait == BlendPixelTrait ?                                  ScaleCharToQuantum(*(p+number_pixels*3)) : OpaqueAlpha,q);                    p++;                    q+=GetPixelChannels(image);                }                if (SyncAuthenticPixels(image,exception) == MagickFalse)                    break;                if (image->previous == (Image *) NULL)                {                    status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,                                            image->rows);                    if (status == MagickFalse)                        break;                }            }        }        viff_pixels=(unsigned char *) RelinquishMagickMemory(viff_pixels);        if (image->storage_class == PseudoClass)            (void) SyncImage(image,exception);        if (EOFBlob(image) != MagickFalse)        {            ThrowFileException(exception,CorruptImageError,"UnexpectedEndOfFile",                               image->filename);            break;        }        /*          Proceed to next image.        */        if (image_info->number_scenes != 0)            if (image->scene >= (image_info->scene+image_info->number_scenes-1))                break;        count=ReadBlob(image,1,&viff_info.identifier);        if ((count != 0) && (viff_info.identifier == 0xab))        {            /*              Allocate next image structure.            */            AcquireNextImage(image_info,image,exception);            if (GetNextImageInList(image) == (Image *) NULL)            {                image=DestroyImageList(image);                return((Image *) NULL);            }            image=SyncNextImageInList(image);            status=SetImageProgress(image,LoadImagesTag,TellBlob(image),                                    GetBlobSize(image));            if (status == MagickFalse)                break;        }    } while ((count != 0) && (viff_info.identifier == 0xab));
开发者ID:verma-manish58,项目名称:ImageMagick,代码行数:101,


示例3: assert

//.........这里部分代码省略.........    /*      Verify that required image information is defined.    */    if (comment != (char *) NULL)    {        (void) SetImageProperty(image,"comment",comment);        comment=DestroyString(comment);    }    if (EOFBlob(image) != MagickFalse)        ThrowFileException(exception,CorruptImageError,"UnexpectedEndOfFile",                           image->filename);    number_pixels=(MagickSizeType) fits_info.columns*fits_info.rows;    if ((fits_info.simple == MagickFalse) || (fits_info.number_axes < 1) ||            (fits_info.number_axes > 4) || (number_pixels == 0))        ThrowReaderException(CorruptImageError,"ImageTypeNotSupported");    for (scene=0; scene < (ssize_t) fits_info.number_planes; scene++)    {        image->columns=(size_t) fits_info.columns;        image->rows=(size_t) fits_info.rows;        image->depth=(size_t) (fits_info.bits_per_pixel < 0 ? -1 : 1)*                     fits_info.bits_per_pixel;        image->endian=fits_info.endian;        image->scene=(size_t) scene;        if ((image_info->ping != MagickFalse) && (image_info->number_scenes != 0))            if (image->scene >= (image_info->scene+image_info->number_scenes-1))                break;        /*          Initialize image structure.        */        if ((fits_info.min_data != 0.0) || (fits_info.max_data != 0.0))        {            if ((fits_info.bits_per_pixel != 0) && (fits_info.max_data == 0.0))                fits_info.max_data=GetFITSPixelRange((size_t)                                                     fits_info.bits_per_pixel);        }        else            GetFITSPixelExtrema(image,fits_info.bits_per_pixel,&fits_info.min_data,                                &fits_info.max_data);        /*          Convert FITS pixels to pixel packets.        */        scale=(double) QuantumRange/(fits_info.scale*(fits_info.max_data-                                     fits_info.min_data)+fits_info.zero);        for (y=(ssize_t) image->rows-1; y >= 0; y--)        {            q=QueueAuthenticPixels(image,0,y,image->columns,1,exception);            if (q == (PixelPacket *) NULL)                break;            for (x=0; x < (ssize_t) image->columns; x++)            {                pixel=GetFITSPixel(image,fits_info.bits_per_pixel);                SetPixelRed(q,ClampToQuantum(scale*(fits_info.scale*(pixel-                                                    fits_info.min_data)+fits_info.zero)));                SetPixelGreen(q,GetPixelRed(q));                SetPixelBlue(q,GetPixelRed(q));                q++;            }            if (SyncAuthenticPixels(image,exception) == MagickFalse)                break;            if (image->previous == (Image *) NULL)            {                status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,                                        image->rows);                if (status == MagickFalse)                    break;            }        }        if (EOFBlob(image) != MagickFalse)        {            ThrowFileException(exception,CorruptImageError,"UnexpectedEndOfFile",                               image->filename);            break;        }        /*          Proceed to next image.        */        if (image_info->number_scenes != 0)            if (image->scene >= (image_info->scene+image_info->number_scenes-1))                break;        if (scene < (ssize_t) (fits_info.number_planes-1))        {            /*              Allocate next image structure.            */            AcquireNextImage(image_info,image);            if (GetNextImageInList(image) == (Image *) NULL)            {                image=DestroyImageList(image);                return((Image *) NULL);            }            image=SyncNextImageInList(image);            status=SetImageProgress(image,LoadImagesTag,TellBlob(image),                                    GetBlobSize(image));            if (status == MagickFalse)                break;        }    }    (void) CloseBlob(image);    return(GetFirstImageInList(image));}
开发者ID:Deni-al,项目名称:Android-ImageMagick,代码行数:101,


示例4: ReadMTVImage

//.........这里部分代码省略.........        (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",                              image_info->filename);    assert(exception != (ExceptionInfo *) NULL);    assert(exception->signature == MagickSignature);    image=AcquireImage(image_info);    status=OpenBlob(image_info,image,ReadBinaryBlobMode,exception);    if (status == MagickFalse)    {        image=DestroyImageList(image);        return((Image *) NULL);    }    /*      Read MTV image.    */    (void) ReadBlobString(image,buffer);    count=(ssize_t) sscanf(buffer,"%lu %lu/n",&columns,&rows);    if (count <= 0)        ThrowReaderException(CorruptImageError,"ImproperImageHeader");    do    {        /*          Initialize image structure.        */        image->columns=columns;        image->rows=rows;        image->depth=8;        if ((image_info->ping != MagickFalse) && (image_info->number_scenes != 0))            if (image->scene >= (image_info->scene+image_info->number_scenes-1))                break;        /*          Convert MTV raster image to pixel packets.        */        pixels=(unsigned char *) AcquireQuantumMemory((size_t) image->columns,                3UL*sizeof(*pixels));        if (pixels == (unsigned char *) NULL)            ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed");        for (y=0; y < (ssize_t) image->rows; y++)        {            count=(ssize_t) ReadBlob(image,(size_t) (3*image->columns),pixels);            if (count != (ssize_t) (3*image->columns))                ThrowReaderException(CorruptImageError,"UnableToReadImageData");            p=pixels;            q=QueueAuthenticPixels(image,0,y,image->columns,1,exception);            if (q == (PixelPacket *) NULL)                break;            for (x=0; x < (ssize_t) image->columns; x++)            {                SetPixelRed(q,ScaleCharToQuantum(*p++));                SetPixelGreen(q,ScaleCharToQuantum(*p++));                SetPixelBlue(q,ScaleCharToQuantum(*p++));                SetPixelOpacity(q,OpaqueOpacity);                q++;            }            if (SyncAuthenticPixels(image,exception) == MagickFalse)                break;            if (image->previous == (Image *) NULL)            {                status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,                                        image->rows);                if (status == MagickFalse)                    break;            }        }        pixels=(unsigned char *) RelinquishMagickMemory(pixels);        if (EOFBlob(image) != MagickFalse)        {            ThrowFileException(exception,CorruptImageError,"UnexpectedEndOfFile",                               image->filename);            break;        }        /*          Proceed to next image.        */        if (image_info->number_scenes != 0)            if (image->scene >= (image_info->scene+image_info->number_scenes-1))                break;        *buffer='/0';        (void) ReadBlobString(image,buffer);        count=(ssize_t) sscanf(buffer,"%lu %lu/n",&columns,&rows);        if (count > 0)        {            /*              Allocate next image structure.            */            AcquireNextImage(image_info,image);            if (GetNextImageInList(image) == (Image *) NULL)            {                image=DestroyImageList(image);                return((Image *) NULL);            }            image=SyncNextImageInList(image);            status=SetImageProgress(image,LoadImagesTag,TellBlob(image),                                    GetBlobSize(image));            if (status == MagickFalse)                break;        }    } while (count > 0);    (void) CloseBlob(image);    return(GetFirstImageInList(image));}
开发者ID:0xPr0xy,项目名称:ImageMagick,代码行数:101,


示例5: ReadAVSImage

//.........这里部分代码省略.........      image_info->filename);  assert(exception != (ExceptionInfo *) NULL);  assert(exception->signature == MagickSignature);  image=AcquireImage(image_info);  status=OpenBlob(image_info,image,ReadBinaryBlobMode,exception);  if (status == MagickFalse)    {      image=DestroyImageList(image);      return((Image *) NULL);    }  /*    Read AVS X image.  */  width=ReadBlobMSBLong(image);  height=ReadBlobMSBLong(image);  if (EOFBlob(image) != MagickFalse)    ThrowReaderException(CorruptImageError,"ImproperImageHeader");  if ((width == 0UL) || (height == 0UL))    ThrowReaderException(CorruptImageError,"ImproperImageHeader");  do  {    /*      Convert AVS raster image to pixel packets.    */    image->columns=width;    image->rows=height;    image->depth=8;    if ((image_info->ping != MagickFalse) && (image_info->number_scenes != 0))      if (image->scene >= (image_info->scene+image_info->number_scenes-1))        break;    pixels=(unsigned char *) AcquireQuantumMemory(image->columns,      4*sizeof(*pixels));    if (pixels == (unsigned char *) NULL)       ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed");    length=(size_t) 4*image->columns;    for (y=0; y < (ssize_t) image->rows; y++)    {      count=ReadBlob(image,length,pixels);      if ((size_t) count != length)        ThrowReaderException(CorruptImageError,"UnableToReadImageData");      p=pixels;      q=QueueAuthenticPixels(image,0,y,image->columns,1,exception);      if (q == (PixelPacket *) NULL)        break;      for (x=0; x < (ssize_t) image->columns; x++)      {        SetPixelAlpha(q,ScaleCharToQuantum(*p++));        SetPixelRed(q,ScaleCharToQuantum(*p++));        SetPixelGreen(q,ScaleCharToQuantum(*p++));        SetPixelBlue(q,ScaleCharToQuantum(*p++));        if (q->opacity != OpaqueOpacity)          image->matte=MagickTrue;        q++;      }      if (SyncAuthenticPixels(image,exception) == MagickFalse)        break;      if (image->previous == (Image *) NULL)        {          status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,            image->rows);          if (status == MagickFalse)            break;        }    }    pixels=(unsigned char *) RelinquishMagickMemory(pixels);    if (EOFBlob(image) != MagickFalse)      {        ThrowFileException(exception,CorruptImageError,"UnexpectedEndOfFile",          image->filename);        break;      }    /*      Proceed to next image.    */    if (image_info->number_scenes != 0)      if (image->scene >= (image_info->scene+image_info->number_scenes-1))        break;    width=ReadBlobMSBLong(image);    height=ReadBlobMSBLong(image);    if ((width != 0UL) && (height != 0UL))      {        /*          Allocate next image structure.        */        AcquireNextImage(image_info,image);        if (GetNextImageInList(image) == (Image *) NULL)          {            image=DestroyImageList(image);            return((Image *) NULL);          }        image=SyncNextImageInList(image);        status=SetImageProgress(image,LoadImagesTag,TellBlob(image),          GetBlobSize(image));        if (status == MagickFalse)          break;      }  } while ((width != 0UL) && (height != 0UL));  (void) CloseBlob(image);  return(GetFirstImageInList(image));}
开发者ID:0xPr0xy,项目名称:ImageMagick,代码行数:101,


示例6: ReadMPCImage

//.........这里部分代码省略.........            switch (depth)            {              default:                ThrowReaderException(CorruptImageError,                  "ImageDepthNotSupported");              case 8:              {                unsigned char                  pixel;                for (i=0; i < (long) image->colors; i++)                {                  p=PushCharPixel(p,&pixel);                  image->colormap[i].red=ScaleCharToQuantum(pixel);                  p=PushCharPixel(p,&pixel);                  image->colormap[i].green=ScaleCharToQuantum(pixel);                  p=PushCharPixel(p,&pixel);                  image->colormap[i].blue=ScaleCharToQuantum(pixel);                }                break;              }              case 16:              {                unsigned short                  pixel;                for (i=0; i < (long) image->colors; i++)                {                  p=PushShortPixel(MSBEndian,p,&pixel);                  image->colormap[i].red=ScaleShortToQuantum(pixel);                  p=PushShortPixel(MSBEndian,p,&pixel);                  image->colormap[i].green=ScaleShortToQuantum(pixel);                  p=PushShortPixel(MSBEndian,p,&pixel);                  image->colormap[i].blue=ScaleShortToQuantum(pixel);                }                break;              }              case 32:              {                unsigned long                  pixel;                for (i=0; i < (long) image->colors; i++)                {                  p=PushLongPixel(MSBEndian,p,&pixel);                  image->colormap[i].red=ScaleLongToQuantum(pixel);                  p=PushLongPixel(MSBEndian,p,&pixel);                  image->colormap[i].green=ScaleLongToQuantum(pixel);                  p=PushLongPixel(MSBEndian,p,&pixel);                  image->colormap[i].blue=ScaleLongToQuantum(pixel);                }                break;              }            }            colormap=(unsigned char *) RelinquishMagickMemory(colormap);          }      }    if (EOFBlob(image) != MagickFalse)      {        ThrowFileException(exception,CorruptImageError,"UnexpectedEndOfFile",          image->filename);        break;      }    if ((image_info->ping != MagickFalse) && (image_info->number_scenes != 0))      if (image->scene >= (image_info->scene+image_info->number_scenes-1))        break;    /*      Attach persistent pixel cache.    */    status=PersistPixelCache(image,cache_filename,MagickTrue,&offset,exception);    if (status == MagickFalse)      ThrowReaderException(CacheError,"UnableToPersistPixelCache");    /*      Proceed to next image.    */    do    {      c=ReadBlobByte(image);    } while ((isgraph(c) == MagickFalse) && (c != EOF));    if (c != EOF)      {        /*          Allocate next image structure.        */        AcquireNextImage(image_info,image);        if (GetNextImageInList(image) == (Image *) NULL)          {            image=DestroyImageList(image);            return((Image *) NULL);          }        image=SyncNextImageInList(image);        status=SetImageProgress(image,LoadImagesTag,TellBlob(image),          GetBlobSize(image));        if (status == MagickFalse)          break;      }  } while (c != EOF);  (void) CloseBlob(image);  return(GetFirstImageInList(image));}
开发者ID:0xPr0xy,项目名称:ImageMagick,代码行数:101,


示例7: ReadYUVImage

//.........这里部分代码省略.........          AppendImageFormat("V",image->filename);          status=OpenBlob(image_info,image,ReadBinaryBlobMode,exception);          if (status == MagickFalse)            {              image=DestroyImageList(image);              return((Image *) NULL);            }        }      for (y=0; y < (ssize_t) chroma_image->rows; y++)      {        (void) ReadBlob(image,(size_t) quantum*chroma_image->columns,scanline);        p=scanline;        q=GetAuthenticPixels(chroma_image,0,y,chroma_image->columns,1,          exception);        if (q == (PixelPacket *) NULL)          break;        for (x=0; x < (ssize_t) chroma_image->columns; x++)        {          if (quantum == 1)            SetPixelBlue(q,ScaleCharToQuantum(*p++));          else            {              SetPixelBlue(q,ScaleShortToQuantum(((*p) << 8) | *(p+1)));              p+=2;            }          q++;        }        if (SyncAuthenticPixels(chroma_image,exception) == MagickFalse)          break;      }    }    /*      Scale image.    */    resize_image=ResizeImage(chroma_image,image->columns,image->rows,      TriangleFilter,1.0,exception);    chroma_image=DestroyImage(chroma_image);    if (resize_image == (Image *) NULL)      ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed");    for (y=0; y < (ssize_t) image->rows; y++)    {      q=GetAuthenticPixels(image,0,y,image->columns,1,exception);      chroma_pixels=GetVirtualPixels(resize_image,0,y,resize_image->columns,1,        &resize_image->exception);      if ((q == (PixelPacket *) NULL) ||          (chroma_pixels == (const PixelPacket *) NULL))        break;      for (x=0; x < (ssize_t) image->columns; x++)      {        SetPixelGreen(q,GetPixelGreen(chroma_pixels));        SetPixelBlue(q,GetPixelBlue(chroma_pixels));        chroma_pixels++;        q++;      }      if (SyncAuthenticPixels(image,exception) == MagickFalse)        break;    }    resize_image=DestroyImage(resize_image);    SetImageColorspace(image,YCbCrColorspace);    if (interlace == PartitionInterlace)      (void) CopyMagickString(image->filename,image_info->filename,        MaxTextExtent);    if (EOFBlob(image) != MagickFalse)      {        ThrowFileException(exception,CorruptImageError,"UnexpectedEndOfFile",          image->filename);        break;      }    /*      Proceed to next image.    */    if (image_info->number_scenes != 0)      if (image->scene >= (image_info->scene+image_info->number_scenes-1))        break;    if (interlace == NoInterlace)      count=ReadBlob(image,(size_t) (2*quantum*image->columns),scanline);    else      count=ReadBlob(image,(size_t) quantum*image->columns,scanline);    if (count != 0)      {        /*          Allocate next image structure.        */        AcquireNextImage(image_info,image);        if (GetNextImageInList(image) == (Image *) NULL)          {            image=DestroyImageList(image);            return((Image *) NULL);          }        image=SyncNextImageInList(image);        status=SetImageProgress(image,LoadImagesTag,TellBlob(image),          GetBlobSize(image));        if (status == MagickFalse)          break;      }  } while (count != 0);  scanline=(unsigned char *) RelinquishMagickMemory(scanline);  (void) CloseBlob(image);  return(GetFirstImageInList(image));}
开发者ID:JohnHeywardOBrien,项目名称:photogram,代码行数:101,


示例8: ReadTEXTImage

//.........这里部分代码省略.........    {      ImageInfo        *read_info;      read_info=CloneImageInfo(image_info);      SetImageInfoBlob(read_info,(void *) NULL,0);      (void) CopyMagickString(read_info->filename,image_info->texture,        MaxTextExtent);      texture=ReadImage(read_info,exception);      read_info=DestroyImageInfo(read_info);    }  /*    Annotate the text image.  */  (void) SetImageBackgroundColor(image);  draw_info=CloneDrawInfo(image_info,(DrawInfo *) NULL);  (void) CloneString(&draw_info->text,image_info->filename);  (void) FormatLocaleString(geometry,MaxTextExtent,"0x0%+ld%+ld",(long) page.x,    (long) page.y);  (void) CloneString(&draw_info->geometry,geometry);  status=GetTypeMetrics(image,draw_info,&metrics);  if (status == MagickFalse)    ThrowReaderException(TypeError,"UnableToGetTypeMetrics");  page.y=(ssize_t) ceil((double) page.y+metrics.ascent-0.5);  (void) FormatLocaleString(geometry,MaxTextExtent,"0x0%+ld%+ld",(long) page.x,    (long) page.y);  (void) CloneString(&draw_info->geometry,geometry);  (void) CopyMagickString(filename,image_info->filename,MaxTextExtent);  if (*draw_info->text != '/0')    *draw_info->text='/0';  p=text;  for (offset=2*page.y; p != (char *) NULL; )  {    /*      Annotate image with text.    */    (void) ConcatenateString(&draw_info->text,text);    (void) ConcatenateString(&draw_info->text,"/n");    offset+=(ssize_t) (metrics.ascent-metrics.descent);    if (image->previous == (Image *) NULL)      {        status=SetImageProgress(image,LoadImageTag,offset,image->rows);        if (status == MagickFalse)          break;      }    p=ReadBlobString(image,text);    if ((offset < (ssize_t) image->rows) && (p != (char *) NULL))      continue;    if (texture != (Image *) NULL)      {        MagickProgressMonitor          progress_monitor;        progress_monitor=SetImageProgressMonitor(image,          (MagickProgressMonitor) NULL,image->client_data);        (void) TextureImage(image,texture);        (void) SetImageProgressMonitor(image,progress_monitor,          image->client_data);      }    (void) AnnotateImage(image,draw_info);    if (p == (char *) NULL)      break;    /*      Page is full-- allocate next image structure.    */    *draw_info->text='/0';    offset=2*page.y;    AcquireNextImage(image_info,image);    if (GetNextImageInList(image) == (Image *) NULL)      {        image=DestroyImageList(image);        return((Image *) NULL);      }    image->next->columns=image->columns;    image->next->rows=image->rows;    image=SyncNextImageInList(image);    (void) CopyMagickString(image->filename,filename,MaxTextExtent);    (void) SetImageBackgroundColor(image);    status=SetImageProgress(image,LoadImagesTag,TellBlob(image),      GetBlobSize(image));    if (status == MagickFalse)      break;  }  if (texture != (Image *) NULL)    {      MagickProgressMonitor        progress_monitor;      progress_monitor=SetImageProgressMonitor(image,        (MagickProgressMonitor) NULL,image->client_data);      (void) TextureImage(image,texture);      (void) SetImageProgressMonitor(image,progress_monitor,image->client_data);    }  (void) AnnotateImage(image,draw_info);  if (texture != (Image *) NULL)    texture=DestroyImage(texture);  draw_info=DestroyDrawInfo(draw_info);  (void) CloseBlob(image);  return(GetFirstImageInList(image));}
开发者ID:GalliumOS,项目名称:imagemagick,代码行数:101,


示例9: assert

//.........这里部分代码省略.........  if ((image_info->ping != MagickFalse) && (image_info->number_scenes != 0))      if (image->scene >= (image_info->scene+image_info->number_scenes-1))        break;/*   printf("Length: %.20g, Memory size: %.20g/n", (double) length,(double)     image->depth);*/     quantum_info=AcquireQuantumInfo(image_info,image);     if (quantum_info == (QuantumInfo *) NULL)       ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed");     status=SetQuantumFormat(image,quantum_info,quantum_format);     if (status == MagickFalse)       ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed");     pixels=GetQuantumPixels(quantum_info);      if(image->columns != ipl_info.width){/*     printf("Columns not set correctly!  Wanted: %.20g, got: %.20g/n",       (double) ipl_info.width, (double) image->columns);*/     }    /*     Covert IPL binary to pixel packets     */      if(ipl_info.colors == 1){      for(y = 0; y < (ssize_t) image->rows; y++){        (void) ReadBlob(image, length*image->depth/8, pixels);        q=QueueAuthenticPixels(image,0,y,image->columns,1,exception);        if (q == (PixelPacket *) NULL)                break;        (void) ImportQuantumPixels(image,(CacheView *) NULL,quantum_info,          GrayQuantum,pixels,exception);        if (SyncAuthenticPixels(image,exception) == MagickFalse)          break;    }  }  else{      for(y = 0; y < (ssize_t) image->rows; y++){        (void) ReadBlob(image, length*image->depth/8, pixels);        q=QueueAuthenticPixels(image,0,y,image->columns,1,exception);        if (q == (PixelPacket *) NULL)                break;        (void) ImportQuantumPixels(image,(CacheView *) NULL,quantum_info,          RedQuantum,pixels,exception);          if (SyncAuthenticPixels(image,exception) == MagickFalse)          break;      }      for(y = 0; y < (ssize_t) image->rows; y++){        (void) ReadBlob(image, length*image->depth/8, pixels);        q=QueueAuthenticPixels(image,0,y,image->columns,1,exception);        if (q == (PixelPacket *) NULL)          break;        (void) ImportQuantumPixels(image,(CacheView *) NULL,quantum_info,          GreenQuantum,pixels,exception);        if (SyncAuthenticPixels(image,exception) == MagickFalse)          break;      }      for(y = 0; y < (ssize_t) image->rows; y++){        (void) ReadBlob(image, length*image->depth/8, pixels);        q=QueueAuthenticPixels(image,0,y,image->columns,1,exception);        if (q == (PixelPacket *) NULL)          break;        (void) ImportQuantumPixels(image,(CacheView *) NULL,quantum_info,          BlueQuantum,pixels,exception);        if (SyncAuthenticPixels(image,exception) == MagickFalse)          break;      }   }   SetQuantumImageType(image,quantum_type);     t_count++;  quantum_info = DestroyQuantumInfo(quantum_info);    if (EOFBlob(image) != MagickFalse)    {      ThrowFileException(exception,CorruptImageError,"UnexpectedEndOfFile",                 image->filename);      break;    }   if(t_count < ipl_info.z * ipl_info.time){      /*       Proceed to next image.       */      AcquireNextImage(image_info, image);      if (GetNextImageInList(image) == (Image *) NULL)      {        image=DestroyImageList(image);        return((Image *) NULL);      }      image=SyncNextImageInList(image);       status=SetImageProgress(image,LoadImagesTag,TellBlob(image),        GetBlobSize(image));      if (status == MagickFalse)        break;    }  } while (t_count < ipl_info.z*ipl_info.time);  CloseBlob(image);  return(GetFirstImageInList(image));}
开发者ID:0xPr0xy,项目名称:ImageMagick,代码行数:101,


示例10: assert

//.........这里部分代码省略.........          if (frame_image != (Image *) NULL)            {              image=DestroyImage(image);              image=frame_image;            }          x=0;          y=0;        }      if (LocaleCompare(image->magick,"NULL") != 0)        {          /*            Composite background with tile.          */          if (montage_info->shadow != MagickFalse)            {              Image                *shadow_image;              /*                Shadow image.              */              (void) QueryColorCompliance("#0000",AllCompliance,                &image->background_color,exception);              shadow_image=ShadowImage(image,80.0,2.0,5,5,exception);              if (shadow_image != (Image *) NULL)                {                  (void) CompositeImage(shadow_image,image,OverCompositeOp,                    MagickTrue,0,0,exception);                  image=DestroyImage(image);                  image=shadow_image;                }          }          (void) CompositeImage(montage,image,image->compose,MagickTrue,            x_offset+x,y_offset+y,exception);          value=GetImageProperty(image,"label",exception);          if (value != (const char *) NULL)            {              /*                Annotate composite tile with label.              */              (void) FormatLocaleString(tile_geometry,MagickPathExtent,                "%.20gx%.20g%+.20g%+.20g",(double) ((montage_info->frame ?                image->columns : width)-2*border_width),(double)                (metrics.ascent-metrics.descent+4)*MultilineCensus(value),                (double) (x_offset+border_width),(double)                ((montage_info->frame ? y_offset+height+border_width+4 :                y_offset+extract_info.height+border_width+                (montage_info->shadow != MagickFalse ? 4 : 0))+bevel_width));              (void) CloneString(&draw_info->geometry,tile_geometry);              (void) CloneString(&draw_info->text,value);              (void) AnnotateImage(montage,draw_info,exception);            }        }      x_offset+=(ssize_t) (width+2*(extract_info.x+border_width));      if (((tile+1) == (ssize_t) tiles_per_page) ||          (((tile+1) % tiles_per_row) == 0))        {          x_offset=extract_info.x;          y_offset+=(ssize_t) (height+(extract_info.y+border_width)*2+            (metrics.ascent-metrics.descent+4)*number_lines+            (montage_info->shadow != MagickFalse ? 4 : 0));          max_height=0;        }      if (images->progress_monitor != (MagickProgressMonitor) NULL)        {          proceed=SetImageProgress(image,MontageImageTag,tiles,total_tiles);          if (proceed == MagickFalse)            status=MagickFalse;        }      image_list[tile]=DestroyImage(image_list[tile]);      image=DestroyImage(image);      tiles++;    }    (void) status;    if ((i+1) < (ssize_t) images_per_page)      {        /*          Allocate next image structure.        */        AcquireNextImage(clone_info,montage,exception);        if (GetNextImageInList(montage) == (Image *) NULL)          {            montage=DestroyImageList(montage);            return((Image *) NULL);          }        montage=GetNextImageInList(montage);        montage->background_color=montage_info->background_color;        image_list+=tiles_per_page;        number_images-=tiles_per_page;      }  }  tile_image=DestroyImage(tile_image);  if (texture != (Image *) NULL)    texture=DestroyImage(texture);  title=DestroyString(title);  master_list=(Image **) RelinquishMagickMemory(master_list);  draw_info=DestroyDrawInfo(draw_info);  clone_info=DestroyImageInfo(clone_info);  return(GetFirstImageInList(montage));}
开发者ID:vcgato29,项目名称:ImageMagick,代码行数:101,


示例11: ReadYCBCRImage

//.........这里部分代码省略.........                canvas_image=DestroyImageList(canvas_image);                image=DestroyImageList(image);                return((Image *) NULL);              }            length=GetQuantumExtent(canvas_image,quantum_info,AlphaQuantum);            for (i=0; i < (ssize_t) scene; i++)              for (y=0; y < (ssize_t) image->extract_info.height; y++)                if (ReadBlob(image,length,pixels) != (ssize_t) length)                  {                    ThrowFileException(exception,CorruptImageError,                      "UnexpectedEndOfFile",image->filename);                    break;                  }            count=ReadBlob(image,length,pixels);            for (y=0; y < (ssize_t) image->extract_info.height; y++)            {              if (count != (ssize_t) length)                {                  ThrowFileException(exception,CorruptImageError,                    "UnexpectedEndOfFile",image->filename);                  break;                }              q=GetAuthenticPixels(canvas_image,0,0,canvas_image->columns,1,                exception);              if (q == (PixelPacket *) NULL)                break;              length=ImportQuantumPixels(canvas_image,(CacheView *) NULL,                quantum_info,BlueQuantum,pixels,exception);              if (SyncAuthenticPixels(canvas_image,exception) == MagickFalse)                break;              if (((y-image->extract_info.y) >= 0) &&                   ((y-image->extract_info.y) < (ssize_t) image->rows))                {                  p=GetVirtualPixels(canvas_image,                    canvas_image->extract_info.x,0,canvas_image->columns,1,                    exception);                  q=GetAuthenticPixels(image,0,y-image->extract_info.y,                    image->columns,1,exception);                  if ((p == (const PixelPacket *) NULL) ||                      (q == (PixelPacket *) NULL))                    break;                  for (x=0; x < (ssize_t) image->columns; x++)                  {                    SetPixelOpacity(q,GetPixelOpacity(p));                    p++;                    q++;                  }                  if (SyncAuthenticPixels(image,exception) == MagickFalse)                    break;               }              count=ReadBlob(image,length,pixels);            }            if (image->previous == (Image *) NULL)              {                status=SetImageProgress(image,LoadImageTag,4,5);                if (status == MagickFalse)                  break;              }          }        if (image->previous == (Image *) NULL)          {            status=SetImageProgress(image,LoadImageTag,5,5);            if (status == MagickFalse)              break;          }        break;      }    }    SetQuantumImageType(image,quantum_type);    /*      Proceed to next image.    */    if (image_info->number_scenes != 0)      if (image->scene >= (image_info->scene+image_info->number_scenes-1))        break;    if (count == (ssize_t) length)      {        /*          Allocate next image structure.        */        AcquireNextImage(image_info,image);        if (GetNextImageInList(image) == (Image *) NULL)          {            image=DestroyImageList(image);            return((Image *) NULL);          }        image=SyncNextImageInList(image);        status=SetImageProgress(image,LoadImagesTag,TellBlob(image),          GetBlobSize(image));        if (status == MagickFalse)          break;      }    scene++;  } while (count == (ssize_t) length);  quantum_info=DestroyQuantumInfo(quantum_info);  InheritException(&image->exception,&canvas_image->exception);  canvas_image=DestroyImage(canvas_image);  (void) CloseBlob(image);  return(GetFirstImageInList(image));}
开发者ID:0xPr0xy,项目名称:ImageMagick,代码行数:101,


示例12: assert

//.........这里部分代码省略.........      }    else      {        /*          Create grayscale map.        */        if (AcquireImageColormap(image,image->colors) == MagickFalse)          ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed");        /*          Convert SGI image to PseudoClass pixel packets.        */        if (bytes_per_pixel == 2)          {            for (y=0; y < (ssize_t) image->rows; y++)            {              p=pixels+(image->rows-y-1)*8*image->columns;              q=QueueAuthenticPixels(image,0,y,image->columns,1,exception);              if (q == (PixelPacket *) NULL)                break;              indexes=GetAuthenticIndexQueue(image);              for (x=0; x < (ssize_t) image->columns; x++)              {                quantum=(*p << 8);                quantum|=(*(p+1));                SetPixelIndex(indexes+x,quantum);                p+=8;                q++;              }              if (SyncAuthenticPixels(image,exception) == MagickFalse)                break;              if (image->previous == (Image *) NULL)                {                  status=SetImageProgress(image,LoadImageTag,(MagickOffsetType)                    y,image->rows);                  if (status == MagickFalse)                    break;                }            }          }        else          for (y=0; y < (ssize_t) image->rows; y++)          {            p=pixels+(image->rows-y-1)*4*image->columns;            q=QueueAuthenticPixels(image,0,y,image->columns,1,exception);            if (q == (PixelPacket *) NULL)              break;            indexes=GetAuthenticIndexQueue(image);            for (x=0; x < (ssize_t) image->columns; x++)            {              SetPixelIndex(indexes+x,*p);              p+=4;              q++;            }            if (SyncAuthenticPixels(image,exception) == MagickFalse)              break;            if (image->previous == (Image *) NULL)              {                status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,                image->rows);                if (status == MagickFalse)                  break;              }          }        (void) SyncImage(image);      }    pixel_info=RelinquishVirtualMemory(pixel_info);    if (EOFBlob(image) != MagickFalse)      {        ThrowFileException(exception,CorruptImageError,"UnexpectedEndOfFile",          image->filename);        break;      }    /*      Proceed to next image.    */    if (image_info->number_scenes != 0)      if (image->scene >= (image_info->scene+image_info->number_scenes-1))        break;    iris_info.magic=ReadBlobMSBShort(image);    if (iris_info.magic == 0x01DA)      {        /*          Allocate next image structure.        */        AcquireNextImage(image_info,image);        if (GetNextImageInList(image) == (Image *) NULL)          {            image=DestroyImageList(image);            return((Image *) NULL);          }        image=SyncNextImageInList(image);        status=SetImageProgress(image,LoadImagesTag,TellBlob(image),          GetBlobSize(image));        if (status == MagickFalse)          break;      }  } while (iris_info.magic == 0x01DA);  (void) CloseBlob(image);  return(GetFirstImageInList(image));}
开发者ID:acal,项目名称:alchemy,代码行数:101,


示例13: assert

//.........这里部分代码省略.........              }              if ((image->columns % 4) != 0)                {                  for (i=3; i >= (long) (4-(image->columns % 4)); i--)                    *r++=(unsigned char) ((*p >> (i*2)) & 0x03);                  p++;                }              break;            }            case 4:            {              for (x=0; x < ((long) image->columns-1); x+=2)              {                *r++=(*p >> 4) & 0xf;                *r++=(*p) & 0xf;                p++;              }              if ((image->columns % 2) != 0)                *r++=(*p++ >> 4) & 0xf;              break;            }            case 8:            {              (void) CopyMagickMemory(r,p,image->columns);              break;            }            default:              break;          }      /*        Transfer image scanline.      */      r=scanline;      for (x=0; x < (long) image->columns; x++)      {        if (image->storage_class == PseudoClass)          indexes[x]=(IndexPacket) (*r++);        else          {            q->red=ScaleCharToQuantum(*r++);            q->green=ScaleCharToQuantum(*r++);            q->blue=ScaleCharToQuantum(*r++);            if (image->matte != MagickFalse)              q->opacity=(Quantum) (QuantumRange-ScaleCharToQuantum(*r++));          }        q++;      }      if (SyncAuthenticPixels(image,exception) == MagickFalse)        break;      if (image->previous == (Image *) NULL)        {          status=SetImageProgress(image,LoadImageTag,y,image->rows);          if (status == MagickFalse)            break;        }    }    if (image->storage_class == PseudoClass)      (void) SyncImage(image);    scanline=(unsigned char *) RelinquishMagickMemory(scanline);    if (pcx_colormap != (unsigned char *) NULL)      pcx_colormap=(unsigned char *) RelinquishMagickMemory(pcx_colormap);    pcx_pixels=(unsigned char *) RelinquishMagickMemory(pcx_pixels);    if (EOFBlob(image) != MagickFalse)      {        ThrowFileException(exception,CorruptImageError,"UnexpectedEndOfFile",          image->filename);        break;      }    /*      Proceed to next image.    */    if (image_info->number_scenes != 0)      if (image->scene >= (image_info->scene+image_info->number_scenes-1))        break;    if (page_table == (MagickOffsetType *) NULL)      break;    if (page_table[id] == 0)      break;    offset=SeekBlob(image,(MagickOffsetType) page_table[id],SEEK_SET);    if (offset < 0)      ThrowReaderException(CorruptImageError,"ImproperImageHeader");    count=ReadBlob(image,1,&pcx_info.identifier);    if ((count != 0) && (pcx_info.identifier == 0x0a))      {        /*          Allocate next image structure.        */        AcquireNextImage(image_info,image);        if (GetNextImageInList(image) == (Image *) NULL)          {            image=DestroyImageList(image);            return((Image *) NULL);          }        image=SyncNextImageInList(image);        status=SetImageProgress(image,LoadImagesTag,TellBlob(image),          GetBlobSize(image));        if (status == MagickFalse)          break;      }  }
开发者ID:0xPr0xy,项目名称:ImageMagick,代码行数:101,


示例14: ReadRLEImage

//.........这里部分代码省略.........              p++;            }        p=pixels;        if (image->matte == MagickFalse)          {            /*              Convert raster image to PseudoClass pixel packets.            */            for (y=0; y < (ssize_t) image->rows; y++)            {              q=QueueAuthenticPixels(image,0,y,image->columns,1,exception);              if (q == (PixelPacket *) NULL)                break;              indexes=GetAuthenticIndexQueue(image);              for (x=0; x < (ssize_t) image->columns; x++)                SetPixelIndex(indexes+x,*p++);              if (SyncAuthenticPixels(image,exception) == MagickFalse)                break;              if (image->previous == (Image *) NULL)                {                  status=SetImageProgress(image,LoadImageTag,(MagickOffsetType)                    y,image->rows);                  if (status == MagickFalse)                    break;                }            }            (void) SyncImage(image);          }        else          {            /*              Image has a matte channel-- promote to DirectClass.            */            for (y=0; y < (ssize_t) image->rows; y++)            {              q=QueueAuthenticPixels(image,0,y,image->columns,1,exception);              if (q == (PixelPacket *) NULL)                break;              for (x=0; x < (ssize_t) image->columns; x++)              {                SetPixelRed(q,image->colormap[*p++].red);                SetPixelGreen(q,image->colormap[*p++].green);                SetPixelBlue(q,image->colormap[*p++].blue);                SetPixelAlpha(q,ScaleCharToQuantum(*p++));                q++;              }              if (SyncAuthenticPixels(image,exception) == MagickFalse)                break;              if (image->previous == (Image *) NULL)                {                  status=SetImageProgress(image,LoadImageTag,(MagickOffsetType)                    y,image->rows);                  if (status == MagickFalse)                    break;                }            }            image->colormap=(PixelPacket *) RelinquishMagickMemory(              image->colormap);            image->storage_class=DirectClass;            image->colors=0;          }      }    if (number_colormaps != 0)      colormap=(unsigned char *) RelinquishMagickMemory(colormap);    pixel_info=RelinquishVirtualMemory(pixel_info);    if (EOFBlob(image) != MagickFalse)      {        ThrowFileException(exception,CorruptImageError,"UnexpectedEndOfFile",          image->filename);        break;      }    /*      Proceed to next image.    */    if (image_info->number_scenes != 0)      if (image->scene >= (image_info->scene+image_info->number_scenes-1))        break;    (void) ReadBlobByte(image);    count=ReadBlob(image,2,(unsigned char *) magick);    if ((count != 0) && (memcmp(magick,"/122/314",2) == 0))      {        /*          Allocate next image structure.        */        AcquireNextImage(image_info,image);        if (GetNextImageInList(image) == (Image *) NULL)          {            image=DestroyImageList(image);            return((Image *) NULL);          }        image=SyncNextImageInList(image);        status=SetImageProgress(image,LoadImagesTag,TellBlob(image),          GetBlobSize(image));        if (status == MagickFalse)          break;      }  } while ((count != 0) && (memcmp(magick,"/122/314",2) == 0));  (void) CloseBlob(image);  return(GetFirstImageInList(image));}
开发者ID:UIKit0,项目名称:YoyaMagick,代码行数:101,


示例15: ReadTXTImage

//.........这里部分代码省略.........                {                case GRAYColorspace:                {                    if (image->alpha_trait != UndefinedPixelTrait)                    {                        count=(ssize_t) sscanf(text,"%ld,%ld: (%lf%*[%,]%lf%*[%,]",                                               &x_offset,&y_offset,&red,&alpha);                        green=red;                        blue=red;                        break;                    }                    count=(ssize_t) sscanf(text,"%ld,%ld: (%lf%*[%,]",&x_offset,                                           &y_offset,&red);                    green=red;                    blue=red;                    break;                }                case CMYKColorspace:                {                    if (image->alpha_trait != UndefinedPixelTrait)                    {                        count=(ssize_t) sscanf(text,                                               "%ld,%ld: (%lf%*[%,]%lf%*[%,]%lf%*[%,]%lf%*[%,]%lf%*[%,]",                                               &x_offset,&y_offset,&red,&green,&blue,&black,&alpha);                        break;                    }                    count=(ssize_t) sscanf(text,                                           "%ld,%ld: (%lf%*[%,]%lf%*[%,]%lf%*[%,]%lf%*[%,]",&x_offset,                                           &y_offset,&red,&green,&blue,&black);                    break;                }                default:                {                    if (image->alpha_trait != UndefinedPixelTrait)                    {                        count=(ssize_t) sscanf(text,                                               "%ld,%ld: (%lf%*[%,]%lf%*[%,]%lf%*[%,]%lf%*[%,]",                                               &x_offset,&y_offset,&red,&green,&blue,&alpha);                        break;                    }                    count=(ssize_t) sscanf(text,                                           "%ld,%ld: (%lf%*[%,]%lf%*[%,]%lf%*[%,]",&x_offset,                                           &y_offset,&red,&green,&blue);                    break;                }                }                if (strchr(text,'%') != (char *) NULL)                {                    red*=0.01*range;                    green*=0.01*range;                    blue*=0.01*range;                    black*=0.01*range;                    alpha*=0.01*range;                }                if (image->colorspace == LabColorspace)                {                    green+=(range+1)/2.0;                    blue+=(range+1)/2.0;                }                pixel.red=(MagickRealType) ScaleAnyToQuantum((QuantumAny) (red+0.5),                          range);                pixel.green=(MagickRealType) ScaleAnyToQuantum((QuantumAny) (green+0.5),                            range);                pixel.blue=(MagickRealType) ScaleAnyToQuantum((QuantumAny) (blue+0.5),                           range);                pixel.black=(MagickRealType) ScaleAnyToQuantum((QuantumAny) (black+0.5),                            range);                pixel.alpha=(MagickRealType) ScaleAnyToQuantum((QuantumAny) (alpha+0.5),                            range);                q=GetAuthenticPixels(image,(ssize_t) x_offset,(ssize_t) y_offset,1,1,                                     exception);                if (q == (Quantum *) NULL)                    continue;                SetPixelViaPixelInfo(image,&pixel,q);                if (SyncAuthenticPixels(image,exception) == MagickFalse)                    break;            }        }        (void) ReadBlobString(image,text);        if (LocaleNCompare((char *) text,MagickID,strlen(MagickID)) == 0)        {            /*              Allocate next image structure.            */            AcquireNextImage(image_info,image,exception);            if (GetNextImageInList(image) == (Image *) NULL)            {                image=DestroyImageList(image);                return((Image *) NULL);            }            image=SyncNextImageInList(image);            status=SetImageProgress(image,LoadImagesTag,TellBlob(image),                                    GetBlobSize(image));            if (status == MagickFalse)                break;        }    } while (LocaleNCompare((char *) text,MagickID,strlen(MagickID)) == 0);    (void) CloseBlob(image);    return(GetFirstImageInList(image));}
开发者ID:remicollet,项目名称:ImageMagick,代码行数:101,


示例16: ReadRGBImage

//.........这里部分代码省略.........            register long              x;            register PixelPacket              *__restrict q;            if (count != (ssize_t) length)              {                ThrowFileException(exception,CorruptImageError,                  "UnexpectedEndOfFile",image->filename);                break;              }            q=GetAuthenticPixels(canvas_image,0,0,canvas_image->columns,1,              exception);            if (q == (PixelPacket *) NULL)              break;            length=ImportQuantumPixels(canvas_image,(CacheView *) NULL,              quantum_info,quantum_types[i],pixels,exception);            if (SyncAuthenticPixels(canvas_image,exception) == MagickFalse)              break;            if (((y-image->extract_info.y) >= 0) &&                ((y-image->extract_info.y) < (long) image->rows))              {                p=GetVirtualPixels(canvas_image,canvas_image->extract_info.x,0,                  canvas_image->columns,1,exception);                q=GetAuthenticPixels(image,0,y-image->extract_info.y,                  image->columns,1,exception);                if ((p == (const PixelPacket *) NULL) ||                    (q == (PixelPacket *) NULL))                  break;                for (x=0; x < (long) image->columns; x++)                {                  switch(quantum_types[i])                  {                    case RedQuantum:    q->red=p->red;         break;                    case GreenQuantum:  q->green=p->green;     break;                    case BlueQuantum:   q->blue=p->blue;       break;                    case OpacityQuantum:                    case AlphaQuantum:  q->opacity=p->opacity; break;                    default:                                   break;                  }                  p++;                  q++;                }                if (SyncAuthenticPixels(image,exception) == MagickFalse)                  break;              }            count=ReadBlob(image,length,pixels);          }          if (image->previous == (Image *) NULL)            {              status=SetImageProgress(image,LoadImageTag,(i+1),5);              if (status == MagickFalse)                break;            }          if (i != (channels-1))            (void) CloseBlob(image);        }        if (image->previous == (Image *) NULL)          {            status=SetImageProgress(image,LoadImageTag,5,5);            if (status == MagickFalse)              break;          }        break;      }    }    SetQuantumImageType(image,quantum_type);    /*      Proceed to next image.    */    if (image_info->number_scenes != 0)      if (image->scene >= (image_info->scene+image_info->number_scenes-1))        break;    if (count == (ssize_t) length)      {        /*          Allocate next image structure.        */        AcquireNextImage(image_info,image);        if (GetNextImageInList(image) == (Image *) NULL)          {            image=DestroyImageList(image);            return((Image *) NULL);          }        image=SyncNextImageInList(image);        status=SetImageProgress(image,LoadImagesTag,TellBlob(image),          GetBlobSize(image));        if (status == MagickFalse)          break;      }    scene++;  } while (count == (ssize_t) length);  quantum_info=DestroyQuantumInfo(quantum_info);  InheritException(&image->exception,&canvas_image->exception);  canvas_image=DestroyImage(canvas_image);  (void) CloseBlob(image);  return(GetFirstImageInList(image));}
开发者ID:0xPr0xy,项目名称:ImageMagick,代码行数:101,


示例17: ReadPCXImage

//.........这里部分代码省略.........                p++;              }              if ((image->columns % 4) != 0)                {                  for (i=3; i >= (ssize_t) (4-(image->columns % 4)); i--)                    *r++=(unsigned char) ((*p >> (i*2)) & 0x03);                  p++;                }              break;            }            case 4:            {              for (x=0; x < ((ssize_t) image->columns-1); x+=2)              {                *r++=(*p >> 4) & 0xf;                *r++=(*p) & 0xf;                p++;              }              if ((image->columns % 2) != 0)                *r++=(*p++ >> 4) & 0xf;              break;            }            case 8:            {              (void) CopyMagickMemory(r,p,image->columns);              break;            }            default:              break;          }      /*        Transfer image scanline.      */      r=scanline;      for (x=0; x < (ssize_t) image->columns; x++)      {        if (image->storage_class == PseudoClass)          SetPixelIndex(image,*r++,q);        else          {            SetPixelRed(image,ScaleCharToQuantum(*r++),q);            SetPixelGreen(image,ScaleCharToQuantum(*r++),q);            SetPixelBlue(image,ScaleCharToQuantum(*r++),q);            if (image->alpha_trait != UndefinedPixelTrait)              SetPixelAlpha(image,ScaleCharToQuantum(*r++),q);          }        q+=GetPixelChannels(image);      }      if (SyncAuthenticPixels(image,exception) == MagickFalse)        break;      if (image->previous == (Image *) NULL)        {          status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,            image->rows);          if (status == MagickFalse)            break;        }    }    if (image->storage_class == PseudoClass)      (void) SyncImage(image,exception);    scanline=(unsigned char *) RelinquishMagickMemory(scanline);    pixel_info=RelinquishVirtualMemory(pixel_info);    if (EOFBlob(image) != MagickFalse)      {        ThrowFileException(exception,CorruptImageError,"UnexpectedEndOfFile",          image->filename);        break;      }    /*      Proceed to next image.    */    if (image_info->number_scenes != 0)      if (image->scene >= (image_info->scene+image_info->number_scenes-1))        break;    if (page_table == (MagickOffsetType *) NULL)      break;    if (page_table[id] == 0)      break;    offset=SeekBlob(image,(MagickOffsetType) page_table[id],SEEK_SET);    if (offset < 0)      ThrowReaderException(CorruptImageError,"ImproperImageHeader");    count=ReadBlob(image,1,&pcx_info.identifier);    if ((count != 0) && (pcx_info.identifier == 0x0a))      {        /*          Allocate next image structure.        */        AcquireNextImage(image_info,image,exception);        if (GetNextImageInList(image) == (Image *) NULL)          {            image=DestroyImageList(image);            return((Image *) NULL);          }        image=SyncNextImageInList(image);        status=SetImageProgress(image,LoadImagesTag,TellBlob(image),          GetBlobSize(image));        if (status == MagickFalse)          break;      }  }
开发者ID:278443820,项目名称:ImageMagick,代码行数:101,


示例18: ReadTXTImage

//.........这里部分代码省略.........            if (image->matte != MagickFalse)              {                count=(ssize_t) sscanf(text,"%ld,%ld: (%lf%*[%,]%lf%*[%,]",                  &x_offset,&y_offset,&red,&opacity);                green=red;                blue=red;                break;              }            count=(ssize_t) sscanf(text,"%ld,%ld: (%lf%*[%,]",&x_offset,              &y_offset,&red);            green=red;            blue=red;            break;          }          case CMYKColorspace:          {            if (image->matte != MagickFalse)              {                count=(ssize_t) sscanf(text,                  "%ld,%ld: (%lf%*[%,]%lf%*[%,]%lf%*[%,]%lf%*[%,]%lf%*[%,]",                  &x_offset,&y_offset,&red,&green,&blue,&index,&opacity);                break;              }            count=(ssize_t) sscanf(text,              "%ld,%ld: (%lf%*[%,]%lf%*[%,]%lf%*[%,]%lf%*[%,]",&x_offset,              &y_offset,&red,&green,&blue,&index);            break;          }          default:          {            if (image->matte != MagickFalse)              {                count=(ssize_t) sscanf(text,                  "%ld,%ld: (%lf%*[%,]%lf%*[%,]%lf%*[%,]%lf%*[%,]",                  &x_offset,&y_offset,&red,&green,&blue,&opacity);                break;              }            count=(ssize_t) sscanf(text,              "%ld,%ld: (%lf%*[%,]%lf%*[%,]%lf%*[%,]",&x_offset,&y_offset,               &red,&green,&blue);            break;          }        }        if (strchr(text,'%') != (char *) NULL)          {            red*=0.01*range;            green*=0.01*range;            blue*=0.01*range;            index*=0.01*range;            opacity*=0.01*range;          }        if (image->colorspace == LabColorspace)          {            green+=(range+1)/2.0;            blue+=(range+1)/2.0;          }        pixel.red=ScaleAnyToQuantum((QuantumAny) (red+0.5),range);        pixel.green=ScaleAnyToQuantum((QuantumAny) (green+0.5),range);        pixel.blue=ScaleAnyToQuantum((QuantumAny) (blue+0.5),range);        pixel.index=ScaleAnyToQuantum((QuantumAny) (index+0.5),range);        pixel.opacity=ScaleAnyToQuantum((QuantumAny) (opacity+0.5),range);        q=GetAuthenticPixels(image,x_offset,y_offset,1,1,exception);        if (q == (PixelPacket *) NULL)          continue;        SetPixelRed(q,pixel.red);        SetPixelGreen(q,pixel.green);        SetPixelBlue(q,pixel.blue);        if (image->colorspace == CMYKColorspace)          {            indexes=GetAuthenticIndexQueue(image);            SetPixelIndex(indexes,pixel.index);          }        if (image->matte != MagickFalse)          SetPixelAlpha(q,pixel.opacity);        if (SyncAuthenticPixels(image,exception) == MagickFalse)          break;      }    }    (void) ReadBlobString(image,text);    if (LocaleNCompare((char *) text,MagickID,strlen(MagickID)) == 0)      {        /*          Allocate next image structure.        */        AcquireNextImage(image_info,image);        if (GetNextImageInList(image) == (Image *) NULL)          {            image=DestroyImageList(image);            return((Image *) NULL);          }        image=SyncNextImageInList(image);        status=SetImageProgress(image,LoadImagesTag,TellBlob(image),          GetBlobSize(image));        if (status == MagickFalse)          break;      }  } while (LocaleNCompare((char *) text,MagickID,strlen(MagickID)) == 0);  (void) CloseBlob(image);  return(GetFirstImageInList(image));}
开发者ID:GalliumOS,项目名称:imagemagick,代码行数:101,


示例19: ReadRAWImage

//.........这里部分代码省略.........      if (image->scene >= (image_info->scene+image_info->number_scenes-1))        break;    status=SetImageExtent(image,image->columns,image->rows);    if (status == MagickFalse)      {        InheritException(exception,&image->exception);        return(DestroyImageList(image));      }    if (scene == 0)      {        length=GetQuantumExtent(canvas_image,quantum_info,quantum_type);        pixels=(const unsigned char *) ReadBlobStream(image,length,          GetQuantumPixels(quantum_info),&count);      }    for (y=0; y < (ssize_t) image->extract_info.height; y++)    {      register const PixelPacket        *magick_restrict p;      register PixelPacket        *magick_restrict q;      register ssize_t        x;      if (count != (ssize_t) length)        {          ThrowFileException(exception,CorruptImageError,"UnexpectedEndOfFile",            image->filename);          break;        }      q=GetAuthenticPixels(canvas_image,0,0,canvas_image->columns,1,exception);      if (q == (PixelPacket *) NULL)        break;      length=ImportQuantumPixels(canvas_image,(CacheView *) NULL,quantum_info,        quantum_type,pixels,exception);      if (SyncAuthenticPixels(canvas_image,exception) == MagickFalse)        break;      if (((y-image->extract_info.y) >= 0) &&          ((y-image->extract_info.y) < (ssize_t) image->rows))        {          p=GetVirtualPixels(canvas_image,canvas_image->extract_info.x,0,            image->columns,1,exception);          q=QueueAuthenticPixels(image,0,y-image->extract_info.y,image->columns,            1,exception);          if ((p == (const PixelPacket *) NULL) || (q == (PixelPacket *) NULL))            break;          for (x=0; x < (ssize_t) image->columns; x++)          {            SetPixelRed(q,GetPixelRed(p));            SetPixelGreen(q,GetPixelGreen(p));            SetPixelBlue(q,GetPixelBlue(p));            p++;            q++;          }          if (SyncAuthenticPixels(image,exception) == MagickFalse)            break;        }      if (image->previous == (Image *) NULL)        {          status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,            image->rows);          if (status == MagickFalse)            break;        }      pixels=(const unsigned char *) ReadBlobStream(image,length,        GetQuantumPixels(quantum_info),&count);    }    SetQuantumImageType(image,quantum_type);    /*      Proceed to next image.    */    if (image_info->number_scenes != 0)      if (image->scene >= (image_info->scene+image_info->number_scenes-1))        break;    if (count == (ssize_t) length)      {        /*          Allocate next image structure.        */        AcquireNextImage(image_info,image);        if (GetNextImageInList(image) == (Image *) NULL)          {            image=DestroyImageList(image);            return((Image *) NULL);          }        image=SyncNextImageInList(image);        status=SetImageProgress(image,LoadImagesTag,TellBlob(image),          GetBlobSize(image));        if (status == MagickFalse)          break;      }    scene++;  } while (count == (ssize_t) length);  quantum_info=DestroyQuantumInfo(quantum_info);  InheritException(&image->exception,&canvas_image->exception);  canvas_image=DestroyImage(canvas_image);  (void) CloseBlob(image);  return(GetFirstImageInList(image));}
开发者ID:INT2208-ST,项目名称:MyFriend,代码行数:101,


示例20: ReadTIMImage

//.........这里部分代码省略.........      }      case 16:      {        /*          Convert DirectColor scanline.        */        for (y=(ssize_t) image->rows-1; y >= 0; y--)        {          p=tim_pixels+y*bytes_per_line;          q=QueueAuthenticPixels(image,0,y,image->columns,1,exception);          if (q == (Quantum *) NULL)            break;          for (x=0; x < (ssize_t) image->columns; x++)          {            word=(*p++);            word|=(*p++ << 8);            SetPixelBlue(image,ScaleCharToQuantum(ScaleColor5to8(              (1UL*word >> 10) & 0x1f)),q);            SetPixelGreen(image,ScaleCharToQuantum(ScaleColor5to8(              (1UL*word >> 5) & 0x1f)),q);            SetPixelRed(image,ScaleCharToQuantum(ScaleColor5to8(              (1UL*word >> 0) & 0x1f)),q);            q+=GetPixelChannels(image);          }          if (SyncAuthenticPixels(image,exception) == MagickFalse)            break;          if (image->previous == (Image *) NULL)            {              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,                image->rows);              if (status == MagickFalse)                break;            }        }        break;      }      case 24:      {        /*          Convert DirectColor scanline.        */        for (y=(ssize_t) image->rows-1; y >= 0; y--)        {          p=tim_pixels+y*bytes_per_line;          q=QueueAuthenticPixels(image,0,y,image->columns,1,exception);          if (q == (Quantum *) NULL)            break;          for (x=0; x < (ssize_t) image->columns; x++)          {            SetPixelRed(image,ScaleCharToQuantum(*p++),q);            SetPixelGreen(image,ScaleCharToQuantum(*p++),q);            SetPixelBlue(image,ScaleCharToQuantum(*p++),q);            q+=GetPixelChannels(image);          }          if (SyncAuthenticPixels(image,exception) == MagickFalse)            break;          if (image->previous == (Image *) NULL)            {              status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,                image->rows);              if (status == MagickFalse)                break;            }        }        break;      }      default:        ThrowReaderException(CorruptImageError,"ImproperImageHeader");    }    if (image->storage_class == PseudoClass)      (void) SyncImage(image,exception);    tim_pixels=(unsigned char *) RelinquishMagickMemory(tim_pixels);    if (EOFBlob(image) != MagickFalse)      {        ThrowFileException(exception,CorruptImageError,"UnexpectedEndOfFile",          image->filename);        break;      }    /*      Proceed to next image.    */    tim_info.id=ReadBlobLSBLong(image);    if (tim_info.id == 0x00000010)      {        /*          Allocate next image structure.        */        AcquireNextImage(image_info,image,exception);        if (GetNextImageInList(image) == (Image *) NULL)          {            image=DestroyImageList(image);            return((Image *) NULL);          }        image=SyncNextImageInList(image);        status=SetImageProgress(image,LoadImagesTag,TellBlob(image),          GetBlobSize(image));        if (status == MagickFalse)          break;      }  } while (tim_info.id == 0x00000010);
开发者ID:ChaseReid,项目名称:ImageMagick,代码行数:101,


示例21: assert

//.........这里部分代码省略.........  else if (dds_info.pixelformat.flags & DDPF_FOURCC)    {      switch (dds_info.pixelformat.fourcc)      {        case FOURCC_DXT1:        {          matte = MagickFalse;          compression = DXT1Compression;          decoder = ReadDXT1;          break;        }                case FOURCC_DXT3:        {          matte = MagickTrue;          compression = DXT3Compression;          decoder = ReadDXT3;          break;        }                case FOURCC_DXT5:        {          matte = MagickTrue;          compression = DXT5Compression;          decoder = ReadDXT5;          break;        }                default:        {          /* Unknown FOURCC */          ThrowReaderException(CorruptImageError, "ImageTypeNotSupported");        }      }    }  else    {      /* Neither compressed nor uncompressed... thus unsupported */      ThrowReaderException(CorruptImageError, "ImageTypeNotSupported");    }    num_images = 1;  if (cubemap)    {      /*        Determine number of faces defined in the cubemap      */      num_images = 0;      if (dds_info.ddscaps2 & DDSCAPS2_CUBEMAP_POSITIVEX) num_images++;      if (dds_info.ddscaps2 & DDSCAPS2_CUBEMAP_NEGATIVEX) num_images++;      if (dds_info.ddscaps2 & DDSCAPS2_CUBEMAP_POSITIVEY) num_images++;      if (dds_info.ddscaps2 & DDSCAPS2_CUBEMAP_NEGATIVEY) num_images++;      if (dds_info.ddscaps2 & DDSCAPS2_CUBEMAP_POSITIVEZ) num_images++;      if (dds_info.ddscaps2 & DDSCAPS2_CUBEMAP_NEGATIVEZ) num_images++;    }    if (volume)    num_images = dds_info.depth;    for (n = 0; n < num_images; n++)  {    if (n != 0)      {        /* Start a new image */        AcquireNextImage(image_info,image);        if (GetNextImageInList(image) == (Image *) NULL)          {            image = DestroyImageList(image);            return((Image *) NULL);          }        image=SyncNextImageInList(image);      }        image->matte = matte;    image->compression = compression;    image->columns = dds_info.width;    image->rows = dds_info.height;    image->storage_class = DirectClass;    image->endian = LSBEndian;    image->depth = 8;    if (image_info->ping != MagickFalse)      {        (void) CloseBlob(image);        return(GetFirstImageInList(image));      }        if ((decoder)(image, &dds_info) != MagickTrue)      {        (void) CloseBlob(image);        return(GetFirstImageInList(image));      }  }    if (EOFBlob(image) != MagickFalse)    ThrowFileException(exception,CorruptImageError,"UnexpectedEndOfFile",      image->filename);    (void) CloseBlob(image);  return(GetFirstImageInList(image));}
开发者ID:0xPr0xy,项目名称:ImageMagick,代码行数:101,



注:本文中的AcquireNextImage函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ AcquireQuantumInfo函数代码示例
C++ AcquireMagickMemory函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。