Beispiel #1
0
            CALayer MakeBackgroundLayer(RectangleF frame)
            {
                if (textureColor == null)
                {
                    texture      = UIImage.FromBundle("Images/texture.png");
                    textureColor = UIColor.FromPatternImage(texture);
                }

                BeginImageContext(frame.Size);
                var c = UIGraphics.GetCurrentContext();

                texture.DrawAsPatternInRect(frame);

                Images.MenuShadow.Draw(frame);
                var result = UIGraphics.GetImageFromCurrentImageContext();

                UIGraphics.EndImageContext();

                var back = new CALayer()
                {
                    Frame = frame
                };

                Graphics.ConfigLayerHighRes(back);
                back.Contents = result.CGImage;
                return(back);
            }
        static UIImage ImageWithImage(UIImage image, CGSize newSize)
        {
            var rect = new CGRect(0, 0, newSize.Width, newSize.Height);

            UIGraphics.BeginImageContextWithOptions(newSize, false, 0);
            image.DrawAsPatternInRect(rect);

            UIImage newImage = UIGraphics.GetImageFromCurrentImageContext();

            UIGraphics.EndImageContext();
            return(newImage);
        }
		protected static UIImage CreateColoredImage (UIColor color, UIImage mask)
		{
			var rect = new CGRect (CGPoint.Empty, mask.Size);
			UIGraphics.BeginImageContextWithOptions (mask.Size, false, mask.CurrentScale);
			CGContext context = UIGraphics.GetCurrentContext ();
			mask.DrawAsPatternInRect (rect);
			context.SetFillColor (color.CGColor);
			context.SetBlendMode (CGBlendMode.SourceAtop);
			context.FillRect (rect);
			UIImage result = UIGraphics.GetImageFromCurrentImageContext ();
			UIGraphics.EndImageContext ();
			return result;
		}
Beispiel #4
0
        public static UIImage correctlyOrientedImage(UIImage image)
        {
            if (image.Orientation == UIImageOrientation.Up)
            {
                return(image);
            }
            UIGraphics.BeginImageContextWithOptions(image.Size, false, image.CurrentScale);
            image.DrawAsPatternInRect(new CGRect(0, 0, image.Size.Width, image.Size.Height));


            UIImage normalizedImage = UIGraphics.GetImageFromCurrentImageContext();

            UIGraphics.EndImageContext();
            return(normalizedImage);
        }
Beispiel #5
0
        public static UIImage resizeImage(UIImage image, nfloat newWidth)
        {
            nfloat scale = newWidth / image.Size.Width;

            nfloat newHeight = image.Size.Height * scale;

            UIGraphics.BeginImageContext(new CGSize(newWidth, newHeight));

            image.DrawAsPatternInRect(new CGRect(0, 0, newWidth, newHeight));
            var newImage = UIGraphics.GetImageFromCurrentImageContext();

            UIGraphics.EndImageContext();

            return(newImage);
        }
Beispiel #6
0
        public static UIImage resized(CGSize newSize, UIImage image)
        {
            nfloat scale = UIScreen.MainScreen.Scale;

            /*You can remove the below comment if you dont want to scale the image in retina   device .Dont forget to comment UIGraphicsBeginImageContextWithOptions*/
            UIGraphics.BeginImageContext(newSize);
            UIGraphics.BeginImageContextWithOptions(newSize, false, scale);

            image.DrawAsPatternInRect(new CGRect(0, 0, newSize.Width, newSize.Height));


            UIImage newImage = UIGraphics.GetImageFromCurrentImageContext();

            UIGraphics.EndImageContext();
            return(newImage);
        }
Beispiel #7
0
        private UIImage CropImage(UIImage image, CGRect clipRect, int width, int height)
        {
            CGSize sz = new CGSize(width, height);

            if (UIScreen.MainScreen.Scale == 2.0)
            {
                UIGraphics.BeginImageContextWithOptions(sz, true, 0);
            }
            else
            {
                UIGraphics.BeginImageContext(sz);
            }

            UIGraphics.RectClip(clipRect);
            image.DrawAsPatternInRect(clipRect);
            UIImage newImage = UIGraphics.GetImageFromCurrentImageContext();

            UIGraphics.EndImageContext();
            return(newImage);
        }
Beispiel #8
0
        public static CALayer MakeBackgroundLayer(UIImage image, RectangleF frame)
        {
            var textureColor = UIColor.FromPatternImage (image);

            UIGraphics.BeginImageContext (frame.Size);

            var c = UIGraphics.GetCurrentContext ();
            image.DrawAsPatternInRect (frame);

            //Images.MenuShadow.Draw (frame);
            var result = UIGraphics.GetImageFromCurrentImageContext ();

            UIGraphics.EndImageContext ();

            var back = new CALayer { Frame = frame };
            //TODO:
            //Graphics.ConfigLayerHighRes (back);
            back.Contents = result.CGImage;
            return back;
        }
Beispiel #9
0
        public static UIImage GetImageWithOverlayColor(this UIImage self, UIColor color)
        {
            RectangleF rect = new RectangleF(0.0f, 0.0f, self.Size.Width, self.Size.Height);

            UIGraphics.BeginImageContextWithOptions(self.Size, false, self.CurrentScale);

            self.DrawAsPatternInRect(rect);

            CGContext context = UIGraphics.GetCurrentContext();

            context.SetBlendMode(CGBlendMode.SourceIn);

            context.SetFillColor(color.CGColor);
            context.FillRect(rect);

            UIImage image = UIGraphics.GetImageFromCurrentImageContext();

            UIGraphics.EndImageContext();

            return(image);
        }
Beispiel #10
0
        public static CALayer MakeBackgroundLayer(UIImage image, CGRect frame)
        {
            var textureColor = UIColor.FromPatternImage(image);

            UIGraphics.BeginImageContext(frame.Size);
            var c = UIGraphics.GetCurrentContext();

            image.DrawAsPatternInRect(frame);

            //Images.MenuShadow.Draw (frame);
            var result = UIGraphics.GetImageFromCurrentImageContext();

            UIGraphics.EndImageContext();

            var back = new CALayer {
                Frame = frame
            };

            //TODO:
            //Graphics.ConfigLayerHighRes (back);
            back.Contents = result.CGImage;
            return(back);
        }