public LayerAttributes() { this.surface = null; this.color = Color.white; this.maskType = (int)LayerMaskType.None; this.maskParameters = Vector4.zero; this.maskAxis = new Vector4(0.0f, 1.0f, 0.0f, 0.0f); this.sampleMode = (int)LayerSampleMode.Color; this.sampleParameters = new Vector4(1.0f, 1.0f, 1.0f, 1.0f); this.blendMode = (int)LayerBlendMode.Add; }
private void SelectBlendMode(LayerBlendMode blendMode) { foreach (BlendModeComboBoxItem item in this.blendOpComboBox.Items) { if (item.BlendMode == blendMode) { this.blendOpComboBox.SelectedItem = item; break; } } }
public BlockLayer(LayerBlendMode b) { colorMap = new Color[BlockEditor.textureSize, BlockEditor.textureSize]; blendMode = b; //Temp for (int x = 0; x < colorMap.GetLength(0); x++) { for (int y = 0; y < colorMap.GetLength(1); y++) { //colorMap[x, y] = new Color(Random.Range(0f, 1f), Random.Range(0f, 1f), Random.Range(0f, 1f)); colorMap[x, y] = new Color(0f, 0f, 0f, 0f); } } }
public LayerMixerNodeInputPort CreateInputPort(LayerBlendMode blendMode, float weight = 1f, AvatarMask avatarMask = null) { LayerMixerNodeInputPort port = new LayerMixerNodeInputPort { Node = this, Weight = weight, BlendMode = blendMode, AvatarMask = avatarMask }; SetupInputPort(port, weight); SetBlendMode(port, blendMode); SetAvatarMask(port, avatarMask); return(port); }
/// <summary> /// Convert between Paint.NET and Photoshop blend modes. /// </summary> public static string ToPsdBlendMode(this LayerBlendMode pdnBlendMode) { switch (pdnBlendMode) { case LayerBlendMode.Normal: return(PsdBlendMode.Normal); case LayerBlendMode.Multiply: return(PsdBlendMode.Multiply); case LayerBlendMode.Additive: return(PsdBlendMode.LinearDodge); case LayerBlendMode.ColorBurn: return(PsdBlendMode.ColorBurn); case LayerBlendMode.ColorDodge: return(PsdBlendMode.ColorDodge); case LayerBlendMode.Overlay: return(PsdBlendMode.Overlay); case LayerBlendMode.Difference: return(PsdBlendMode.Difference); case LayerBlendMode.Lighten: return(PsdBlendMode.Lighten); case LayerBlendMode.Darken: return(PsdBlendMode.Darken); case LayerBlendMode.Screen: return(PsdBlendMode.Screen); // Paint.NET blend modes without a Photoshop equivalent are saved // as Normal. case LayerBlendMode.Glow: case LayerBlendMode.Negation: case LayerBlendMode.Reflect: case LayerBlendMode.Xor: return(PsdBlendMode.Normal); default: Debug.Fail("Unknown Paint.NET blend mode."); return(PsdBlendMode.Normal); } }
public List <Texture2D> GetLayerTexture(int layerIndex, LayerChunk layer) { List <LayerChunk> layers = GetChunks <LayerChunk>(); List <Texture2D> textures = new List <Texture2D>(); for (int frameIndex = 0; frameIndex < Frames.Count; frameIndex++) { Frame frame = Frames[frameIndex]; List <CelChunk> cels = frame.GetChunks <CelChunk>(); for (int i = 0; i < cels.Count; i++) { if (cels[i].LayerIndex != layerIndex) { continue; } LayerBlendMode blendMode = layer.BlendMode; float opacity = Mathf.Min(layer.Opacity / 255f, cels[i].Opacity / 255f); bool visibility = layer.Visible; LayerChunk parent = GetParentLayer(layer); while (parent != null) { visibility &= parent.Visible; if (visibility == false) { break; } parent = GetParentLayer(parent); } if (visibility == false || layer.LayerType == LayerType.Group) { continue; } textures.Add(GetTextureFromCel(cels[i])); } } return(textures); }
public LayerAttributes( Texture surface, Color color, LayerMaskType maskType, Vector3 maskParameters, Vector4 maskAxis, LayerSampleMode sampleMode, Vector4 sampleParameters, LayerBlendMode blendMode ) { this.surface = surface: this.color = color: this.maskType = maskType: this.maskParameters = maskParameters: this.maskAxis = maskAxis: this.sampleMode = sampleMode: this.sampleParameters = sampleParameters: this.blendMode = blendMode: }
public LayerProperties(SerializationInfo info, StreamingContext context) { this._name = info.GetString("name"); this._visible = info.GetBoolean("visible"); this._isBackground = info.GetBoolean("isBackground"); if (!info.TryGetValue <byte>("opacity", out this._opacity)) { this._opacity = byte.MaxValue; } if (!info.TryGetValue <LayerBlendMode>("blendMode", out this._blendMode)) { this._blendMode = LayerBlendMode.Normal; } if (Enum.IsDefined(typeof(LayerBlendMode), (object)this._blendMode)) { return; } this._blendMode = LayerBlendMode.Normal; // userMetadataItems - NameValueCollection }
public Texture2D GetFrame(int index) { Frame frame = Frames[index]; Texture2D texture = Texture2DUtil.CreateTransparentTexture(Header.Width, Header.Height); List <LayerChunk> layers = GetChunks <LayerChunk>(); List <CelChunk> cels = frame.GetChunks <CelChunk>(); cels.Sort((ca, cb) => ca.LayerIndex.CompareTo(cb.LayerIndex)); for (int i = 0; i < cels.Count; i++) { LayerChunk layer = layers[cels[i].LayerIndex]; LayerBlendMode blendMode = layer.BlendMode; float opacity = Mathf.Min(layer.Opacity / 255f, cels[i].Opacity / 255f); bool visibility = layer.Visible; LayerChunk parent = GetParentLayer(layer); while (parent != null) { visibility &= parent.Visible; if (visibility == false) { break; } parent = GetParentLayer(parent); } if (visibility == false || layer.LayerType == LayerType.Group) { continue; } Texture2D celTex = GetTextureFromCel(cels[i]); switch (blendMode) { case LayerBlendMode.Normal: texture = Texture2DBlender.Normal(texture, celTex); break; case LayerBlendMode.Multiply: texture = Texture2DBlender.Multiply(texture, celTex, opacity); break; case LayerBlendMode.Screen: texture = Texture2DBlender.Screen(texture, celTex); break; case LayerBlendMode.Overlay: texture = Texture2DBlender.Overlay(texture, celTex); break; case LayerBlendMode.Darken: texture = Texture2DBlender.Darken(texture, celTex); break; case LayerBlendMode.Lighten: texture = Texture2DBlender.Lighten(texture, celTex); break; case LayerBlendMode.ColorDodge: texture = Texture2DBlender.ColorDodge(texture, celTex); break; case LayerBlendMode.ColorBurn: texture = Texture2DBlender.ColorBurn(texture, celTex); break; case LayerBlendMode.HardLight: texture = Texture2DBlender.HardLight(texture, celTex); break; case LayerBlendMode.SoftLight: texture = Texture2DBlender.SoftLight(texture, celTex); break; case LayerBlendMode.Difference: texture = Texture2DBlender.Difference(texture, celTex); break; case LayerBlendMode.Exclusion: texture = Texture2DBlender.Exclusion(texture, celTex); break; case LayerBlendMode.Hue: texture = Texture2DBlender.Hue(texture, celTex); break; case LayerBlendMode.Saturation: texture = Texture2DBlender.Saturation(texture, celTex); break; case LayerBlendMode.Color: texture = Texture2DBlender.Color(texture, celTex); break; case LayerBlendMode.Luminosity: texture = Texture2DBlender.Luminosity(texture, celTex); break; case LayerBlendMode.Addition: texture = Texture2DBlender.Addition(texture, celTex); break; case LayerBlendMode.Subtract: texture = Texture2DBlender.Subtract(texture, celTex); break; case LayerBlendMode.Divide: texture = Texture2DBlender.Divide(texture, celTex); break; } } return(texture); }
public BlendModeComboBoxItem(LayerBlendMode blendMode) { this.blendMode = blendMode; }
public void SetBlendMode(int inputPortIndex, LayerBlendMode blendMode) { ((AnimationLayerMixerPlayable)Playable).SetLayerAdditive((uint)inputPortIndex, blendMode == LayerBlendMode.Additive); }
public void SetBlendMode(LayerMixerNodeInputPort inputPort, LayerBlendMode blendMode) { inputPort.BlendMode = blendMode; SetBlendMode(inputPort.Index, blendMode); }
public NodeLink Connect(NodeOutputPort outputPort, LayerBlendMode blendMode, float weight = 1f, AvatarMask mask = null) => Connect(CreateInputPort(blendMode, weight, mask), outputPort);
public NodeLink Connect(BaseNode sourceNode, LayerBlendMode blendMode, float weight = 1f, AvatarMask avatarMask = null) => Connect(sourceNode.CreateOutputPort(), blendMode, weight, avatarMask);
BlendMode ConvertBlendMode(LayerBlendMode blendMode) { switch (blendMode) { case LayerBlendMode.Normal: { return(BlendMode.Normal); } case LayerBlendMode.Multiply: { return(BlendMode.Multiply); } case LayerBlendMode.ColorBurn: { return(BlendMode.ColorBurn); } case LayerBlendMode.ColorDodge: { return(BlendMode.ColorDodge); } case LayerBlendMode.Overlay: { return(BlendMode.Overlay); } case LayerBlendMode.Difference: { return(BlendMode.Difference); } case LayerBlendMode.Lighten: { return(BlendMode.Lighten); } case LayerBlendMode.Darken: { return(BlendMode.Darken); } case LayerBlendMode.Screen: { return(BlendMode.Screen); } case LayerBlendMode.Xor: { return(BlendMode.Xor); } // not supported by pinta // case LayerBlendMode.Reflect: // { // } // case LayerBlendMode.Glow: // { // } // case LayerBlendMode.Negation: // { // } // case LayerBlendMode.Additive: // { // } default: return(BlendMode.Normal); } }
public Texture2D GetFrame(int index) { Frame frame = Frames[index]; Texture2D texture = Texture2DUtil.CreateTransparentTexture(Header.Width, Header.Height); List <LayerChunk> layers = GetChunks <LayerChunk>(); List <CelChunk> cels = frame.GetChunks <CelChunk>(); cels.Sort((ca, cb) => ca.LayerIndex.CompareTo(cb.LayerIndex)); for (int i = 0; i < cels.Count; i++) { LayerBlendMode blendMode = layers[cels[i].LayerIndex].BlendMode; float opacity = layers[cels[i].LayerIndex].Opacity / 255f; Texture2D celTex = GetTextureFromCel(cels[i]); switch (blendMode) { case LayerBlendMode.Normal: texture = Texture2DBlender.Normal(texture, celTex); break; case LayerBlendMode.Multiply: texture = Texture2DBlender.Multiply(texture, celTex, opacity); break; case LayerBlendMode.Screen: texture = Texture2DBlender.Screen(texture, celTex); break; case LayerBlendMode.Overlay: texture = Texture2DBlender.Overlay(texture, celTex); break; case LayerBlendMode.Darken: texture = Texture2DBlender.Darken(texture, celTex); break; case LayerBlendMode.Lighten: texture = Texture2DBlender.Lighten(texture, celTex); break; case LayerBlendMode.ColorDodge: texture = Texture2DBlender.ColorDodge(texture, celTex); break; case LayerBlendMode.ColorBurn: texture = Texture2DBlender.ColorBurn(texture, celTex); break; case LayerBlendMode.HardLight: texture = Texture2DBlender.HardLight(texture, celTex); break; case LayerBlendMode.SoftLight: texture = Texture2DBlender.SoftLight(texture, celTex); break; case LayerBlendMode.Difference: texture = Texture2DBlender.Difference(texture, celTex); break; case LayerBlendMode.Exclusion: texture = Texture2DBlender.Exclusion(texture, celTex); break; case LayerBlendMode.Hue: texture = Texture2DBlender.Hue(texture, celTex); break; case LayerBlendMode.Saturation: texture = Texture2DBlender.Saturation(texture, celTex); break; case LayerBlendMode.Color: texture = Texture2DBlender.Color(texture, celTex); break; case LayerBlendMode.Luminosity: texture = Texture2DBlender.Luminosity(texture, celTex); break; case LayerBlendMode.Addition: texture = Texture2DBlender.Addition(texture, celTex); break; case LayerBlendMode.Subtract: texture = Texture2DBlender.Subtract(texture, celTex); break; case LayerBlendMode.Divide: texture = Texture2DBlender.Divide(texture, celTex); break; } } return(texture); }