Beispiel #1
0
        public static CIImage FromCGImage(CGImage image, CGColorSpace colorSpace)
        {
            if (colorSpace == null)
            {
                ObjCRuntime.ThrowHelper.ThrowArgumentNullException(nameof(colorSpace));
            }

            using (var arr = NSArray.FromIntPtrs(new [] { colorSpace.Handle })){
                using (var keys = NSArray.FromIntPtrs(new [] { CIImageInitializationOptionsKeys.ColorSpaceKey.Handle })){
                    using (var dict = NSDictionary.FromObjectsAndKeysInternal(arr, keys)){
                        return(FromCGImage(image, dict));
                    }
                }
            }
        }
Beispiel #2
0
        public static CIImage FromCGImage(CGImage image, CGColorSpace colorSpace)
        {
            if (colorSpace == null)
            {
                throw new ArgumentNullException("colorSpace");
            }

            using (var arr = NSArray.FromIntPtrs(new IntPtr [] { colorSpace.Handle })){
                using (var keys = NSArray.FromIntPtrs(new IntPtr [] { CIImageColorSpaceKey.Handle })){
                    using (var dict = NSDictionary.FromObjectsAndKeysInternal(arr, keys)){
                        return(FromCGImage(image, dict));
                    }
                }
            }
        }
        internal NSDictionary ToDictionary()
        {
            int n    = 0;
            var font = Font;

            if (font != null)
            {
                n++;
            }
            var text_color = TextColor;

            if (text_color != null)
            {
                n++;
            }
            var text_shadow_color = TextShadowColor;

            if (text_shadow_color != null)
            {
                n++;
            }
            var text_shadow_offset = TextShadowOffset;

            if (text_shadow_offset.Horizontal != 0 || text_shadow_offset.Vertical != 0)
            {
                n++;
            }
            if (n == 0)
            {
                return(new NSDictionary());
            }

            var keys   = new NSObject [n];
            var values = new NSObject [n];

            n = 0;
            if (font != null)
            {
                keys [n]   = UITextAttributesConstants.Font;
                values [n] = font;
                n++;
            }
            if (text_color != null)
            {
                keys [n]   = UITextAttributesConstants.TextColor;
                values [n] = text_color;
                n++;
            }
            if (text_shadow_color != null)
            {
                keys [n]   = UITextAttributesConstants.TextShadowColor;
                values [n] = text_shadow_color;
                n++;
            }
            if (text_shadow_offset.Horizontal != 0 || text_shadow_offset.Vertical != 0)
            {
                keys [n]   = UITextAttributesConstants.TextShadowOffset;
                values [n] = NSValue.FromUIOffset(text_shadow_offset);
            }
            using (NSArray avalues = NSArray.FromObjects(values),
                   akeys = NSArray.FromObjects(keys)){
                return(NSDictionary.FromObjectsAndKeysInternal(avalues, akeys));
            }
        }