Exemple #1
0
        private void Process(UIImage image, PhotoshopDocument.Layer layer, bool importMask)
        {
            Process((UIVisual)image, layer);

            Bitmap bitmap = layer.Bitmap;

            if (image.EffectMap != null)
            {
                UIBlendingEffect effect = (UIBlendingEffect)image.EffectMap.GetPixelEffect(UIBlendingEffect.ClassIndex);
                switch (effect.Mode)
                {
                case BlendMode.Additive:
                case BlendMode.Lighten:
                case BlendMode.Screen:
                    bitmap = ConvertToBlendableBitmap(bitmap, GDIColor.Black);
                    break;

                case BlendMode.Darken:
                case BlendMode.Multiply:
                    bitmap = ConvertToBlendableBitmap(bitmap, GDIColor.White);
                    break;
                }
            }

            image.Source = new Image(string.Empty, Rectangle.Empty)
            {
                Tag = new ImageCookingTag(bitmap)
            };

            if (importMask)
            {
                image.Mask = GenerateBitMask(bitmap);
            }
        }
Exemple #2
0
 private static void Write(AssetStreamWriter writer, UIBlendingEffect o, List <object> objectDictionary)
 {
     Write(writer, (UIPixelEffect)o, objectDictionary);
     writer.Write((byte)o.Mode);
 }