Budowa aplikacji w technologii.net wykład 11 Animacje

Wielkość: px
Rozpocząć pokaz od strony:

Download "Budowa aplikacji w technologii.net wykład 11 Animacje"

Transkrypt

1 Budowa aplikacji w technologii.net wykład 11 Animacje 1/52 Wykonanie animacji w Windows Forms, MFS, Swingu, etc. opierało się na timerach i własnej funkcji rysującej: 1. Stworzenie timera, który co określoną liczbę milisekund odpala zdarzenie. 2. W reakcji na zdarzenie timera, należy dokonać wymaganych przez animację obliczeń, zmian parametrów, etc. (np. jeśli animujemy obracające się logo zwiększamy kąt obrotu o stały stopień). 3. Następnie unieważniamy zawartość okna. Zmusi to system do wywołania naszej procedury rysującej. 4. W tej procedurze rysujemy kolejną klatkę animacji.

2 2/52 Wiążą się z tym problemy: Procedura rysująca odpowiada za wyświetlanie pikseli, nie kontrolek zatem zawartość animacji musi być rysowana ręcznie (w WPF animacji podlegają dowolne własności elementów). Dodanie kolejnej animacji komplikuje kod (w WPF można składać bardziej złożone animacji z kilku prostszych). Stały framerate (ustawiony w timerze). Jego modyfikacja pociąga za sobą zmianę procedury obliczającej kolejną klatkę. Bardziej złożone sposoby animacji (np. przemieszczanie po ścieżce) wymagają bardziej złożonego kodu (w WPF animacje definiuje się w XAMLu). W WPF model jest prostszy, gdyż okna samo dba o aktualizację swej zawartości, gdy zmienią się własności elementów. Ponadto nie wymaga ręcznej zmiany własności w reakcji na zdarzenia timera. Zamiast tego animacje definiuje się w sposób deklaratywny. Animacja własności Animacja w WPF nie wymaga zajmowania się serią klatek. Zamiast tego określamy jaka własność elementu w jaki sposób ma się zmieniać w czasie. Ograniczenie: animacje dotyczą tylko dependency properties (a co za tym idzie, nie da się uzyskać w ten sposób efektów, których nie osiągniemy modyfikując własności, np. nie można animacją dodawać elementów do okna). Mogą one służyć uatrakcyjnieniu standardowej aplikacji, ale nie nadają się np. do gier.

3 3/52 Podstawy Każda animacja operuje na pojedynczej własności. Animowanie własności wymaga użycia klasy animacji właściwej dla typu tej własności. Klasy animacji: zmieniających pewną wartość na drodze liniowej interpolacji (z wartości From do wartości To lub zwiększając wartość aktualną o By): ByteAnimation ColorAnimation DecimalAnimation DoubleAnimation Int16Animation Int32Animation Int64Animation PointAnimation Point3DAnimation QuarternionAnimation RectAnimation Rotation3DAnimation SingleAnimation SizeAnimation ThicknessAnimation VectorAnimation Vector3DAnimation

4 zmieniających pewną wartość w określonych punktach czasu: BooleanAnimationUsingKeyFrames ByteAnimationUsingKeyFrames CharAnimationUsingKeyFrames ColorAnimationUsingKeyFrames DecimalAnimationUsingKeyFrames DoubleAnimationUsingKeyFrames Int16AnimationUsingKeyFrames Int32AnimationUsingKeyFrames Int64AnimationUsingKeyFrames MatrixAnimationUsingKeyFrames ObjectAnimationUsingKeyFrames PointAnimationUsingKeyFrames Point3DAnimationUsingKeyFrames QuarternionAnimationUsingKeyFrames RectAnimationUsingKeyFrames Rotation3DAnimationUsingKeyFrames SingleAnimationUsingKeyFrames SizeAnimationUsingKeyFrames StringAnimationUsingKeyFrames ThicknessAnimationUsingKeyFrames VectorAnimationUsingKeyFrames Vector3DAnimationUsingKeyFrames 4/52

5 5/52 animacje wykorzystujące ścieżkę (PathGeometry): DoubleAnimationUsingPath MatrixAnimationUsingPath PointAnimationUsingPath Możliwe jest też tworzenie własnych klas animacji. Nie ma klas do animowania własności typu wyliczeniowego (np. HorizontalAlignment). Zazwyczaj nie animuje się też typów referencyjnych (np. Brush zamiast tego używa się np. ColorAnimation, DoubleAnimation do animacji własności pędzla). Animacje w kodzie Wymaga stworzenia obiektu animacji, ustawienia własności i odpalenia jej przy pomocy metody BeginAnimation() (zadeklarowanej w interfejsie IAnimatable). <Grid> <Button Name="cmdPowiększ" HorizontalAlignment="Center" VerticalAlignment="Center" Padding="3" Click="PowiększClick" >Powiększ</Button> </Grid>

6 private void PowiększClick(object sender, RoutedEventArgs e) { DoubleAnimation anim = new DoubleAnimation(); anim.from = cmdpowiększ.actualwidth; anim.to = this.width - 30; anim.duration = TimeSpan.FromSeconds(3); cmdpowiększ.beginanimation(button.widthproperty, anim); } 6/52

7 7/52 From początkowa wartość własności (gdybyśmy ustawili tu stałą wartość, wówczas własność zostałaby zresetowana do niej na początku animacji): anim.from = 160; Jeśli jej nie określimy, animacja zaczyna się od wartości aktualnej (ale musiała być ona wcześniej jawnie ustawiona: w kodzie, w XAMLu lub przez settera, ale nie przez kontener). private void Window_Loaded(object sender, RoutedEventArgs e) { cmdpowiększ.width = cmdpowiększ.actualwidth; } To wartość końcowa. Podobnie jak From, można ją opuścić. Oznaczać to będzie powrót do początkowej wartości (czyli aktualnej wartości, nie licząc animacji). DoubleAnimation anim = new DoubleAnimation(); anim.duration = TimeSpan.FromSeconds(3); cmdpowiększ.beginanimation(button.widthproperty, anim);

8 8/52 Aby to zadziałało, aktualna wartość szerokości już musiała zostać zmodyfikowana przez jakąś animację. Możemy to wykorzystać, aby stworzyć animację powrotu (wykorzystując zdarzenie Completed, oznaczające zakończenie animacji): private void PowiększClick(object sender, RoutedEventArgs e) { } DoubleAnimation anim = new DoubleAnimation(); anim.to = this.width - 30; anim.duration = TimeSpan.FromSeconds(3); anim.completed += anim_completed; cmdpowiększ.beginanimation(button.widthproperty, anim); void anim_completed(object sender, EventArgs e) { DoubleAnimation anim = new DoubleAnimation(); anim.duration = TimeSpan.FromSeconds(3); cmdpowiększ.beginanimation(button.widthproperty, anim); }

9 9/52 Inne rozwiązanie (automatyczny powrót do pierwotnej własności odwrócenie animacji): anim.autoreverse = true; Inne rozwiązanie (powrót do pierwotnej własności bez animacji): anim.fillbehavior = FillBehavior.Stop; Animacja po zakończeniu nadal istnieje i ma wpływ na aktualną wartość własności. Aby zlikwidować wpływ animacji, należy usunąć jej obiekt: cmdpowiększ.beginanimation(button.widthproperty, null); By można użyć, zamiast podawania To. Zmienia własność o podaną wartość. anim.by = 100; odpowiada to: anim.to = cmdpowiększ.width + 100;

10 10/52 Podobny efekt można osiągnąć ustawiając flagę IsAdditive: DoubleAnimation anim = new DoubleAnimation(); anim.from = 0; anim.to = 100; anim.duration = TimeSpan.FromSeconds(3); anim.isadditive = true; cmdpowiększ.beginanimation(button.widthproperty, anim); Duration określamy czas trwania a nie szybkość animacji zatem powiększanie przycisku zawsze będzie trwało 3 sekundy, niezależnie od rozmiaru okna. Uwaga: na własności nie można wykonywać kilku animacja na raz (odpalenie kolejnej, przerywa poprzednią). Może spowodować to wrażenie, że animacja zwolniła gdyż dla nowej animacji znów ustawiono czas trwania 3 sekundy. Można odpalić (niezależnie) animacje różnych własności elementu: cmdpowiększ.beginanimation(button.widthproperty,...); cmdpowiększ.beginanimation(button.heightproperty,...);

11 11/52 Inne własności animacji: BeginTime wymusza opóźnienie rozpoczęcia animacji (TimeSpan). SpeedRatio szybkość animacji, domyślnie 1. AccelerationRatio, DecelerationRatio do animacji nieliniowej, która przyśpiesza na początku, a zwalnia na końcu. Wartości od 0 do 1 określają jaką część czasu trwania ma zająć przyśpieszanie lub zwalnianie. DoubleAnimation anim = new DoubleAnimation(); anim.to = this.width - 30; anim.duration = TimeSpan.FromSeconds(5); anim.accelerationratio = 0.3; anim.decelerationratio = 0.3; cmdpowiększ.beginanimation(button.widthproperty, anim);

12 12/52 RepeatBehavior pozwala powtarzać animację określoną liczbę razy, przez określony czas lub bez końca (RepeatBehavior.Forever). lub: DoubleAnimation anim = new DoubleAnimation(); anim.to = this.width - 30; anim.duration = TimeSpan.FromSeconds(0.5); anim.autoreverse = true; anim.repeatbehavior = new RepeatBehavior(3); cmdpowiększ.beginanimation(button.widthproperty, anim); anim.repeatbehavior = new RepeatBehavior(TimeSpan.FromSeconds(2.5)); Można ustawić flagę IsCumulative, wówczas kolejne powtórzenie animacji rozpocznie się od ostatniego stanu poprzedniej (a nie stanu początkowego działa to jak domyślne ustawienie IsAdditive dla kolejnych powtórzeń).

13 13/52 Animacje w XAMLu Animacja w XAMLu definiowana jest w obiekcie storyboard. Reprezentuje on przebieg animacji, pozwala na grupowanie kilku animacji, kontrolowanie animacji. Ponadto pełni podobną rolę, co wywołanie metody BeginAnimation(). <Storyboard TargetName="cmdPowiększ" TargetProperty="Width"> <DoubleAnimation From="160" To="300" Duration="0:0:5" /> </Storyboard> Inny wariant (TargetName i TargetProperty to własności dołączone): <Storyboard> <DoubleAnimation Storyboard.TargetName="cmdPowiększ" Storyboard.TargetProperty="Width" From="160" To="300" Duration="0:0:5" /> </Storyboard>

14 Do uruchomienia animacji konieczny jest EventTrigger. Jego zadaniem jest odpalenie animacji. (EventTrigger nie musi znajdować sie w Stylu.) <Button Padding="3" HorizontalAlignment="Center" VerticalAlignment="Center" Width="160"> <Button.Triggers> <EventTrigger RoutedEvent="Button.Click"> <EventTrigger.Actions> <BeginStoryboard> <Storyboard> <DoubleAnimation To="300" Duration="0:0:5" Storyboard.TargetProperty="Width" /> </Storyboard> </BeginStoryboard> </EventTrigger.Actions> </EventTrigger> </Button.Triggers> Powiększ </Button> Nie musimy określać TargetName wówczas automatycznie użyty zostanie element, w którym zagnieżdżono storyboard. 14/52

15 15/52 W XAMLu nie ma obsługi wyrażeń, dlatego wartość docelowa została ustawiona na stałą. Wartość tę można odczytać z innej własności przy pomocy bindingu:... To="{Binding ElementName=window,Path=Width}"... Jeśli chcemy bardziej złożonych obliczeń, powinniśmy napisać własnego IValueConvertera lub stworzyć własność zależnościową do której będziemy mogli dowiązać i która zajmie się obliczeniami. Poza EventTriggerem możemy również używać PropertyTriggerów: <Style x:key="powiększalski"><style.triggers> <Trigger Property="Button.IsPressed" Value="True"> <Trigger.EnterActions> <BeginStoryboard> <Storyboard> <DoubleAnimation.../> </Storyboard> </BeginStoryboard> </Trigger.EnterActions> </Trigger> </Style.Triggers></Style>

16 16/52... <Button... Style="{StaticResource powiększalski}"> Powiększ </Button> Trigger.EnterActions to akcje wykonywane, w chwili gdy własność przyjmuje wskazaną wartość. Trigger.ExitActions są wykonywane, gdy następuje utrata tej wartości (wracamy do false). Wszystkie animacje umieszczone w storyboard są automatycznie synchronizowane: <Storyboard> <DoubleAnimation Storyboard.TargetProperty="Width" By="100" Duration="0:0:0.5" /> <DoubleAnimation Storyboard.TargetProperty="Height" By="50" Duration="0:0:0.5" /> </Storyboard> Możemy korzystać ze SpeedRatio, aby przyśpieszyć niektóre animacje, BeginTime, aby opóźnić rozpoczęcie innych, etc.

17 17/52 Przykład wykorzystanie do animacji przejścia (między dwoma obrazkami). Obrazki umieszczamy w Gridzie jeden na drugim: <Grid> <Image Source="Gra o tron.jpg" /> <Image Source="Zew Cthulhu.jpg" Name="second" /> </Grid> W momencie ładowania okienka uruchamiamy animację zmieniającą przeźroczystość górnego obrazka: <Window.Triggers> <EventTrigger RoutedEvent="Window.Loaded"> <EventTrigger.Actions> <BeginStoryboard> <Storyboard Storyboard.TargetName="second"> <DoubleAnimation Duration="0:0:5" Storyboard.TargetProperty="Opacity" To="0" /> </Storyboard> </BeginStoryboard> </EventTrigger.Actions> </EventTrigger> </Window.Triggers>

18 18/52

19 19/52 Ciekawszym rozwiązaniem jest wykorzystanie i animowanie maski przeźroczystości. <Image Source="Zew Cthulhu.jpg" Name="second"> <Image.OpacityMask> <LinearGradientBrush StartPoint="0,0" EndPoint="1,0"> <GradientStop Offset="0" Color="Transparent" x:name="transparentstop" /> <GradientStop Offset="0" Color="Black" x:name="visiblestop" /> </LinearGradientBrush> </Image.OpacityMask> </Image>... <Storyboard> <DoubleAnimation Storyboard.TargetName="visibleStop" Storyboard.TargetProperty="Offset" From="0" To="1.2" Duration="0:0:6" /> <DoubleAnimation Storyboard.TargetName="transparentStop" Storyboard.TargetProperty="Offset" BeginTime="0:0:1" From="0" To="1" Duration="0:0:5" /> </Storyboard>

20 20/52

21 21/52 WPF daje możliwość kontrolowania animacji przy pomocy następujących klas akcji: PauseStoryboard ResumeStoryboard StopStoryboard (zatrzymanie nie jest równoważne zakończeniu, bo nie zachowuje końcowej wartości własności, a wraca do początkowej) SeekStoryboard (skok do wskazanej pozycji) SetStoryboardSpeedRatio SkipStoryboardToFill (skok do końca) RemoveStoryboard (zatrzymuje i usuwa) Dodajmy przyciski do kontroli animacji: <DockPanel> <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" DockPanel.Dock="Bottom"> <Button Name="cmdStart" >Start</Button> <Button Name="cmdPause">Pause</Button> <Button Name="cmdResume">Resume</Button> <Button Name="cmdStop">Stop</Button> </StackPanel> <Grid Margin="3"> <Image.../> <Image.../> </Grid> </DockPanel>

22 22/52 Następnie event trigger do uruchomienia animacji: <Window.Triggers> <EventTrigger SourceName="cmdStart" RoutedEvent="Button.Click"> <BeginStoryboard Name="fadeStoryboardBegin"> <Storyboard>... </Storyboard> </BeginStoryboard> </EventTrigger>... </Window.Triggers>

23 23/52 W podobny sposób event triggery do pozostałych akcji (podajemy tylko jakiego BeginStoryboard mają dotyczyć). Uwaga: jest to nazwa BeginStoryboard a nie Storyboard. <Window.Triggers>... <EventTrigger SourceName="cmdPause" RoutedEvent="Button.Click"> <PauseStoryboard BeginStoryboardName="fadeStoryboardBegin"/> </EventTrigger> <EventTrigger SourceName="cmdResume" RoutedEvent="Button.Click"> <ResumeStoryboard BeginStoryboardName="fadeStoryboardBegin"/> </EventTrigger> <EventTrigger SourceName="cmdStop" RoutedEvent="Button.Click"> <StopStoryboard BeginStoryboardName="fadeStoryboardBegin"/> </EventTrigger> </Window.Triggers>

24 (Możemy to też kontrolować zwyczajnie wywołując metody Stop(), Pause(), Resume(), etc. z obiektu Storyboard. Ale użycie powyższych akcji pozwala nam łatwo uruchamiać i zatrzymywać animację w triggerach, np. po najechaniu myszą na element.) 24/52

25 25/52 Przebieg animacji możemy monitorować przy użyciu poniższych zdarzeń: Completed animacja została zakończona CurrentGlobalSpeedInvalidated zmianie uległa szybkość animacji (oznacza to również pauzę, wznowienie, zmianę pozycji) CurrentStateInvalidated uruchomienie lub zakończenie CurrentTimeInvalidated tyknięcie zegara animacji (również uruchomienie lub zakończenie) RemoveRequested usuwanie animacji Może wykorzystać CurrentTimeInvalidated, by dodać wskaźnik zaawansowania animacji. <DockPanel>... <ProgressBar Name="progres" DockPanel.Dock="Bottom" Height="10" Minimum="0" Maximum="1" />... </DockPanel>

26 26/52 Dodajemy obsługę zdarzenia: <Window.Triggers> <EventTrigger...> <BeginStoryboard...> <Storyboard CurrentTimeInvalidated= "Storyboard_CurrentTimeInvalidated">... </Storyboard> </BeginStoryboard> </Window.Triggers> Nadawcą zdarzenia jest Clock, z którego możemy odczytać postęp animacji: private void Storyboard_CurrentTimeInvalidated(object sender, EventArgs e) { Clock clock = (Clock)sender; if(clock.currentprogress!= null) progres.value = (double)clock.currentprogress; }

27 27/52

28 28/52 Domyślnie animacje działają w 60 klatkach na sekundę. Jeśli animacja jest zbyt wymagająca (intensywnie wykorzystuje przeźroczystość, materiał wideo, duże bitmapy) możemy chcieć ją zmniejszyć, by poprawić wydajność: <Storyboard Timeline.DesiredFrameRate="30">... </Storyboard>

29 29/52 Posługiwanie się animacjami Co animować? Jeśli chcemy, by elementy pojawiały się i znikały: Opacity. Jeśli chcemy przemieszczać elementy: Canvas.Left, Canvas.Top (jeśli kontenerem jest Canvas), ewentualnie Margin lub/i Padding (przy pomocy ThicknessAnimation), ewentualnie MinWidth i MinHeight kolumny lub wiersza w Gridzie. RenderTransform aby przemieszczać (TranslateTransform), obracać (RotateTransform), skalować (ScaleTransform) elementy. Działają szybciej niż animacja własności określających rozmiar czy pozycję. ColorAnimation aby modyfikować własności pędzla.

30 30/52 Animacja transformacji Każdy element ma dwa rodzaje transformacji: RenderTransform (stosowana przed wyświetleniem obiektu) i LayoutTransform (stosowana przed ułożeniem elementów przez kontener). (Animacja nie może stworzyć transformacji, a jedynie animować własności istniejącej.) Przykład: obracający się przycisk. <Button RenderTransformOrigin="0.5,0.5"> <Button.RenderTransform> <RotateTransform/> </Button.RenderTransform> OK </Button>

31 31/52 EventTrigger do uruchomienia animacji: <EventTrigger RoutedEvent="Button.MouseEnter"> <EventTrigger.Actions> <BeginStoryboard> <Storyboard> <DoubleAnimation Storyboard.TargetProperty= "RenderTransform.Angle" To="360" Duration= "0:0:1" RepeatBehavior="Forever"/> </Storyboard> </BeginStoryboard> </EventTrigger.Actions> </EventTrigger>

32 32/52 I do zakończenia (powrotu do stanu początkowego): <EventTrigger RoutedEvent="Button.MouseLeave"> <EventTrigger.Actions> <BeginStoryboard> <Storyboard> <DoubleAnimation Storyboard.TargetProperty= "RenderTransform.Angle" Duration="0:0:0.2"/> </Storyboard> </BeginStoryboard> </EventTrigger.Actions> </EventTrigger>

33 33/52 Parametry przycisku możemy ustawić w stylu: <Style TargetType="Button"> <Setter Property="Margin" Value="3" /> <Setter Property="Padding" Value="20,3"/> <Setter Property="HorizontalAlignment" Value="Center"/> <Setter Property="VerticalAlignment" Value="Center"/> <Setter Property="RenderTransformOrigin" Value="0.5,0.5"/> <Setter Property="RenderTransform"> <Setter.Value> <RotateTransform></RotateTransform> </Setter.Value> </Setter> <Style.Triggers> <EventTrigger... <EventTrigger... </Style.Triggers> </Style>

34 34/52 Teraz każdy z przycisków będzie używał tej animacji: <StackPanel> <Button>jeden</Button> <Button>dwa</Button> <Button>trzy</Button> <Button>cztery</Button> <Button>pięć</Button> </StackPanel>

35 Jeśli wymienimy RenderTransform na LayoutTransform: 35/52

36 36/52 Aby animować bardziej złożone rodzaje transformacji najlepiej umieścić je w TransformGroup: <Border.RenderTransform> <TransformGroup> <ScaleTransform></ScaleTransform> <RotateTransform></RotateTransform> </TransformGroup> </Border.RenderTransform> Następnie: <DoubleAnimation Storyboard.TargetProperty= "RenderTransform.Children[0].ScaleX".../> <DoubleAnimation Storyboard.TargetProperty= "RenderTransform.Children[0].ScaleY".../> <DoubleAnimation Storyboard.TargetProperty= "RenderTransform.Children[1].Angle".../>

37 37/52 Zamiast animowania transformacji elementu, można rozważyć animację prostokąta wypełnionego VisualBrushem: <Rectangle Name="rectangle"> <Rectangle.Fill> <VisualBrush Visual="{Binding ElementName=element}"/> </Rectangle.Fill> <Rectangle.RenderTransform>... </Rectangle.RenderTransform> </Rectangle>

38 38/52 Animowanie pędzli Kolor pędzla animujemy przy pomocy klasy ColorAnimation. Wymaga stworzenia pędzla: <Ellipse Stretch="Uniform" Margin="3" Name="elipsa"> <Ellipse.Fill> <RadialGradientBrush> <GradientStop Color="Yellow" Offset="0"/> <GradientStop Color="LawnGreen" Offset="1"/> </RadialGradientBrush> </Ellipse.Fill> </Ellipse>

39 39/52 Teraz możemy ustawić jego właściwości: <BeginStoryboard> <Storyboard> <ColorAnimation Storyboard.TargetName="elipsa" To="DeepSkyBlue" Storyboard.TargetProperty= "Fill.GradientStops[1].Color" Duration="0:0:1" AutoReverse="True" RepeatBehavior="Forever"/> </Storyboard> </BeginStoryboard>

40 40/52 PointAnimation pozwala przemieszczać punkt (działa to jak DoubleAnimation składowej X i Y). Dzięki temu możemy np. modyfikować kształt figury zbudowanej z punktów. W poniższym przykładzie animujemy centralny punkt gradientu radialnego. <PointAnimation Storyboard.TargetName="elipsa" Storyboard.TargetProperty="Fill.GradientOrigin" From="0.7,0.3" To="0.3,0.7" Duration="0:0:1" AutoReverse="True" RepeatBehavior="Forever" />

41 41/52 Animacja z wykorzystaniem klatek kluczowych Pozwala zdefiniować większą liczbę etapów animacji. Każda klatka ma określoną wartość docelową oraz czas. Można w ten sposób definiować bardziej złożony przebieg animacji (zmian wartości). Przykład: <Grid> <Ellipse Width="20" Height="20" Stroke="Black" Fill="Yellow" Name="elipsa" /> </Grid>

42 42/52 Animacja rozmiaru: <Window.Triggers> <EventTrigger RoutedEvent="Window.Loaded"> <BeginStoryboard> <Storyboard> <DoubleAnimationUsingKeyFrames Storyboard.TargetName= "elipsa" Storyboard.TargetProperty="Width" RepeatBehavior="Forever"> <LinearDoubleKeyFrame Value="20" KeyTime="0:0:0"/> <LinearDoubleKeyFrame Value="200" KeyTime="0:0:1"/> <LinearDoubleKeyFrame Value="200" KeyTime="0:0:2"/> <LinearDoubleKeyFrame Value="20" KeyTime="0:0:3"/> <LinearDoubleKeyFrame Value="20" KeyTime="0:0:4"/> </DoubleAnimationUsingKeyFrames>...

43 43/52... <DoubleAnimationUsingKeyFrames Storyboard.TargetName= "elipsa" Storyboard.TargetProperty="Height" RepeatBehavior="Forever"> <LinearDoubleKeyFrame Value="20" KeyTime="0:0:0"/> <LinearDoubleKeyFrame Value="20" KeyTime="0:0:1"/> <LinearDoubleKeyFrame Value="200" KeyTime="0:0:2"/> <LinearDoubleKeyFrame Value="200" KeyTime="0:0:3"/> <LinearDoubleKeyFrame Value="20" KeyTime="0:0:4"/> </DoubleAnimationUsingKeyFrames> </Storyboard> </BeginStoryboard> </EventTrigger> </Window.Triggers> Klatki określają węzły animacji punkty, do jakich ma się udać animacja, wartości jakie mamy przyjąć. Dzielą one animację na wykonywane po kolei segmenty.

44 44/52 Poza interpolacją liniową między klatkami kluczowymi, możemy wybrać wartości dyskretne (nie dokonuje interpolacji wartość jest przyjmowana w określonej chwili czasu): <ColorAnimationUsingKeyFrames Storyboard.TargetName="elipsa" Storyboard.TargetProperty="Fill.Color" RepeatBehavior="Forever"> <DiscreteColorKeyFrame Value="Yellow" KeyTime="0:0:0"/> <DiscreteColorKeyFrame Value="Red" KeyTime="0:0:0.3"/> <DiscreteColorKeyFrame Value="Green" KeyTime="0:0:0.6"/> <DiscreteColorKeyFrame Value="Blue" KeyTime="0:0:0.9"/> <DiscreteColorKeyFrame Value="Yellow" KeyTime="0:0:1.2"/> </ColorAnimationUsingKeyFrames> Wartość KeyTime (koniec segmentu animacji) może być również określana procentowo. Możemy używać różnych interpolacji w obrębie jednej animacji.

45 45/52 Dostępny jest jeszcze jeden rodzaj klatek kluczowych: oparte na krzywej Beziera. Używają interpolacji do zmiany wartości, ale zgodnie z krzywą Beziera. Dwa punkty krzywej są stałe (0,0 i 1,1), pozostałe dwa definiowane są przy pomocy KeySpline. <Canvas> <Ellipse Canvas.Top="20"... Name="elipsa1"/> <Ellipse Canvas.Top="60"... Name="elipsa2"/> </Canvas>

46 <Storyboard> <DoubleAnimationUsingKeyFrames Storyboard.TargetName= "elipsa1" Storyboard.TargetProperty="(Canvas.Left)" RepeatBehavior="Forever"> <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/> <LinearDoubleKeyFrame Value="300" KeyTime="0:0:4"/> <LinearDoubleKeyFrame Value="0" KeyTime="0:0:8"/> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames Storyboard.TargetName= "elipsa2" Storyboard.TargetProperty="(Canvas.Left)" RepeatBehavior="Forever"> <SplineDoubleKeyFrame Value="0" KeyTime="0:0:0" /> <SplineDoubleKeyFrame Value="300" KeyTime="0:0:4" KeySpline="0.5,0 0.5,1"/> <SplineDoubleKeyFrame Value="0" KeyTime="0:0:8" KeySpline="0.2, ,0.2"/> </DoubleAnimationUsingKeyFrames> </Storyboard> 46/52

47 47/52 Animation easing Efekt nieliniowy na początku lub końcu zmiany wartości. Pozwala na bardziej naturalne animacje. Własność może np. łagodniej zbliżać się do wartości docelowej lub oscylować przez jakiś czas wokół niej. <Storyboard...> <DoubleAnimation Storyboard.TargetName="cmdGrow" Storyboard.TargetProperty="Width" To="400" Duration="0:0:1.5"> <DoubleAnimation.EasingFunction> <ElasticEase EasingMode="EaseOut" Oscillations="10"/> </DoubleAnimation.EasingFunction> </DoubleAnimation> </Storyboard> EasingMode (EaseOut, EaseIn, EaseInOut) określa, czy efekt ma być stosowany na początku czy końcu animacji.

48 48/52 Dostępne funkcje: BackEase pozwala na przestrzelenie się (własność początkowo osiąga wartość przekraczającą docelową), by potem powoli dorównać ElasticEase efekt sprężystości (przestrzelenie i słabnąca oscylacja) BounceEase podobnie jak wyżej, ale bez przestrzelenia CircleEase, CubicEase, QuadraticEase, QuarticEase, QuinticEase, SineEase, PowerEase, ExponentialEase steruje początkowym przyśpieszeniem i końcowym zwolnieniem przy użyciu różnych funkcji Możemy to też stosować do klatek kluczowych wymaga odpowiedniego typu klatki: <PointAnimationUsingKeyFrames... > <LinearPointKeyFrame.../> <EasingPointKeyFrame...> <EasingPointKeyFrame.EasingFunction> <CircleEase></CircleEase> </EasingPointKeyFrame.EasingFunction> </EasingPointKeyFrame> <LinearPointKeyFrame.../> <LinearPointKeyFrame.../> </PointAnimationUsingKeyFrames>

49 Animacje oparte na ścieżkach Używają geometrii, by określić ustawianą przez animację wartość. Przeważnie stosowane do określania położenia (ale mogą działać dla dowolnych własności jej wartość odczytywana jest ze zdefiniowanej ścieżki). Zaczynamy od zdefiniowania geometrii: <Window.Resources> <PathGeometry x:key="gwiazda" Figures="M 95,20 L 160,150 L 20,70 L 180,60 L 50,160 Z"/>... </Window.Resources> Następnie możemy jej użyć do animacji położenie elipsy: <Storyboard> <DoubleAnimationUsingPath Storyboard.TargetName="elipsa3" Storyboard.TargetProperty="(Canvas.Left)" PathGeometry="{StaticResource gwiazda}" Duration="0:0:5" RepeatBehavior="Forever" Source="X" /> <DoubleAnimationUsingPath Storyboard.TargetName="elipsa3" Storyboard.TargetProperty="(Canvas.Top)" PathGeometry="{StaticResource gwiazda}" Duration="0:0:5" RepeatBehavior="Forever" Source="Y"/> </Storyboard> 49/52

50 50/52 Efekty WPF dysponuje zestawem efektów wizualnych, które możemy nadać dowolnemu elementowi. Są dwie grupy efektów: BitmapEffects (mniej wydajne) oraz Effects. Przykład: <Label...> <Label.BitmapEffect> <OuterGlowBitmapEffect GlowColor="Yellow" GlowSize="20" Opacity="0.5"/> </Label.BitmapEffect> Hello world! </Label> <Button...> <Button.Effect> <BlurEffect Radius="5"/> </Button.Effect> OK </Button>

51 51/52 BitmapEffects: BlurBitmapEffect rozmycie (własności Radius, KernelType) BevelBitmapEffect efekt wypukłej krawędzi (własności BevelWidth, EdgeProfile, LightAngle, Relief, Smoothness) EmbossBitmapEffect efekt wyżłobienia (własności LightAngle, Relief) OuterGlowBitmapEffect efekt halo (GlowColor, GlowSize, Noise, Opacity) DropShadowBitmapEffect efekt cienia (Color, Direction, Noise, Opacity, ShadowDepth, Softness) BitmapEffectGroup pozwala łączyć kilka efektów Effects: BlurEffect rozmycie (własności Radius, KernelType, RenderingBias) DropShadowEffect efekt cienia (własności BlurRadius, Color, Direction, Opacity, ShadowDepth, RenderingBias) ShaderEffect pozwala zastosować efekt pixel shadera (należy wskazać gotowy, skompilowany plik) Oczywiście efekty (ich własności) też możemy animować.

52 52/52 Frame-Based Animation WPF pozwala również tworzyć własną, dowolną animację przez ręczne generowanie zawartości kolejnych ramek. Należy obsłużyć statyczne zdarzenie CompositionTarget.Rendering. Będzie ono podnoszone cyklicznie (aby pobrać zawartość ramki do wyrenderowania). CompositionTarget.Rendering += RenderFrame; Naszym zadaniem jest dostarczenie zawartości: poprzez manipulację elementami okna, dodawanie nowych, etc. private void RenderFrame(object sender, EventArgs e) {... Ellipse ellipse = new Ellipse(); ellipse.width =...; ellipse.height =...; ellipse.fill =...; canvas.children.add(ellipse);... }

Programowanie obiektowe i zdarzeniowe wykład 8 grafika i animacja

Programowanie obiektowe i zdarzeniowe wykład 8 grafika i animacja Programowanie obiektowe i zdarzeniowe wykład 8 grafika i animacja Grafika Kształty Najprostszy sposób rysowania własnej zawartości w WPF, to wykorzystanie kształtów. Shapes klasy reprezentujące linie,

Bardziej szczegółowo

Jarosław Kuchta Podstawy Programowania Obiektowego. Podstawy grafiki obiektowej

Jarosław Kuchta Podstawy Programowania Obiektowego. Podstawy grafiki obiektowej Jarosław Kuchta Podstawy Programowania Obiektowego Podstawy grafiki obiektowej Zagadnienia Grafika proceduralna grafika obiektowa Grafika WPF dualizm XAML C# Właściwości obiektów graficznych edycja właściwości

Bardziej szczegółowo

Aby nadać jej pożądaną postać należy w pliku Window1.xaml stworzyć definicję swojego stylu modyfikując ręcznie postać zapisu XAML:

Aby nadać jej pożądaną postać należy w pliku Window1.xaml stworzyć definicję swojego stylu modyfikując ręcznie postać zapisu XAML: Lab8 WPF Zad1 : - lista z językami i flagami + wiązanie danych z obiektu przerabiana na ComboBox - fisheye przegląd obrazków lupa (obrazki umieszczone na sztywno) - wyświetlenie galerii zdjęć zapisanej

Bardziej szczegółowo

Spis treści. Część I Przygotowanie środowiska... 11. Część II Język C#... 19. Wstęp... 9

Spis treści. Część I Przygotowanie środowiska... 11. Część II Język C#... 19. Wstęp... 9 Spis treści Wstęp... 9 Część I Przygotowanie środowiska... 11 Rozdział 1. Przygotowanie środowiska Orcas... 13 Pobieranie aplikacji... 14 Pobieranie alternatywnego instalatora... 15 Instalacja... 15 Konfiguracja

Bardziej szczegółowo

Laboratorium Programowanie urządzeń mobilnych

Laboratorium Programowanie urządzeń mobilnych Laboratorium Programowanie urządzeń mobilnych Wprowadzenie Klasa Transform - Umożliwia realizację różnych zmian obiektu. Obiekt może zostać przesunięty, może być zmieniony jego rozmiar lub obrócony. Klasa

Bardziej szczegółowo

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Obiekty reprezentują pewne pojęcia, przedmioty, elementy rzeczywistości. Obiekty udostępniają swoje usługi: metody operacje,

Bardziej szczegółowo

Modele zawartości. WPF wykorzystuje 4 modele zawartości kontrolek: ContentControl pojedyncza zawartość

Modele zawartości. WPF wykorzystuje 4 modele zawartości kontrolek: ContentControl pojedyncza zawartość WPF Programowanie w środowisku Windows Wykład 8-1 Kontrolki Modele zawartości WPF wykorzystuje 4 modele zawartości kontrolek: ContentControl pojedyncza zawartość Wykład 8-2 używane przez: Button, ButtonBase,

Bardziej szczegółowo

Programowanie obiektowe i zdarzeniowe wykład 1 Wprowadzenie do programowania zdarzeniowego

Programowanie obiektowe i zdarzeniowe wykład 1 Wprowadzenie do programowania zdarzeniowego Programowanie obiektowe i zdarzeniowe wykład 1 Wprowadzenie do programowania zdarzeniowego 1/34 Wymagania wstępne: Znajomość podstaw programowania. Efekty kształcenia: Umiejętność tworzenia prostych aplikacji

Bardziej szczegółowo

1. Wprowadzenie do WPF i XAML. Tworzenie interfejsu użytkownika.

1. Wprowadzenie do WPF i XAML. Tworzenie interfejsu użytkownika. Tematy zajęć: 1. Wprowadzenie do WPF i XAML. Tworzenie interfejsu użytkownika. 2. Posługiwanie się podstawowymi kontrolkami. 3. Własności i zdarzenia w WPF. 4. Zadania aplikacji. Okna. 5. Polecenia. Zasoby.

Bardziej szczegółowo

XAML Extensible Application Markup Language

XAML Extensible Application Markup Language XAML Extensible Application Markup Language Opis i zastosowania... Maciej Poniedziałek WfiIS IS rok 5 XAML: Język oparty o XML zoptymalizowanym do opisu bogatych, wizualnych interfejsów, takich jak tworzone

Bardziej szczegółowo

Ćwiczenie 14 Dmuchawce

Ćwiczenie 14 Dmuchawce Dmuchawce Celem ćwiczenia jest wykorzystanie właściwości programu Flash do generowania animacji o charakterze losowym. Prezentowany efekt można wykorzystać do wielu różnych celów np. spadające liście,

Bardziej szczegółowo

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia nowego projektu (poniżej są utworzone projekty) Po kliknięciu

Bardziej szczegółowo

Windows Presentation Foundation

Windows Presentation Foundation Windows Presentation Foundation Tworzenie interfejsu użytkownika Współpraca projektanta i programisty (XAML) Interfejsy atrakcyjniejsze graficznie (np. 3D) Aplikacje internetowe (XBAP) Użycie Layoutów

Bardziej szczegółowo

Dynamiczne i wydajne tworzenie interfejsu. Piotr Michałkiewicz

Dynamiczne i wydajne tworzenie interfejsu. Piotr Michałkiewicz Dynamiczne i wydajne tworzenie interfejsu użytkownika Piotr Michałkiewicz Główne punkty prezentacji View i ViewGroup w kodzie OnClick() i Tag Space widget i GridLayout Dynamiczne dodawanie widgetów Animations

Bardziej szczegółowo

Ćwiczenie 4 - Podstawy materiałów i tekstur. Renderowanie obrazu i animacji

Ćwiczenie 4 - Podstawy materiałów i tekstur. Renderowanie obrazu i animacji Ćwiczenie 4 - Podstawy materiałów i tekstur. Renderowanie obrazu i animacji Materiał jest zbiorem informacji o właściwościach powierzchni. Składa się na niego kolor, sposób odbijania światła i sposób nakładania

Bardziej szczegółowo

Przykładowa dostępna aplikacja w Visual Studio - krok po kroku

Przykładowa dostępna aplikacja w Visual Studio - krok po kroku Przykładowa dostępna aplikacja w Visual Studio - krok po kroku Zadaniem poniższego opisu jest pokazanie, jak stworzyć aplikację z dostępnym interfejsem. Sama aplikacja nie ma konkretnego zastosowania i

Bardziej szczegółowo

Część XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład.

Część XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład. Część XVII C++ Funkcje Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład. 2 3 Tworzymy deklarację i definicję funkcji o nazwie pobierzln() Funkcja

Bardziej szczegółowo

Górnicki Mateusz 17681

Górnicki Mateusz 17681 Streszczenie referatu pt.: Obróbka i montaż wideo w programie Sony Vegas -ścieżki audio/wideo, przejścia, filtry, rendering i inne Tytuł streszczenia: Maskowanie i animacja w programie Sony Vegas Pro Data

Bardziej szczegółowo

Adobe InDesign lab.1 Jacek Wiślicki, Paweł Kośla. Spis treści: 1 Podstawy pracy z aplikacją Układ strony... 2.

Adobe InDesign lab.1 Jacek Wiślicki, Paweł Kośla. Spis treści: 1 Podstawy pracy z aplikacją Układ strony... 2. Spis treści: 1 Podstawy pracy z aplikacją... 2 1.1 Układ strony... 2 strona 1 z 7 1 Podstawy pracy z aplikacją InDesign jest następcą starzejącego się PageMakera. Pod wieloma względami jest do niego bardzo

Bardziej szczegółowo

Dodanie nowej formy do projektu polega na:

Dodanie nowej formy do projektu polega na: 7 Tworzenie formy Forma jest podstawowym elementem dla tworzenia interfejsu użytkownika aplikacji systemu Windows. Umożliwia uruchomienie aplikacji, oraz komunikację z użytkownikiem aplikacji. W trakcie

Bardziej szczegółowo

Ćwiczenie 5 Animacja tekstu

Ćwiczenie 5 Animacja tekstu Animacja tekstu W tym ćwiczeniu stworzymy animowany napis, np. KURS FLASHA. Pobierz przykład (http://jsekulska.kis.p.lodz.pl/studia.htm). Krok 1 Tworzenie tekstu Otwórz nowy plik i ustal rozmiar stołu

Bardziej szczegółowo

Arkadiusz Kalicki, Lech Mankiewicz Plugin Webcam dla SalsaJ Podręcznik użytkownika

Arkadiusz Kalicki, Lech Mankiewicz Plugin Webcam dla SalsaJ Podręcznik użytkownika Projekt logo: Armella Leung, www.armella.fr.to Arkadiusz Kalicki, Lech Mankiewicz Plugin Webcam dla SalsaJ Podręcznik użytkownika Spis treści Spis treści... 1 Instalacja... 2 Posługiwanie się pluginem...

Bardziej szczegółowo

Wizualne systemy programowania. Wykład 11 Grafika. dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD

Wizualne systemy programowania. Wykład 11 Grafika. dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Wykład 11 Grafika 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Grafika GDI+ GDI+ - Graphics Device Interface jeden z trzech podstawowych komponentów

Bardziej szczegółowo

GRAFIKA WEKTOROWA. WYKŁAD 1 Wprowadzenie do grafiki wektorowej. Jacek Wiślicki Katedra Informatyki Stosowanej

GRAFIKA WEKTOROWA. WYKŁAD 1 Wprowadzenie do grafiki wektorowej. Jacek Wiślicki Katedra Informatyki Stosowanej GRAFIKA WEKTOROWA WYKŁAD 1 Wprowadzenie do grafiki wektorowej Jacek Wiślicki Katedra Informatyki Stosowanej Grafika rastrowa i wektorowa W grafice dwuwymiarowej wyróżnia się dwa rodzaje obrazów: rastrowe,

Bardziej szczegółowo

1 Zrozumieć Flasha... 1 Co można zrobić za pomocą Flasha?... 2 Tworzenie obrazków do strony 3 Animowanie witryny 4 Tworzenie filmów

1 Zrozumieć Flasha... 1 Co można zrobić za pomocą Flasha?... 2 Tworzenie obrazków do strony  3 Animowanie witryny  4 Tworzenie filmów 1 Zrozumieć Flasha... 1 Co można zrobić za pomocą Flasha?... 2 Tworzenie obrazków do strony WWW... 3 Animowanie witryny WWW... 4 Tworzenie filmów interaktywnych... 6 Wyświetlanie przycisków... 7 Transformacja

Bardziej szczegółowo

1. Dockbar, CMS + wyszukiwarka aplikacji Dodawanie portletów Widok zawartości stron... 3

1. Dockbar, CMS + wyszukiwarka aplikacji Dodawanie portletów Widok zawartości stron... 3 DODAJEMY TREŚĆ DO STRONY 1. Dockbar, CMS + wyszukiwarka aplikacji... 2 2. Dodawanie portletów... 3 Widok zawartości stron... 3 Omówienie zawartości portletu (usunięcie ramki itd.)... 4 3. Ikonki wybierz

Bardziej szczegółowo

Grafika Komputerowa Materiały Laboratoryjne

Grafika Komputerowa Materiały Laboratoryjne Grafika Komputerowa Materiały Laboratoryjne Laboratorium 14 Blender, podstawy animacji Wstęp Zagadnienie tworzenia animacji 3D w Blenderze jest bardzo szerokie i wiąże się z wieloma grupami rozwiązao.

Bardziej szczegółowo

6.4. Efekty specjalne

6.4. Efekty specjalne 6.4. Efekty specjalne Rozdział ten będzie poświęcony efektom specjalnym, które również znalazły swoje zastosowanie w programie MS PowerPoint 2007. Pierwszym typem efektów jaki zostanie poddany naszej analizie

Bardziej szczegółowo

Sieciowe Technologie Mobilne. Laboratorium 2

Sieciowe Technologie Mobilne. Laboratorium 2 Sieciowe Technologie Mobilne Laboratorium 2 Tworzenie wieloplatformowych aplikacji mobilnych przy użyciu biblioteki PhoneGap. Łukasz Kamiński Laboratorium 2 Na dzisiejszym laboratorium skupimy się na implementacji

Bardziej szczegółowo

Aleksandra Zając. Raport. Blender. Pokemon: Eevee

Aleksandra Zając. Raport. Blender. Pokemon: Eevee Aleksandra Zając Raport Blender Pokemon: Eevee 1. Modelowanie Przed rozpoczęciem modelowania do Blendera załadowałam obraz przedstawiający wybranego pokemona, aby podczas modelowania jak najlepiej odwzorować

Bardziej szczegółowo

Programowanie telefonów z Windows Phone 7, cz. 5

Programowanie telefonów z Windows Phone 7, cz. 5 Programowanie telefonów z Windows Phone 7, cz. 5 Piotr M. Szczypiński Instytut Elektroniki Politechniki Łódzkiej http://www.eletel.p.lodz.pl/pms/ piotr.szczypinski@p.lodz.pl Budynek B9, II piętro, pokój

Bardziej szczegółowo

Autodesk 3D Studio MAX Animacja komputerowa i praca kamery

Autodesk 3D Studio MAX Animacja komputerowa i praca kamery Autodesk 3D Studio MAX Animacja komputerowa i praca kamery dr inż. Andrzej Czajkowski Instyt Sterowania i Systemów Informatycznych Wydział Informatyki, Elektrotechniki i Automatyki 5 maja 2017 1 / 22 Plan

Bardziej szczegółowo

Rozdział 3. Zapisywanie stanu aplikacji w ustawieniach lokalnych

Rozdział 3. Zapisywanie stanu aplikacji w ustawieniach lokalnych Rozdział 3. Zapisywanie stanu aplikacji w ustawieniach lokalnych Jacek Matulewski Materiały dla Podyplomowego Studium Programowania i Zastosowania Komputerów, sekcja Projektowanie i tworzenie aplikacji

Bardziej szczegółowo

MVVM i XAML w Visual Studio 2015 / Jacek Matulewski. Gliwice, cop Spis treści

MVVM i XAML w Visual Studio 2015 / Jacek Matulewski. Gliwice, cop Spis treści MVVM i XAML w Visual Studio 2015 / Jacek Matulewski. Gliwice, cop. 2016 Spis treści Część I Wzorzec MVVM. Podstawy XAML 7 Rozdział 1. Szybkie wprowadzenie do XAML 9 Wzorzec widoku autonomicznego 9 Tworzenie

Bardziej szczegółowo

Silverlight. Od podstaw

Silverlight. Od podstaw Silverlight. Od podstaw Autor: Pawe³ Maciejewski, Pawe³ Redmerski ISBN: 978-83-246-1984-9 Tytu³ orygina³u: COM+ Developer's Guide Format: 158x235, stron: 208 Silverlight nowy sposób na tworzenie aplikacji

Bardziej szczegółowo

xmlns:prism=http://www.codeplex.com/prism c. <ContentControl prism:regionmanager.regionname="mainregion" />

xmlns:prism=http://www.codeplex.com/prism c. <ContentControl prism:regionmanager.regionname=mainregion /> 1 Tworzenie Shella a. W pierwszej kolejności tworzymy nowy projekt: WPF Application. Name: Shell SolutionName: PrismApp b. Dodajemy bibliotekę PRISM za pomocą NuGet Managera (dla.net Framework 4.5 Prism

Bardziej szczegółowo

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 006 Wydajność systemu 2 SO i SK/WIN Najprostszym sposobem na poprawienie wydajności systemu, jeżeli dysponujemy zbyt małą ilością pamięci RAM

Bardziej szczegółowo

Animacja. Instrukcja wykonania animacji metodą klatek kluczowych. Autor: Bartosz Kowalczyk. Blender 2.61

Animacja. Instrukcja wykonania animacji metodą klatek kluczowych. Autor: Bartosz Kowalczyk. Blender 2.61 Animacja Instrukcja wykonania animacji metodą klatek kluczowych Autor: Bartosz Kowalczyk Blender 2.61 Do wykonywania prostych animacji, np. ruchu, zmiany koloru, kształtu, itp. wykorzystuje się technikę

Bardziej szczegółowo

Informatyka II. Laboratorium Aplikacja okienkowa

Informatyka II. Laboratorium Aplikacja okienkowa Informatyka II Laboratorium Aplikacja okienkowa Założenia Program będzie obliczał obwód oraz pole trójkąta na podstawie podanych zmiennych. Użytkownik będzie poproszony o podanie długości boków trójkąta.

Bardziej szczegółowo

Opis Edytora postaci Logomocji

Opis Edytora postaci Logomocji Opis Edytora postaci Logomocji Przyciski na pasku narzędzi Przyciski Wygląd Opis W Edytorze postaci można otwierać pliki o rozszerzeniach: Otwórz plik postaci lgf (plik Edytora postaci), imp (plik projektu

Bardziej szczegółowo

Podręczna pomoc Microsoft Power Point 2007

Podręczna pomoc Microsoft Power Point 2007 Podręczna pomoc Microsoft Power Point 2007 Animacja (przejście) slajdu... 2 Wybór przejścia slajdu... 2 Ustawienie dźwięku dla przejścia... 3 Ustawienie szybkości przejścia slajdu... 4 Sposób przełączenia

Bardziej szczegółowo

Ćwiczenie 1 Galeria zdjęć

Ćwiczenie 1 Galeria zdjęć Galeria zdjęć Pobierz przykład (http://jsekulska.kis.p.lodz.pl/studia.htm). Krok 1 Ustawienie stołu montażowego Otwieramy nowy plik i nazywamy go (np. gallery.fla). Ustawiamy wielkość pola roboczego na

Bardziej szczegółowo

Ćwiczenie 1 Automatyczna animacja ruchu

Ćwiczenie 1 Automatyczna animacja ruchu Automatyczna animacja ruchu Celem ćwiczenia jest poznanie procesu tworzenia automatycznej animacji ruchu, która jest podstawą większości projektów we Flashu. Ze względu na swoją wszechstronność omawiana

Bardziej szczegółowo

Ćwiczenie 6 Animacja trójwymiarowa

Ćwiczenie 6 Animacja trójwymiarowa Animacja trójwymiarowa Wstęp Jedną z nowości Flasha CS4 i wyższych wersji jest tworzenie animacji 3D. Są do tego przeznaczone narzędzia Obrót 3D (W) i Translacja 3D (G). Narzędzia te działają na klipach

Bardziej szczegółowo

Ustawienia ogólne. Ustawienia okólne są dostępne w panelu głównym programu System Sensor, po kliknięciu ikony

Ustawienia ogólne. Ustawienia okólne są dostępne w panelu głównym programu System Sensor, po kliknięciu ikony Ustawienia ogólne Ustawienia okólne są dostępne w panelu głównym programu System Sensor, po kliknięciu ikony Panel główny programu System Sensor (tylko dla wersja V2, V3, V4) Panel główny programu System

Bardziej szczegółowo

1 TEMAT LEKCJI: 2 CELE LEKCJI: 3 METODY NAUCZANIA 4 ŚRODKI DYDAKTYCZNE. Scenariusz lekcji. Scenariusz lekcji. 2.1 Wiadomości: 2.

1 TEMAT LEKCJI: 2 CELE LEKCJI: 3 METODY NAUCZANIA 4 ŚRODKI DYDAKTYCZNE. Scenariusz lekcji. Scenariusz lekcji. 2.1 Wiadomości: 2. Motyle Scenariusz lekcji Scenariusz lekcji 1 TEMAT LEKCJI: Motyle 2 CELE LEKCJI: 2.1 Wiadomości: Uczeń potrafi: opisać sposób tworzenia animacji; opisać sposób zmiany postaci żółwia; wyjaśnić pojęcie klatki;

Bardziej szczegółowo

1. Umieść kursor w miejscu, w którym ma być wprowadzony ozdobny napis. 2. Na karcie Wstawianie w grupie Tekst kliknij przycisk WordArt.

1. Umieść kursor w miejscu, w którym ma być wprowadzony ozdobny napis. 2. Na karcie Wstawianie w grupie Tekst kliknij przycisk WordArt. Grafika w dokumencie Wprowadzanie ozdobnych napisów WordArt Do tworzenia efektownych, ozdobnych napisów służy obiekt WordArt. Aby wstawić do dokumentu obiekt WordArt: 1. Umieść kursor w miejscu, w którym

Bardziej szczegółowo

Aplikacja kret dla App Inventor 2

Aplikacja kret dla App Inventor 2 1 S t r o n a Aplikacja kret dla App Inventor 2 W tej grze kret pojawia się w przypadkowych miejscach planszy, a gracz zdobywa punkty, dotykając go, zanim ten odskoczy. Jest to przykład prostej gry z wykorzystaniem

Bardziej szczegółowo

Misja#3. Robimy film animowany.

Misja#3. Robimy film animowany. Po dzisiejszej lekcji będziesz: tworzyć programy animujące obiekty na ekranie komputera określać położenie i orientację obiektu w kartezjańskim układzie współrzędnych Zauważ że... Ludzkie oko charakteryzuje

Bardziej szczegółowo

Laboratorium programowania urządzeń mobilnych

Laboratorium programowania urządzeń mobilnych Laboratorium programowania urządzeń mobilnych Wprowadzenie Hierarcha klas dla aplikacji typu Silverlight tworzonej przez Visual Studio jest następująca: Obsługa ekranu W urządzeniach z Windows Phone 7

Bardziej szczegółowo

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel etrader Pekao Podręcznik użytkownika Strumieniowanie Excel Spis treści 1. Opis okna... 3 2. Otwieranie okna... 3 3. Zawartość okna... 4 3.1. Definiowanie listy instrumentów... 4 3.2. Modyfikacja lub usunięcie

Bardziej szczegółowo

using System;... using System.Threading;

using System;... using System.Threading; Kontekst synchronizacji Wątek w platformie.net może posiadać kontekst synchronizacji reprezentowany przez instancję klasy SynchronizationContext lub jej klasy potomnej. Jeżeli wątek posiada taki kontekst

Bardziej szczegółowo

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Pracownia internetowa w każdej szkole (edycja Jesień 2007) Instrukcja numer D1/05_03/Z Pracownia internetowa w każdej szkole (edycja Jesień 2007) Opiekun pracowni internetowej cz. 1 Ręczne zakładanie kont użytkowników (D1) Jak ręcznie założyć konto w systemie

Bardziej szczegółowo

INTERAKTYWNA KOMUNIKACJA WIZUALNA. Flash - podstawy

INTERAKTYWNA KOMUNIKACJA WIZUALNA. Flash - podstawy INTERAKTYWNA KOMUNIKACJA WIZUALNA Flash - podstawy Adobe Flash (dawniej Macromedia Flash) program komputerowy, technologia tworzenia animacji z wykorzystaniem grafiki wektorowej. Powstałe pliki *.swf można

Bardziej szczegółowo

- dodaj obiekt tekstowy: /** Maciej */ Stage { title : "First JavaFX App" scene: Scene { width: 300 height: 300 content: [ ] } }

- dodaj obiekt tekstowy: /** Maciej */ Stage { title : First JavaFX App scene: Scene { width: 300 height: 300 content: [ ] } } 1. Krótki opis technologii JavaFX jest technologią do tworzenia bogatych wizualnie aplikacji internetowych (RIA Rich Internet Application), przeznaczona nie tylko pod wiele systemów operacyjnych, ale też

Bardziej szczegółowo

Animacje z zastosowaniem suwaka i przycisku

Animacje z zastosowaniem suwaka i przycisku Animacje z zastosowaniem suwaka i przycisku Animacja Pole równoległoboku Naukę tworzenia animacji uruchamianych na przycisk zaczynamy od przygotowania stosunkowo prostej animacji, za pomocą, której można

Bardziej szczegółowo

Delphi podstawy programowania. Środowisko Delphi

Delphi podstawy programowania. Środowisko Delphi Delphi podstawy programowania Środowisko Delphi Olsztyn 2004 Delphi Programowanie obiektowe - (object-oriented programming) jest to metodologia tworzeniu programów komputerowych definiująca je jako zbiór

Bardziej szczegółowo

Komputery I (2) Panel sterowania:

Komputery I (2) Panel sterowania: Komputery I (2) Paweł Jamer Panel sterowania: Podstawowym miejscem z którego zarządzamy ustawieniami systemu Windows jest panel sterowania. Znaleźć tam możemy wszelkiego rodzaju narzędzia umożliwiające

Bardziej szczegółowo

Język JAVA podstawy. wykład 2, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. wykład 2, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 2, część 2 Jacek Rumiński 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa

Bardziej szczegółowo

Systemy multimedialne 2015

Systemy multimedialne 2015 Systemy multimedialne 2015 Nazwa nowej warstwy nie ma znaczenia pod względem funkcjonalnym. Warto jednak ją nadać, łatwiej możemy się wtedy poruszać po bardziej rozbudowanym projekcie. Domyślny rozmiar

Bardziej szczegółowo

Przetwarzanie grafiki rastrowej na wektorową

Przetwarzanie grafiki rastrowej na wektorową Przetwarzanie grafiki rastrowej na wektorową Inaczej wektoryzacja, lub trasowanie, czyli zastąpienie rysunku rastrowego rysunkiem wektorowym. Wykonanie: Piotr Dróżdż Podstawowe różnice między grafiką wektorową,

Bardziej szczegółowo

Przewodnik po soczewkach

Przewodnik po soczewkach Przewodnik po soczewkach 1. Wchodzimy w program Corel Draw 11 następnie klikamy Plik /Nowy => Nowy Rysunek. Następnie wchodzi w Okno/Okno dokowane /Teczka podręczna/ Przeglądaj/i wybieramy plik w którym

Bardziej szczegółowo

PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec

PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec PROE wykład 2 operacje na wskaźnikach dr inż. Jacek Naruniec Zmienne automatyczne i dynamiczne Zmienne automatyczne: dotyczą kontekstu, po jego opuszczeniu są usuwane, łatwiejsze w zarządzaniu od zmiennych

Bardziej szczegółowo

Multimedia i interfejsy. Ćwiczenie 5 HTML5

Multimedia i interfejsy. Ćwiczenie 5 HTML5 Multimedia i interfejsy Ćwiczenie 5 HTML5 Celem ćwiczenia jest poznanie nowych elementów wprowadzonych w HTML 5, do których należą m.in. video oraz canvas. Poniższy opis przedstawia sposób użycia tych

Bardziej szczegółowo

TabControl kontrolka odpowiedzialna za wyświetlenie zestawu zakładek. PageControl podobnie jak TabControl ale posiada wbudowane strony.

TabControl kontrolka odpowiedzialna za wyświetlenie zestawu zakładek. PageControl podobnie jak TabControl ale posiada wbudowane strony. Komponenty VCL TabControl kontrolka odpowiedzialna za wyświetlenie zestawu zakładek. PageControl podobnie jak TabControl ale posiada wbudowane strony. ImageList - reprezentuje kolekcje obrazków o tej samej

Bardziej szczegółowo

BAZY DANYCH Panel sterujący

BAZY DANYCH Panel sterujący BAZY DANYCH Panel sterujący Panel sterujący pełni z reguły rolę centrum, z którego wydajemy polecenia i uruchamiamy różnorodne, wcześniej zdefiniowane zadania, np. wyświetlamy formularze lub drukujemy

Bardziej szczegółowo

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania 1) Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z podstawowymi elementami obiektowymi systemu Windows wykorzystując Visual Studio 2008 takimi jak: przyciski, pola tekstowe, okna pobierania danych

Bardziej szczegółowo

Badanie ruchu złożenia

Badanie ruchu złożenia Badanie ruchu złożenia W wersji Standard programu SolidWorks mamy do dyspozycji dwie aplikacje: Podstawowy ruch symulacja ruchu z użyciem grawitacji, sprężyn, napędów oraz kontaktu między komponentami.

Bardziej szczegółowo

Visual Studio instalacja

Visual Studio instalacja Visual Studio 2017 - instalacja Do tej pory napisaliśmy wiele programów, z czego niemal wszystkie były aplikacjami konsolowymi. Najwyższy więc czas zająć się tworzeniem aplikacji z graficznym interfejsem

Bardziej szczegółowo

Compas 2026 Vision Instrukcja obsługi do wersji 1.07

Compas 2026 Vision Instrukcja obsługi do wersji 1.07 Compas 2026 Vision Instrukcja obsługi do wersji 1.07 1 2 Spis treści Integracja...5 1.Compas 2026 Lan...5 Logowanie...7 Użytkownicy...8 Raporty...10 Tworzenie wizualizacji Widoki...12 1.Zarządzanie widokami...12

Bardziej szczegółowo

Adobe Photoshop Dodatek do lab4 J.Wiślicki, A.Romanowski;

Adobe Photoshop Dodatek do lab4 J.Wiślicki, A.Romanowski; Spis treści 1. Proste efekty... 2 1.1. Cień...2 1.2. Planeta...5 1.3. Mandarynkowa kostka...8 Grafika rastrowa strona 1 z 9 1. Proste efekty Poniższe ćwiczenia dotyczą prostych (aczkolwiek ciekawych) efektów

Bardziej szczegółowo

Ćw. I Projektowanie opakowań transportowych cz. 1 Ćwiczenia z Corel DRAW

Ćw. I Projektowanie opakowań transportowych cz. 1 Ćwiczenia z Corel DRAW Ćw. I Projektowanie opakowań transportowych cz. 1 Ćwiczenia z Corel DRAW Celem ćwiczenia jest wstępne przygotowanie do wykonania projektu opakowania transportowego poprzez zapoznanie się z programem Corel

Bardziej szczegółowo

WASM AppInventor Lab 3. Rysowanie i animacja po kanwie PODSTAWY PRACY Z KANWAMI

WASM AppInventor Lab 3. Rysowanie i animacja po kanwie PODSTAWY PRACY Z KANWAMI Rysowanie i animacja po kanwie PODSTAWY PRACY Z KANWAMI Kanwa, to komponent służący do rysowania. Można ją dodać w Designerze przeciągając komponent Canvas z sekcji Basic. W celu ustawienia obrazka jako

Bardziej szczegółowo

5.4. Efekty specjalne

5.4. Efekty specjalne 5.4. Efekty specjalne Przedstawiliśmy już sobie sporo kwestii związanych z dodawaniem, edytowaniem czy usuwaniem elementów, które możemy zamieścić w prezentacji. Ale pomyłką było by stwierdzenie, że więcej

Bardziej szczegółowo

MsAccess - ćwiczenie nr 3 (zao) Budowa formularzy

MsAccess - ćwiczenie nr 3 (zao) Budowa formularzy Opracowanie: dr hab. Marzena Nowakowska, dr Maria Szczepańska, mgr Grażyna Gębal MsAccess - ćwiczenie nr 3 (zao) Budowa formularzy 1. Opracować formularz Pracownicy edycja wg wzorca przedstawionego na

Bardziej szczegółowo

Projekt Hurtownia, realizacja rejestracji dostaw produktów

Projekt Hurtownia, realizacja rejestracji dostaw produktów Projekt Hurtownia, realizacja rejestracji dostaw produktów Ćwiczenie to będzie poświęcone zaprojektowaniu formularza pozwalającego na rejestrację dostaw produktów dla naszej hurtowni. Dane identyfikujące

Bardziej szczegółowo

Słowa kluczowe Sterowanie klawiaturą, klawiatura, klawisze funkcyjne, przesuwanie obiektów ekranowych, wydawanie poleceń za pomocą klawiatury

Słowa kluczowe Sterowanie klawiaturą, klawiatura, klawisze funkcyjne, przesuwanie obiektów ekranowych, wydawanie poleceń za pomocą klawiatury Obsługa za pomocą klawiatury Różnego typu interfejsy wykorzystują różne metody reagowania i wydawania poleceń przez użytkownika. W środowisku graficznym najpopularniejsza jest niewątpliwie mysz i inne

Bardziej szczegółowo

PyX jest pakietem Pythona do grafiki wektorowej. Pozawala zatem tworzyd pliki EPS oraz PDF.

PyX jest pakietem Pythona do grafiki wektorowej. Pozawala zatem tworzyd pliki EPS oraz PDF. PyX jest pakietem Pythona do grafiki wektorowej. Pozawala zatem tworzyd pliki EPS oraz PDF. Aby go zainstalowad należy rozpakowad pakiet o nazwie PyX-0.10 do odpowiedniego katalogu. Będzie on dostępny

Bardziej szczegółowo

Instrukcja laboratoryjna cz.3

Instrukcja laboratoryjna cz.3 Programowanie aplikacji internetowych 2014/2015 Instrukcja laboratoryjna cz.3 Technologia Silverlight cz.1 Prowadzący: Tomasz Goluch Wersja: 4.1 I. Szablon aplikacji oparty o platformę nawigacyjną. Cel:

Bardziej szczegółowo

Dodawanie grafiki i obiektów

Dodawanie grafiki i obiektów Dodawanie grafiki i obiektów Word nie jest edytorem obiektów graficznych, ale oferuje kilka opcji, dzięki którym można dokonywać niewielkich zmian w rysunku. W Wordzie możesz zmieniać rozmiar obiektu graficznego,

Bardziej szczegółowo

1. Wstęp Pierwsze uruchomienie Przygotowanie kompozycji Wybór kompozycji Edycja kompozycji...

1. Wstęp Pierwsze uruchomienie Przygotowanie kompozycji Wybór kompozycji Edycja kompozycji... Spis treści 1. Wstęp... 3 2. Pierwsze uruchomienie... 3 3. Przygotowanie kompozycji... 4 3.1. Wybór kompozycji... 4 3.2. Edycja kompozycji... 5 3.2.1. Dodawanie pliku Flash przygotowanie plików Flash...

Bardziej szczegółowo

Rysunek 1: Okno timeline wykorzystywane do tworzenia animacji.

Rysunek 1: Okno timeline wykorzystywane do tworzenia animacji. Ćwiczenie 5 - Tworzenie animacji Podczas tworzenia prostej animacji wykorzystywać będziemy okno Timeline domyślnie ustawione na dole okna Blendera (Rys. 1). Proces tworzenia animacji polega na stworzeniu

Bardziej szczegółowo

Obsługa grafiki w Delphi, rysowanie na płótnie, obsługa myszki, zapisywanie obrazków do plików, bitmapy pozaekranowe.

Obsługa grafiki w Delphi, rysowanie na płótnie, obsługa myszki, zapisywanie obrazków do plików, bitmapy pozaekranowe. Programowanie Wizualno-Obiektowe (studia zaoczne - inżynieria komputerowa) Zajęcia z Delphi 5, program 1 Temat: Zadanie: Obsługa grafiki w Delphi, rysowanie na płótnie, obsługa myszki, zapisywanie obrazków

Bardziej szczegółowo

I. Wstawianie rysunków

I. Wstawianie rysunków I. Wstawianie rysunków Wstawiane rysunku Bez parametrów: Tekst alternatywny Tytuł obrazka

Bardziej szczegółowo

Tworzenie prezentacji w MS PowerPoint

Tworzenie prezentacji w MS PowerPoint Tworzenie prezentacji w MS PowerPoint Program PowerPoint dostarczany jest w pakiecie Office i daje nam możliwość stworzenia prezentacji oraz uatrakcyjnienia materiału, który chcemy przedstawić. Prezentacje

Bardziej szczegółowo

Systemy wirtualnej rzeczywistości. Komponenty i serwisy

Systemy wirtualnej rzeczywistości. Komponenty i serwisy Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Systemy wirtualnej rzeczywistości Laboratorium Komponenty i serwisy Wstęp: W trzeciej części przedstawione zostaną podstawowe techniki

Bardziej szczegółowo

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz Zagadnienia 1. Delegaty wiązane, właściwości indeksowane 2. Delegaty niewiązane 3. Nowa wersja kalkulatora, delegaty

Bardziej szczegółowo

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak Java: otwórz okienko Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU klasy wewnętrzne, lokalne i anonimowe biblioteka AWT zestaw Swing JFrame JPanel komponenty obsługa zdarzeń

Bardziej szczegółowo

Szybkie tworzenie grafiki w GcIde

Szybkie tworzenie grafiki w GcIde Szybkie tworzenie grafiki w GcIde Opracował: Ryszard Olchawa Poniższy opis dotyczy aplikacji okienkowej w systemie Windows lub Linux bazującej na obiektowej bibliotece rofrm stworzonej w środowisku GcIde.

Bardziej szczegółowo

Lokalizacja jest to położenie geograficzne zajmowane przez aparat. Miejsce, w którym zainstalowane jest to urządzenie.

Lokalizacja jest to położenie geograficzne zajmowane przez aparat. Miejsce, w którym zainstalowane jest to urządzenie. Lokalizacja Informacje ogólne Lokalizacja jest to położenie geograficzne zajmowane przez aparat. Miejsce, w którym zainstalowane jest to urządzenie. To pojęcie jest używane przez schematy szaf w celu tworzenia

Bardziej szczegółowo

Jak uzyskać efekt 3D na zdjęciach z wykorzystaniem programu InkScape

Jak uzyskać efekt 3D na zdjęciach z wykorzystaniem programu InkScape Jak uzyskać efekt 3D na zdjęciach z wykorzystaniem programu InkScape Program InkScape jest bezpłatnym polskojęzycznym programem grafiki wektorowej do pobrania ze strony http://www.dobreprogramy.pl/inkscape,program,windows,12218.html.

Bardziej szczegółowo

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows 7

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows 7 5.0 5.3.3.5 Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows 7 Wprowadzenie Wydrukuj i uzupełnij to laboratorium. W tym laboratorium, będziesz korzystać z narzędzi administracyjnych

Bardziej szczegółowo

Projekt Hurtownia, realizacja rejestracji dostaw produktów

Projekt Hurtownia, realizacja rejestracji dostaw produktów Projekt Hurtownia, realizacja rejestracji dostaw produktów Ćwiczenie to będzie poświęcone zaprojektowaniu formularza pozwalającego na rejestrację dostaw produktów dla naszej hurtowni. Dane identyfikujące

Bardziej szczegółowo

Prezentacje multimedialne w Powerpoint

Prezentacje multimedialne w Powerpoint Prezentacje multimedialne w Powerpoint Ćwiczenie 1. Tworzenie prezentacji multimedialnej. POMOC DO ĆWICZENIA Dostęp do pomocy w programie: menu Pomoc Microsoft Office PowerPoint Pomoc. Aby ustawić tło

Bardziej szczegółowo

CorelDRAW. 1. Rysunek rastrowy a wektorowy. 2. Opis okna programu

CorelDRAW. 1. Rysunek rastrowy a wektorowy. 2. Opis okna programu 1. Rysunek rastrowy a wektorowy CorelDRAW Różnice między rysunkiem rastrowym (czasami nazywanym bitmapą) a wektorowym są olbrzymie. Szczególnie widoczne są podczas skalowania (czyli zmiany rozmiaru) rysunku

Bardziej szczegółowo

Dokument hipertekstowy

Dokument hipertekstowy Dokument hipertekstowy Laboratorium 5 Box model i layouty mgr inż. Krzysztof Wróbel Katedra Lingwistyki Komputerowej Wysokość i szerokość domyślna szerokość elementu inline jest związana z jego zawartością

Bardziej szczegółowo

Ćwiczenie 23 Praca z plikiem.psd

Ćwiczenie 23 Praca z plikiem.psd Praca z plikiem.psd To ćwiczenie wymagać będzie dużego nakładu samodzielnej pracy z zaimportowanym plikiem.psd, w którym zawarty jest layout strony internetowej. Faza importowania pliku będzie pokazana

Bardziej szczegółowo

Podstawy pozycjonowania CSS

Podstawy pozycjonowania CSS Podstawy pozycjonowania CSS Żeby pokazać w jaki sposób przeglądarka rozkłada elementy na stronie posłużę się prostym przykładowym fragmentem kodu html. div id="before"

Bardziej szczegółowo

Instrukcja postępowania użytkownika programów LiderSim i ProLider w związku z wprowadzeniem od r. nowych stawek VAT.

Instrukcja postępowania użytkownika programów LiderSim i ProLider w związku z wprowadzeniem od r. nowych stawek VAT. Instrukcja postępowania użytkownika programów LiderSim i ProLider w związku z wprowadzeniem od 1.01.2011 r. nowych stawek VAT. 1. Utworzenie nowego zestawu danych tj. zestawu danych na rok 2011. Menu Plik

Bardziej szczegółowo