Outer Court

Tech - Corel - Animation

With Corel Script you can automatize the task of creating animations, like fading, moving words and the like. To do so, you'll need to create a script which creates a movie (a frameset) out of the current picture. You can do all kind of error checking (like is this already a movie, is it RGB mode, and so on, with getDocument...).

The animation type variable in the code example is choice%, not determined with a user function. a% and b% are the beginning and ending frame that i% goes through, at each picture letting the chosen sub-program do the rest:

sub makeMovie (byval a%, byval b%)
  choice%=5
  WITHOBJECT "CorelPhotoPaint.Automation.7"
    .MovieCreate 
    .MovieInsertFrame a%, b%-1, FALSE, TRUE
    for i%=a% to b%
      .MovieGotoFrame i%
      select case choice%
        case 0: theBossAnim i%
        case 1: lensFlareAnim i%
        case 2: dropShadeAnim i%
        case 3: threedAnim i%
        case 4: windAnim i%
        case 5: swirlAnim b%\2
    'more cases...
      end select
    next
  END WITHOBJECT
end sub

You see the different types of animation one can choose here. These animations are recorded at a sample picture once, then saved into a dummy file and cut and pasted into the sub. Then you need to find out which value is to change. For each method from the filter menu, there's a help function which tells you what data and data types you can submit. Normally, the values are of data type long, so at the beginning of a sub you would transfer the current frame number to the various settings, from integer to double. The choice number 4 is windAnim, which unblurs something like a white on black text from a certain direction. Another sub-program, choice 5, un-swirls a text (or anything else, depending on what the original picture has in it), then swirls it back. Halfn% is just the middle frame, telling the sub when to start going from un-swirling to swirling. The 130 at the beginning is a medium swirl that we start out with.

sub swirlAnim (byval halfn%)
  static swirlStrength#
  if swirlStrength#=0 then swirlStrength#=130
  if n%<halfn% then 
    swirlStrength#=swirlStrength#-14
  else
    swirlStrength#=swirlStrength#+14
  end if
  WITHOBJECT "CorelPhotoPaint.Automation.7"
    .EffectSwirl swirlStrength#
  END WITHOBJECT
end sub

As a looped GIF anim this would be a seamless animation. When you decrease the colors to 16, it's rather small as well (see image 1).

Another animation here is done with a moving lens-flare, choice 2. At a certain point, the order of putting the lens-flare then putting the text object is reversed, so the lens-flare appears to have moved in front of the text-object (see image 2).

If you want to do an animation using a plug-in then you have to find out on your own where the values have to be submitted, because these seem to be undocumented. What happens with the Alchemy filter is Corel submits the name of the plug-in filter plus an accompanying hex-string. So what you do is recording the method twice with only one changed value, then you examine what value in the string has changed, and put your variable there. To transform the variable into hex-string:

height$=lcase$(str$(hex(10+n%*5)))
WITHOBJECT "CorelPhotoPaint.Automation.7"
  .EffectPlugin "Fancy", _
     "The Boss...", 1, 56, "..."+height$+"..."
END WITHOBJECT

Here the height number for the Boss filter, lcase$ might not be needed, the 10+ and *5 is just done for this special value.

The last animation is done by creating an object out of the background, increasing size proportionally, and putting a radial zoom onto it, for each cell. Download the script source, start out with your 24 bit picture, execute the script, and put your own text in the last picture. The galaxy was made with a nightsky filling, and the planet picturelist from the sprayer brush (see image 3).

  1.   Image
  2.   Image
  3.   Image

 
Basic
Goodies
Design
Tech
Email
Make a donation