예제 #1
0
		public static NSImage CreateMultiResImage (string filename, string style)
		{
			var image = new NSImage ();

			var image1x = NSImageFromResource (MakeResName (filename, style));
			var image2x = NSImageFromResource (MakeResName (filename, style, true));

			if (image1x != null) {
				image.AddRepresentations (image1x.Representations ());
			}

			if (image2x != null) {
				image.AddRepresentations (image2x.Representations ());
			}

			image.Size = new CoreGraphics.CGSize (0, 0);
			return image;
		}
예제 #2
0
        public override object CreateMultiResolutionImage(IEnumerable <object> images)
        {
            NSImage res = new NSImage();

            foreach (NSImage img in images)
            {
                res.AddRepresentations(img.Representations());
            }
            return(res);
        }
예제 #3
0
        public static NSImage CreateMultiResImage(string filename, string style)
        {
            var image = new NSImage();

            var image1x = NSImageFromResource(MakeResName(filename, style));
            var image2x = NSImageFromResource(MakeResName(filename, style, true));

            if (image1x != null)
            {
                image.AddRepresentations(image1x.Representations());
            }

            if (image2x != null)
            {
                image.AddRepresentations(image2x.Representations());
            }

            image.Size = new CoreGraphics.CGSize(0, 0);
            return(image);
        }
예제 #4
0
        public static NSImage GetImageForSize(string imageName, int size)
        {
            var highResImage = NSImage.ImageNamed(imageName + "-" + size * 2);

            if (highResImage != null)
            {
                highResImage.Size = new CGSize {
                    Width = size, Height = size
                };

                var image = new NSImage
                {
                    Size = new CGSize {
                        Width = size, Height = size
                    }
                };
                image.AddRepresentations(highResImage.Representations());

                var lowResImage = NSImage.ImageNamed(imageName + "-" + size * 2);
                if (lowResImage != null)
                {
                    image.AddRepresentations(lowResImage.Representations());
                }

                image.Template = true;

                return(image);
            }

            var fallbackImage = NSImage.ImageNamed(imageName);

            fallbackImage.Template = true;
            fallbackImage.Size     = new CGSize {
                Width = size, Height = size
            };

            return(fallbackImage);
        }
예제 #5
0
        public override object CreateMultiSizeIcon(IEnumerable <object> images)
        {
            if (images.Count() == 1)
            {
                return(images.First());
            }

            NSImage res = new NSImage();

            foreach (NSImage img in images)
            {
                res.AddRepresentations(img.Representations());
            }
            return(res);
        }
예제 #6
0
파일: Tile.cs 프로젝트: iainx/Walker
        NSImage LoadImageAtCorrectSize(string filename)
        {
            NSImageRep[] reps = NSBitmapImageRep.ImageRepsFromFile (filename);
            int width = 0, height = 0;

            foreach (var rep in reps) {
                if (rep.PixelsWide > width) {
                    width = (int)rep.PixelsWide;
                }
                if (rep.PixelsHigh > height) {
                    height = (int)rep.PixelsHigh;
                }
            }

            var image = new NSImage (new CGSize (width, height));
            image.AddRepresentations (reps);
            return image;
        }