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); } }
private static void Write(AssetStreamWriter writer, UIBlendingEffect o, List <object> objectDictionary) { Write(writer, (UIPixelEffect)o, objectDictionary); writer.Write((byte)o.Mode); }