1
0
mirror of https://github.com/Artemis-RGB/Artemis synced 2025-12-31 09:43:46 +00:00

Fixed brush-save and adjusted render-resolution

This commit is contained in:
Darth Affe 2017-01-14 17:45:41 +01:00
parent e9d3040b64
commit d9d828ab21
3 changed files with 24 additions and 22 deletions

View File

@ -63,28 +63,10 @@ namespace Artemis.Profiles.Layers.Types.AngularBrush
WidthProperties.Apply(LayerModel); WidthProperties.Apply(LayerModel);
OpacityProperties.Apply(LayerModel); OpacityProperties.Apply(LayerModel);
((AngularBrushPropertiesModel)LayerModel.Properties).GradientStops = GetGradientStops().Select(x => new Tuple<double, Color>(x.Offset, x.Color)).ToList(); LayerModel.Properties.Brush = Brush;
LayerModel.LayerAnimation = SelectedLayerAnimation; LayerModel.LayerAnimation = SelectedLayerAnimation;
} }
private GradientStopCollection GetGradientStops()
{
LinearGradientBrush linearBrush = Brush as LinearGradientBrush;
if (linearBrush != null)
return linearBrush.GradientStops;
RadialGradientBrush radialBrush = Brush as RadialGradientBrush;
if (radialBrush != null)
return radialBrush.GradientStops;
SolidColorBrush solidBrush = Brush as SolidColorBrush;
if (solidBrush != null)
return new GradientStopCollection(new[] { new GradientStop(solidBrush.Color, 0), new GradientStop(solidBrush.Color, 1) });
return null;
}
#endregion #endregion
} }
} }

View File

@ -1,4 +1,6 @@
using System.Windows; using System;
using System.Linq;
using System.Windows;
using System.Windows.Media; using System.Windows.Media;
using Artemis.Modules.Abstract; using Artemis.Modules.Abstract;
using Artemis.Profiles.Layers.Abstract; using Artemis.Profiles.Layers.Abstract;
@ -51,7 +53,8 @@ namespace Artemis.Profiles.Layers.Types.AngularBrush
Brush origBrush = layerModel.Brush; Brush origBrush = layerModel.Brush;
_gradientDrawer.GradientStops = properties.GradientStops; //TODO DarthAffe 14.01.2017: Check if an update is needed
_gradientDrawer.GradientStops = GetGradientStops(layerModel.Brush).Select(x => new Tuple<double, Color>(x.Offset, x.Color)).ToList();
_gradientDrawer.Update(); _gradientDrawer.Update();
layerModel.Brush = _gradientDrawer.Brush.Clone(); layerModel.Brush = _gradientDrawer.Brush.Clone();
@ -105,6 +108,23 @@ namespace Artemis.Profiles.Layers.Types.AngularBrush
return (layerPropertiesViewModel as AngularBrushPropertiesViewModel) ?? new AngularBrushPropertiesViewModel(layerEditorViewModel); return (layerPropertiesViewModel as AngularBrushPropertiesViewModel) ?? new AngularBrushPropertiesViewModel(layerEditorViewModel);
} }
private GradientStopCollection GetGradientStops(Brush brush)
{
LinearGradientBrush linearBrush = brush as LinearGradientBrush;
if (linearBrush != null)
return linearBrush.GradientStops;
RadialGradientBrush radialBrush = brush as RadialGradientBrush;
if (radialBrush != null)
return radialBrush.GradientStops;
SolidColorBrush solidBrush = brush as SolidColorBrush;
if (solidBrush != null)
return new GradientStopCollection(new[] { new GradientStop(solidBrush.Color, 0), new GradientStop(solidBrush.Color, 1) });
return null;
}
#endregion #endregion
} }
} }

View File

@ -65,7 +65,7 @@ namespace Artemis.Profiles.Layers.Types.AngularBrush.Drawing
private void CreateBrush() private void CreateBrush()
{ {
_bitmap = new WriteableBitmap(10, 10, 96, 96, PixelFormats.Bgra32, null); _bitmap = new WriteableBitmap(100, 100, 96, 96, PixelFormats.Bgra32, null);
Brush = new ImageBrush(_bitmap) { Stretch = Stretch.UniformToFill }; Brush = new ImageBrush(_bitmap) { Stretch = Stretch.UniformToFill };
} }