Mbonea commited on
Commit
14a8e84
·
1 Parent(s): 297f51d

added zoom

Browse files
Remotion-app/src/HelloWorld/ImageStream.jsx CHANGED
@@ -1,4 +1,4 @@
1
- import {Series} from 'remotion';
2
  import React from 'react';
3
  import {staticFile, useVideoConfig, Img} from 'remotion';
4
  import {slide} from '@remotion/transitions/slide';
@@ -6,6 +6,8 @@ import imageSequences from './Assets/ImageSequences.json';
6
  import {TransitionSeries, linearTiming} from '@remotion/transitions';
7
  export default function ImageStream() {
8
  const {fps} = useVideoConfig();
 
 
9
  return (
10
  <TransitionSeries
11
  style={{
@@ -21,13 +23,33 @@ export default function ImageStream() {
21
  }}
22
  >
23
  {imageSequences.map((entry, index) => {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
  return (
25
  <TransitionSeries.Sequence
26
  key={index}
27
  from={fps * entry.start}
28
  durationInFrames={fps * (entry.end - entry.start)}
29
  >
30
- <Img src={staticFile(entry.name)} />
 
 
 
 
 
 
31
  </TransitionSeries.Sequence>
32
  );
33
  })}
 
1
+ import {Series, useCurrentFrame} from 'remotion';
2
  import React from 'react';
3
  import {staticFile, useVideoConfig, Img} from 'remotion';
4
  import {slide} from '@remotion/transitions/slide';
 
6
  import {TransitionSeries, linearTiming} from '@remotion/transitions';
7
  export default function ImageStream() {
8
  const {fps} = useVideoConfig();
9
+
10
+ const frame = useCurrentFrame();
11
  return (
12
  <TransitionSeries
13
  style={{
 
23
  }}
24
  >
25
  {imageSequences.map((entry, index) => {
26
+ const durationInFrames = (entry.end - entry.start) * fps;
27
+ const zoom = interpolate(
28
+ frame,
29
+ [
30
+ 0,
31
+ durationInFrames / 4,
32
+ 2 * (durationInFrames / 4),
33
+ 3 * (durationInFrames / 4),
34
+ durationInFrames,
35
+ ],
36
+ [1, 1.2, 1, 1.2, 1],
37
+ {extrapolateRight: 'clamp'}
38
+ );
39
+
40
  return (
41
  <TransitionSeries.Sequence
42
  key={index}
43
  from={fps * entry.start}
44
  durationInFrames={fps * (entry.end - entry.start)}
45
  >
46
+ <Img
47
+ style={{
48
+ transform: `scale(${zoom})`,
49
+ transition: 'all 1s ease',
50
+ }}
51
+ src={staticFile(entry.name)}
52
+ />
53
  </TransitionSeries.Sequence>
54
  );
55
  })}