Smartmobili.Cocoa.NSColor.ColorUsingColorSpaceName C# (CSharp) Метод

ColorUsingColorSpaceName() публичный Метод

public ColorUsingColorSpaceName ( NSString colorSpace, NSDictionary deviceDescription ) : NSColor
colorSpace NSString
deviceDescription NSDictionary
Результат NSColor
        public virtual NSColor ColorUsingColorSpaceName(NSString colorSpace, NSDictionary deviceDescription)
        {
            if (colorSpace == null)
            {
                if (deviceDescription != null)
                    colorSpace = (NSString)deviceDescription.ObjectForKey(NSColorSpace.NSDeviceColorSpaceName);
                if (colorSpace == null)
                    colorSpace = NSColorSpace.NSDeviceRGBColorSpace;
            }
            if (colorSpace.IsEqualToString(ColorSpaceName))
            {
                return this;
            }

            if (colorSpace.IsEqualToString(NSColorSpace.NSNamedColorSpace))
            {
                // FIXME: We cannot convert to named color space.
                return null;
            }

            //[self subclassResponsibility: _cmd);

            return null;
        }

Same methods

NSColor::ColorUsingColorSpaceName ( NSString colorSpace ) : NSColor

Usage Example

Пример #1
0
        public virtual NSColor BlendedColorWithFraction(double fraction, NSColor aColor)
        {
            NSColor myColor = ColorUsingColorSpaceName(NSColorSpace.NSCalibratedRGBColorSpace);
            NSColor other = aColor.ColorUsingColorSpaceName(NSColorSpace.NSCalibratedRGBColorSpace);
            double mr, mg, mb, ma, or, og, ob, oa, red, green, blue, alpha;

            if (fraction <= 0.0f)
            {
                return this;
            }
            if (fraction >= 1.0f)
            {
                return aColor;
            }
            if (myColor == null || other == null)
            {
                return null;
            }

            mr = mg = mb = ma = 0;
            myColor.GetRedGreenBlueAlpha(ref mr, ref mg, ref mb, ref ma);
            or = og = ob = oa = 0;
            other.GetRedGreenBlueAlpha(ref or, ref og, ref ob, ref oa);
            red = fraction * or + (1 - fraction) * mr;
            green = fraction * og + (1 - fraction) * mg;
            blue = fraction * ob + (1 - fraction) * mb;
            alpha = fraction * oa + (1 - fraction) * ma;
            return ColorWithCalibratedRed(red, green, blue, alpha);
            //  return [NSColorClass colorWithCalibratedRed: red green: green blue: blue alpha: alpha];
        }