public async Task <IImage> GetImage(FileImageSource file, CancellationToken token) { var handler = new FileImageSourceHandler(); var nativeImage = await handler.LoadImageAsync(file, token); if (nativeImage == null) { return(null); } var image = new CGImageImage(nativeImage.CGImage, _scale); return(image); }
public IImage GetRoundedImage(Size size, NGraphics.Color color, float radius) { size *= _scale; UIGraphics.BeginImageContextWithOptions(new CGSize(size.Width, size.Height), false, 0); IImage image = null; using (var context = UIGraphics.GetCurrentContext()) { context.SetAllowsAntialiasing(true); context.SetShouldAntialias(true); context.SetFillColor(UIColor.FromRGBA(color.R, color.G, color.B, color.A).CGColor); context.AddPath(CGPath.FromRoundedRect(new CGRect(0, 0, size.Width, size.Height), radius, radius)); context.FillPath(); } var nativeImage = UIGraphics.GetImageFromCurrentImageContext(); image = new CGImageImage(nativeImage.CGImage, _scale); return(image); }