1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="UVtools.WPF.Controls.Tools.ToolLayerExportGifControl">
<StackPanel Spacing="10">
<StackPanel Orientation="Horizontal" Spacing="5">
<TextBox
Watermark="Output filepath"
UseFloatingWatermark="True"
VerticalAlignment="Center"
IsReadOnly="True"
Width="500"
Text="{Binding Operation.FilePath}"/>
<Button
VerticalAlignment="Stretch"
Command="{Binding ChooseFilePath}">
<Image Source="/Assets/Icons/open-16x16.png"/>
</Button>
</StackPanel>
<CheckBox
Content="Clip layer image by volume bounds"
IsChecked="{Binding Operation.ClipByVolumeBounds}"/>
<CheckBox
Content="Render the layer number/count"
IsChecked="{Binding Operation.RenderLayerCount}"/>
<Grid RowDefinitions="Auto,10,Auto,10,Auto,10,Auto,10,Auto,10,Auto,10"
ColumnDefinitions="Auto,10,150,5,Auto,20,Auto">
<TextBlock Grid.Row="0" Grid.Column="0"
VerticalAlignment="Center"
ToolTip.Tip="Frames-per-second: Number of shown layers within a second"
Text="FPS:" />
<NumericUpDown Grid.Row="0" Grid.Column="2"
Minimum="1"
Maximum="255"
Value="{Binding Operation.FPS}"/>
<TextBlock Grid.Row="0" Grid.Column="4"
VerticalAlignment="Center"
ToolTip.Tip="Time that each layer is visible in milliseconds"
Text="{Binding Operation.FPSToMilliseconds, StringFormat={}{0}ms}" />
<TextBlock Grid.Row="0" Grid.Column="6"
VerticalAlignment="Center"
Text="{Binding Operation.GifDurationSeconds, StringFormat=GIF duration: {0}s}" />
<TextBlock Grid.Row="2" Grid.Column="0"
VerticalAlignment="Center"
ToolTip.Tip="Number of times to loop the animation.

0 = Infinite loop."
Text="Repeats:" />
<NumericUpDown Grid.Row="2" Grid.Column="2"
Minimum="0"
Maximum="65535"
Value="{Binding Operation.Repeats}"/>
<TextBlock Grid.Row="2" Grid.Column="4"
VerticalAlignment="Center"
Text="times" />
<TextBlock Grid.Row="4" Grid.Column="0"
VerticalAlignment="Center"
ToolTip.Tip="After pack a layer, skip the following layers by this value"
Text="Skip:" />
<NumericUpDown Grid.Row="4" Grid.Column="2"
Minimum="0"
Maximum="65535"
Value="{Binding Operation.Skip}"/>
<TextBlock Grid.Row="4" Grid.Column="4"
VerticalAlignment="Center"
Text="layers" />
<TextBlock Grid.Row="4" Grid.Column="6"
VerticalAlignment="Center"
Text="{Binding Operation.TotalLayers, StringFormat=Layers to pack: {0}}" />
<TextBlock Grid.Row="6" Grid.Column="0"
VerticalAlignment="Center"
ToolTip.Tip="Scale layer resolution by this percentage amount."
Text="Scale:" />
<NumericUpDown Grid.Row="6" Grid.Column="2"
Minimum="1"
Maximum="100"
FormatString="F2"
Value="{Binding Operation.Scale}"/>
<TextBlock Grid.Row="6" Grid.Column="4"
VerticalAlignment="Center"
Text="%" />
<TextBlock Grid.Row="8" Grid.Column="0"
VerticalAlignment="Center"
Text="Rotate:" />
<ComboBox Grid.Row="8" Grid.Column="2"
Grid.ColumnSpan="3"
HorizontalAlignment="Stretch"
Items="{Binding Operation.RotateDirection, Converter={StaticResource EnumToCollectionConverter}, Mode=OneTime}"
SelectedItem="{Binding Operation.RotateDirection, Converter={StaticResource FromValueDescriptionToEnumConverter}}"/>
<TextBlock Grid.Row="10" Grid.Column="0"
VerticalAlignment="Center"
Text="Flip:" />
<ComboBox Grid.Row="10" Grid.Column="2"
Grid.ColumnSpan="3"
HorizontalAlignment="Stretch"
Items="{Binding Operation.FlipDirection, Converter={StaticResource EnumToCollectionConverter}, Mode=OneTime}"
SelectedItem="{Binding Operation.FlipDirection, Converter={StaticResource FromValueDescriptionToEnumConverter}}"/>
</Grid>
</StackPanel>
</UserControl>
|