spacer
Yehuda Shiran July 1, 2001
Controlling the Movie's Picture Quality
Tips: July 2001

Yehuda Shiran, Ph.D.
Doc JavaScript

Developer News
News Flash: Adobe Has iPhone Workaround
Adobe's Flash 10.1 Goes Mobile (Minus iPhone)
A Salute to Visionary CEOs

In some of your applications you may need to use Flash movies and JavaScript directly, without any prepackaged APIs such as FlashSound JavaScript API. You will enjoy more features, methods, and properties, but you'll have to take care of all the tiny details that are taken for granted when using FlashSound API, for example.

One of the "tiny" details is embedding the Flash object. The JavaScript file flashcheck2.js does exactly this, as well as other stuff. For example, it checks whether a Flash player exists (Flash plug-in or ActiveX control), and whether its version is higher than the minimum required by the application.

Use the TSetProperty() Flash method to set attributes of the Flash movie. One of the properties is HIGHQUALITY. You may both set and get this property. The HIGHQUALITY property designates the level of anti-aliasing applied to the movie. Specify 2 (BEST) to apply high quality with bitmap smoothing always on. Specify 1 (high quality) to apply anti-aliasing; this will smooth bitmaps if the movie does not contain animation. Specify 0 (low quality) to prevent anti-aliasing. You can set and get Flash properties by their sequence numbers. You get a property like this:

  mySwf.TGetProperty(timeline, propertyNumber);
And you set it as follows:

  mySwf.TSetProperty(timeline, propertyNumber, value)
The HIGHQUALITY property is no. 16, so you get its value by going:

  mySwf.TGetProperty(timeline, 16);
And you set it in a similar way:

  mySwf.TSetProperty(timeline, 16, value);
Play the following movie by clicking the Play link. Get the HIGHQUALITY of the movie by clicking the Get HIGHQUALITY link. You should get 1. Set the anti-aliasing to 0 by clicking the Set HIGHQUALITY link. See how the movie quality deteriorated. You can hardly read the banners now. Loading time improved a bit:

Rewind | Play | Get HIGHQUALITY | Set HIGHQUALITY

Here is the source code:

<SCRIPT LANGUAGE="JavaScript" SRC="flashcheck2.js"></SCRIPT>
<A href="javascript://" onclick="javascript:mySwf2.Rewind(); return false">Rewind</A> | 
<A href="javascript://" onclick="javascript:mySwf2.Play(); return false">Play</A> | 
<A href="javascript://" onclick="javascript:alert(mySwf2.TGetProperty('/', 16)); return false">Get HIGHQUALITY</A> | 
<A href="javascript://" onclick="javascript:mySwf2.TSetProperty('/', 16, 0); return false">Set HIGHQUALITY</A>
<SCRIPT LANGUAGE="JavaScript">
  var mySwf2 = Flash_embedSWF("opener.swf", "opener");
</SCRIPT>


People who read this tip also read these tips:

Look for similar tips by subject:

internet.commediabistro.comJusttechjobs.comGraphics.com

Search:

WebMediaBrands Corporate Info

Legal Notices, Licensing, Reprints, Permissions, Privacy Policy.
Advertise | Newsletters | Shopping | E-mail Offers | Freelance Jobs

webref The latest from WebReference.com Browse >
Building a Banking Application Home Page with OOP · Mixing Scripting Languages · Review: phpFox, a Social Networking CMS with all the Bells and Whistles
Sitemap · Experts · Tools · Services · Email a Colleague · Contact FREE Newsletters 
 The latest from internet.com
Enterprise 2.0: Social Networking in the Cloud · BroadSoft Marketplace Hastens Pace of Telephony Innovation · Review: HTC Hero for Sprint