Esempio n. 1
0
        public static IBitmap ApplyFilter(IBitmap iBitmap, FilterImplementations filterImplementation)
        {
            IFilter filter = GetFilter(filterImplementation);

            if (filter != null && iBitmap != null)
            {
                return(filter.Apply(iBitmap));
            }

            return(iBitmap);
        }
Esempio n. 2
0
 public RenderRasterLayer(Map map, IRasterLayer layer, IRasterLayer rLayer, ICancelTracker cancelTracker)
 {
     _map           = map;
     _layer         = layer;
     _cancelTracker = cancelTracker;
     if (rLayer != null)
     {
         _interpolMethod = rLayer.InterpolationMethod;
         _transparency   = rLayer.Transparency;
         _transColor     = rLayer.TransparentColor;
         _filter         = rLayer.FilterImplementation;
     }
 }
Esempio n. 3
0
        public static byte[] ApplyFilter(byte[] imageBytes, FilterImplementations filterImplementation, ImageFormat format)
        {
            IFilter filter = GetFilter(filterImplementation);

            if (filter == null)
            {
                return(imageBytes);
            }

            using (var iBitmap = Current.Engine.CreateBitmap(new MemoryStream(imageBytes)))
            {
                using (var filteredBitmap = filter.Apply(iBitmap))
                    using (var ms = new MemoryStream())
                    {
                        filteredBitmap.Save(ms, format);
                        return(ms.ToArray());
                    }
            }
        }
Esempio n. 4
0
        public static IFilter GetFilter(FilterImplementations filterImplementation)
        {
            IFilter filter = null;

            switch (filterImplementation)
            {
            case FilterImplementations.Default:
                return(null);

            case FilterImplementations.GrayscaleBT709:
                filter = Grayscale.BT709;
                break;

            case FilterImplementations.GrayscaleRMY:
                filter = Grayscale.RMY;
                break;

            case FilterImplementations.GrayscaleY:
                filter = Grayscale.Y;
                break;

            case FilterImplementations.Channel_Red:
                filter = ExtractChannel.R;
                break;

            case FilterImplementations.Channel_Green:
                filter = ExtractChannel.G;
                break;

            case FilterImplementations.Channel_Blue:
                filter = ExtractChannel.B;
                break;
                //case FilterImplementations.Channel_Alpha:
                //    filter = ExtractChannel.A;
                //    break;
            }

            return(filter);
        }