public static IBitmap ApplyFilter(IBitmap iBitmap, FilterImplementations filterImplementation) { IFilter filter = GetFilter(filterImplementation); if (filter != null && iBitmap != null) { return(filter.Apply(iBitmap)); } return(iBitmap); }
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; } }
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()); } } }
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); }