Example #1
0
 public NqScaler(NqScalerType type, NqMode mode) {
   var info = cImage.GetPixelScalerInfo(type);
   this._type = type;
   this._mode = mode;
   this._scaleFactorX = info.Item1;
   this._scaleFactorY = info.Item2;
 }
Example #2
0
        public NqScaler(NqScalerType type, NqMode mode)
        {
            var info = cImage.GetPixelScalerInfo(type);

            this._type        = type;
            this._mode        = mode;
            this.ScaleFactorX = info.Item1;
            this.ScaleFactorY = info.Item2;
        }
Example #3
0
        /// <summary>
        /// Gets the pixel scaler info.
        /// </summary>
        /// <param name="type">The type.</param>
        /// <returns></returns>
        internal static NqFilter GetPixelScalerInfo(NqMode type)
        {
            NqFilter info;

            if (NQ_MODES.TryGetValue(type, out info))
            {
                return(info);
            }
            throw new NotSupportedException(string.Format("NQ mode '{0}' not supported.", type));
        }
Example #4
0
        /// <summary>
        /// Applies the NQ pixel scaler.
        /// </summary>
        /// <param name="type">The type of scaler to use.</param>
        /// <param name="mode">The mode.</param>
        /// <param name="filterRegion">The filter region, if any.</param>
        /// <returns>
        /// The rescaled image.
        /// </returns>
        public cImage ApplyScaler(NqScalerType type, NqMode mode, Rectangle?filterRegion = null)
        {
            var info   = GetPixelScalerInfo(type);
            var scaler = GetPixelScalerInfo(mode);

            var scaleX = info.Item1;
            var scaleY = info.Item2;
            var kernel = info.Item3;

            return(this._RunLoop(filterRegion, scaleX, scaleY, worker => scaler(worker, scaleX, scaleY, kernel)));
        }
    /// <summary>
    /// Applies the NQ pixel scaler.
    /// </summary>
    /// <param name="type">The type of scaler to use.</param>
    /// <param name="mode">The mode.</param>
    /// <param name="filterRegion">The filter region, if any.</param>
    /// <returns>
    /// The rescaled image.
    /// </returns>
    public cImage ApplyScaler(NqScalerType type, NqMode mode, Rectangle? filterRegion = null) {
      var info = GetPixelScalerInfo(type);
      var scaler = GetPixelScalerInfo(mode);

      var scaleX = info.Item1;
      var scaleY = info.Item2;
      var kernel = info.Item3;

      return (this._RunLoop(filterRegion, scaleX, scaleY, worker => scaler(worker, scaleX, scaleY, kernel)));
    }
 /// <summary>
 /// Gets the pixel scaler info.
 /// </summary>
 /// <param name="type">The type.</param>
 /// <returns></returns>
 internal static NqFilter GetPixelScalerInfo(NqMode type) {
   NqFilter info;
   if (NQ_MODES.TryGetValue(type, out info))
     return (info);
   throw new NotSupportedException(string.Format("NQ mode '{0}' not supported.", type));
 }
Example #7
0
 /// <summary>
 /// Gets the pixel scaler info.
 /// </summary>
 /// <param name="type">The type.</param>
 /// <returns></returns>
 public static NqFilter GetPixelScalerInfo(NqMode type)
 => NQ_MODES.TryGetValue(type, out var info)
 ? info
 : throw new NotSupportedException(string.Format("NQ mode '{0}' not supported.", type))
 ;
Example #8
0
 /// <summary>
 /// Applies the NQ pixel scaler.
 /// </summary>
 /// <param name="type">The type of scaler to use.</param>
 /// <param name="mode">The mode.</param>
 /// <param name="filterRegion">The filter region, if any.</param>
 /// <returns>
 /// The rescaled image.
 /// </returns>
 public cImage ApplyScaler(NqScalerType type, NqMode mode, Rect?filterRegion = null)
 => this.ApplyScaler(type, mode, filterRegion?.ToRectangle())
 ;