Ejemplo n.º 1
0
            public IntPtr Evaluate(MagickImage image, EvaluateOperator evaluateOperator)
            {
                IntPtr exception = IntPtr.Zero;
                IntPtr result;

                if (NativeLibrary.Is64Bit)
                {
                    result = NativeMethods.X64.MagickImageCollection_Evaluate(MagickImage.GetInstance(image), (UIntPtr)evaluateOperator, out exception);
                }
                else
                {
                    result = NativeMethods.X86.MagickImageCollection_Evaluate(MagickImage.GetInstance(image), (UIntPtr)evaluateOperator, out exception);
                }
                MagickException magickException = MagickExceptionHelper.Create(exception);

                if (MagickExceptionHelper.IsError(magickException))
                {
                    if (result != IntPtr.Zero)
                    {
                        Dispose(result);
                    }
                    throw magickException;
                }
                RaiseWarning(magickException);
                return(result);
            }
            public IntPtr Evaluate(IMagickImage image, EvaluateOperator evaluateOperator)
            {
                IntPtr exception = IntPtr.Zero;
                IntPtr result;

                #if PLATFORM_AnyCPU
                if (OperatingSystem.Is64Bit)
                #endif
                #if PLATFORM_x64 || PLATFORM_AnyCPU
                result = NativeMethods.X64.MagickImageCollection_Evaluate(image.GetInstance(), (UIntPtr)evaluateOperator, out exception);
                #endif
                #if PLATFORM_AnyCPU
                else
                #endif
                #if PLATFORM_x86 || PLATFORM_AnyCPU
                result = NativeMethods.X86.MagickImageCollection_Evaluate(image.GetInstance(), (UIntPtr)evaluateOperator, out exception);
                #endif
                var magickException = MagickExceptionHelper.Create(exception);
                if (magickException == null)
                {
                    return(result);
                }
                if (magickException is MagickErrorException)
                {
                    if (result != IntPtr.Zero)
                    {
                        Dispose(result);
                    }
                    throw magickException;
                }
                RaiseWarning(magickException);
                return(result);
            }
Ejemplo n.º 3
0
        ///<summary>
        /// Evaluate image pixels into a single image. All the images in the collection must be the
        /// same size in pixels.
        ///</summary>
        ///<param name="evaluateOperator">The operator.</param>
        ///<exception cref="MagickException"/>
        public MagickImage Evaluate(EvaluateOperator evaluateOperator)
        {
            ThrowIfEmpty();

            try
            {
                AttachImages();
                IntPtr image = _NativeInstance.Evaluate(_Images[0], evaluateOperator);
                return(MagickImage.Create(image, _Images[0].Settings));
            }
            finally
            {
                DetachImages();
            }
        }
Ejemplo n.º 4
0
        private IMagickImage ExecuteEvaluate(XmlElement element, IMagickImageCollection collection)
        {
            EvaluateOperator evaluateOperator_ = Variables.GetValue <EvaluateOperator>(element, "evaluateOperator");

            return(collection.Evaluate(evaluateOperator_));
        }
Ejemplo n.º 5
0
 public static bool Evaluate(IntPtr instance, ChannelType channelType, EvaluateOperator evalOprator, double d)
 {
     return(MagickNative.Evaluate(instance, (IntPtr)channelType, (IntPtr)evalOprator, d));
 }
Ejemplo n.º 6
0
 public override void VisitEvaluateOperator(EvaluateOperator node)
 {
     base.VisitEvaluateOperator(node);
     _binder._scopeKind = ScopeKind.PlugIn;
 }
Ejemplo n.º 7
0
 public IntPtr Evaluate(MagickImage image, EvaluateOperator evaluateOperator)
 {
   IntPtr exception = IntPtr.Zero;
   IntPtr result;
   #if ANYCPU
   if (NativeLibrary.Is64Bit)
   #endif
   #if WIN64 || ANYCPU
   result = NativeMethods.X64.MagickImageCollection_Evaluate(MagickImage.GetInstance(image), (UIntPtr)evaluateOperator, out exception);
   #endif
   #if ANYCPU
   else
   #endif
   #if !WIN64 || ANYCPU
   result = NativeMethods.X86.MagickImageCollection_Evaluate(MagickImage.GetInstance(image), (UIntPtr)evaluateOperator, out exception);
   #endif
   MagickException magickException = MagickExceptionHelper.Create(exception);
   if (MagickExceptionHelper.IsError(magickException))
   {
     if (result != IntPtr.Zero)
       Dispose(result);
     throw magickException;
   }
   RaiseWarning(magickException);
   return result;
 }
Ejemplo n.º 8
0
 public Evaluate(EvaluateOperator @operator, string value)
 {
     Operator = @operator;
     Value    = value;
 }
Ejemplo n.º 9
0
 ///<summary>
 /// Evaluate image pixels into a single image. All the images in the collection must be the
 /// same size in pixels.
 ///</summary>
 ///<param name="evaluateOperator">The operator.</param>
 ///<exception cref="MagickException"/>
 public MagickImage Evaluate(EvaluateOperator evaluateOperator)
 {
     Wrapper.MagickImage image = _Instance.Evaluate(GetImageInstances(), evaluateOperator);
     return(MagickImage.Create(image));
 }
Ejemplo n.º 10
0
 public void EvaluateOperator(Channels channels, EvaluateOperator evaluateOperator, double value)
 {
   IntPtr exception = IntPtr.Zero;
   #if ANYCPU
   if (NativeLibrary.Is64Bit)
   #endif
   #if WIN64 || ANYCPU
   NativeMethods.X64.MagickImage_EvaluateOperator(Instance, (UIntPtr)channels, (UIntPtr)evaluateOperator, value, out exception);
   #endif
   #if ANYCPU
   else
   #endif
   #if !WIN64 || ANYCPU
   NativeMethods.X86.MagickImage_EvaluateOperator(Instance, (UIntPtr)channels, (UIntPtr)evaluateOperator, value, out exception);
   #endif
   CheckException(exception);
 }
Ejemplo n.º 11
0
 public void EvaluateGeometry(Channels channels, MagickRectangle geometry, EvaluateOperator evaluateOperator, double value)
 {
   using (INativeInstance geometryNative = MagickRectangle.CreateInstance(geometry))
   {
     IntPtr exception = IntPtr.Zero;
     #if ANYCPU
     if (NativeLibrary.Is64Bit)
     #endif
     #if WIN64 || ANYCPU
     NativeMethods.X64.MagickImage_EvaluateGeometry(Instance, (UIntPtr)channels, geometryNative.Instance, (UIntPtr)evaluateOperator, value, out exception);
     #endif
     #if ANYCPU
     else
     #endif
     #if !WIN64 || ANYCPU
     NativeMethods.X86.MagickImage_EvaluateGeometry(Instance, (UIntPtr)channels, geometryNative.Instance, (UIntPtr)evaluateOperator, value, out exception);
     #endif
     CheckException(exception);
   }
 }