Exception rotating a GIF

Hello,
I've got an exception when I execute this code.
g.clearRect(0, 0, getWidth(), getHeight());+
Graphics2D g2 = (Graphics2D)g;+
g2.rotate(Math.toRadians(anguloRotacion),originX+(getScreenImageWidth()/2), originY+(getScreenImageHeight()/2));+
g2.drawImage(img, originX, originY, getScreenImageWidth(), getScreenImageHeight(), null);+
The exception says:
Exception in thread "AWT-EventQueue-3" java.lang.IllegalArgumentException: Raster BytePackedRaster: width = 928 height = 507 #channels 1 xOff = 0 yOff = 0 is incompatible with ColorModel IndexColorModel: #pixelBits = 1 numComponents = 4 color space = java.awt.color.ICC_ColorSpace@2d5534 transparency = 2 transIndex   = 2 has alpha = true isAlphaPre = false
The file I've trying to rotate is GIF but sometimes with another GIF it works well.With TIF files I haven't got any error.
Can anyone help me, please?

Thanxs biozit, How can i do this?
Ths bufferedImage is loaded with this code:
        BufferedImage image = null;
        ParameterBlock pb = new ParameterBlock();
        File file_image = new File(imagePath);
        FileInputStream fis = new FileInputStream( file_image );
        SeekableStream s = SeekableStream.wrapInputStream(fis, true);
        pb.add(s);
        String extension = "gif";           
        RenderedOp image1 = JAI.create(extension, pb);
        PlanarImage img= new RenderedImageAdapter(image1);
        image = img.getAsBufferedImage();Maybe this code can help you.

Similar Messages

  • Rotate a *.gif file

    Could anyone show me an example of how to rotate a gif image by a certain amount of degrees/radians.
    Thanks.

    Rotate is built into Graphics2D in a simple way that hides the ugly AffineTransform underware.
    First, the Graphics in the paintComponent() (or paint()) methods is really a Graphics2D,
    so a simple cast works:
    public void paintComponent( Graphics g ) {
    Graphics2D g2d = (Graphics2D) g;Last, look at BufferedImage. You'll want to draw your track in one buffer, then copy that buffer to the finished BufferedImage. In the finished image, you draw the cars and other moving bits. I did this a couple years back and have forgot the details, but the end result was very slick - really looked like a nice animation.
    Next, you just rotate the Grpahics2D:
    g2d.rotate( nRadians );From there on, you paint as per usual and it comes out rotated. Two special concerns:
    1) rotation around what?
    2) Graphics destruction
    1) The default rotation is around point 0,0 (top-left) which is probably not what you want. Let's say your racetrack is centered at xCenter, yCenter. Translate the Graphics2D to that point:
    g2d.translate( xCenter, yCenter );2) It's generally a bad practice to change a Graphics, since you've only got a reference and you don't know who else will be using the Graphics that reference points to. Fortunately, there's a create() method that copies the underlying object. You get a copy and then you can destroy it utterly, without bothering anyone else:
    // g is a Graphics reference
    Graphics g2 = g.create();
    // g2 is now a copy of the original - translate, rotate, whatever

  • Animated Gif - Aligning Multiple layers

    Hi All
    I am creating a rotating animated gif in PS. Now I have about 37 layers, where I increment the angle of each layer with 10 degress relative to the previous one. But even when aligning all my layers with the aligning tools the layers still not align...How can I align them perfectly? See what I mean on the image below here:
    NOTE: If the gif here does not animate, see this link:
    You can see it is off-center

    DexterDave wrote:
    @JJMack. I am not sure how to rotate the layer without the older frame copying the new rotated position...that is why I used copies of layers
    You do copy the layer and rotate. The layer needs to be perfectly aligned to the center of a is square 1:1 aspect ratio canvas. Guide lines were added 50% Horizontal and Vertically three were added a 49%, 50% and 51%. Then using the elliptical tool set to path mode a circle path was drawn by holding down the Alt key so the path would be from the center and holding the shift key down so the ellipse would be constrain to a circle. You click at the 50% 50% crossed guide line which the mouse pointer snaps to and you drag out the first otter circle.  You then set the path mode to subtract and drag out the inner circle.  Your path is now a ring. Then switch you the rectangle tool and subtract a rectangle path using the 49% and 51% guide lines. Your Path is now two arcs. Create two filled Shape layers the colors in the ring delete 1/2 of the layer so you have two colored arcs. Rastersize the two and merge the two layers int one.  You now have you arcs aligned from the center.  Next the action its simple dupe the layer rotate the layer 10 degrees select previous layer turn off visibility select layer forward.  Play this action till you the required 36 ring layers. Create a frame animation have Photoshop make frames from the layers using the frame animation palette's fly-out option.  Delete the first IK frames and turn on the IK layer visibility in what in now the first frame. It will turn on in all frames. You the save for web the animated gif. PSD file http://mouseprints.net/old/dpr/ik.psd  also tried using a smart object ring layer to loose less quality rotating the layer however there seem to be movement in the rotation.  Photoshop may be having a problem dealing wit the transparency in the layer and the break in the circle. http://mouseprints.net/old/dpr/ikso.psd so then I put all the ring layers into a group and masked the group with a vector mask. http://mouseprints.net/old/dpr/iksomask.psd  the best tool you have when using Photoshop is the gray matter between your ears let it do its thing it may even surprise you sometimes.

  • Rotating 10 number form right to left direction....Urgent

    Hello All,
    I am new to Java3D.
    I am facing some problem from long time in some visual effects.
    Recently I heard about Java3D and I think its better to ask help through this site.
    Here is the problem that I am facing.
    I am designing one site.
    On which the client wants to kept some animation images.
    As there company had already completed 10 years and he want to put 10years animation on there site.
    So is there a possibility to make the 10 years animation using Jave3D.
    What I have to do is I have to rotate 10 number from right to left continuously. What I mean is
    At starting 10 number had to display.
    Next 10 number have to start rotating from right direction 10--->
    Next 10 number have to view its back side after some moment as 01
    Next after some moment it have to come to its origional direction from left hand side as -->10
    So that the viewer can feel that 10 is rotating from right direction to left direction.
    ---------> 10 ---------->
    I know that there are too many graphic tools to develop this, but due to limitations in budget I have to complete with coding itself.
    Hope You all understood my problem and I will get the solution through all of you.
    Can any one suggest what to do, or coding if any.
    Thanks,
    RajivChowdary.

    Hello All,
    One of our friends didn't get what I am asking (with subject :- Rotating 10 number form right to left direction....Urgent), that's why I am explaining my problem again.
    Number (like 9 or 10 or 11 or...) has to rotate in 360 degrees.
    We are all familiar with rotating " 3D gif's" like rotating globe and email rotating in 360 degrees.
    Like wise I want to rotate numbers in 360 degrees using java3D.
    Set area size with 100 X 130 with some background color and 10 number with stand-alone position.
    Then 10 number have to start rotating in 360 degrees, starting from right direction to left direction, within the same place.
    And this process has to be going on until next page has called.
    This animation had to be placed before the company logo, notifying that out company had completed 10 years.
    I know that there are too many graphic tools to develop this, but due to limitations in budget I have to complete with coding itself.
    Hope You all got my problem.
    So please suggest or instructions what to do, or coding if any.
    Please explain in detail, because I am new to java3D
    Thanks,
    RajivChowdary.

  • Creating html sig with embedded gif

    Hi all, I'm trying to create an html sig for mail, with an embedded gif but am having no success. I do the whole save as archive from safari and give the name of existing temp sig created from mail; and it appears in my mail app correctly except for the gif is missing. I know the gif is embedded in the webarchive, because if I open it with safari I can see the gif (even after I've wiped the original gif from my harddisk to test).
    So it seems just a case of not being embedded into the mail app. This is such a simple task with outlook or entourage but its been drivin me crazy with apple mail. I know its possible because I had it working in mail a while ago (before I switched to enrouage). I remember having the same problems back then, but I somehow fixed it. Now I can't remember what I did and its drivin me nuts!

    Make sute the animated GIF is in a slice of its own, and that the slice is set up to export as an animated gif. You can do the latter in the Optimize panel.

  • My nano won't play .GIF files! How can i fix this?

    My iPod Nano displays all of the supported picture files except for the .GIF's
    Is there something I must do to enable the viewing of a .GIF file or does it just not support it? (although everywhere I've looked it sais it is)
    I have a Black 4GB iPod Nano, connected to a Windows XP with iTunes 6.0
    Please Help!!!
    iPod Nano 4 GB   Windows XP  

    Thank you Kyn.
    yes its an animated GIF
    the GIF shows up as a regular picture, but no animation occurs.
    By your post, I'm assuming the iPod does not play GIFS, but lets you just look at it as a regular picture?

  • Strange behavior with obssocookie on different browser

    Hi,
    I am trying to integrate OAM with our application deployed on WLS. I have set up an IIS proxy server and installed a web gate on it. I have seen a couple of strange behavior
    1) If I try to access some static image file, SSO keeps asking for authentication. It happens for both firefox and IE, but it doesn't happen for chrome though. Looks like for image file request, the obssocookie is not passed correctly. Anyone sees that before?
    2) If I use firefox on the machine where WLS app server is installed to connect to proxy server, if I use hostname in the URL, I don't see the obssocookie. If I use IP address in the URL, I can see obssocookie. If I use IE or any browser from any other machine, obssocookie is always available
    thanks.
    -Wei

    I found it in the document
    B.1 How Logout Works
    The WebGate logs a user out when it receives a URL containing "logout." (including the "."), with the exceptions of logout.gif and logout.jpg, for example, logout.html or logout.pl. When the WebGate receives a URL with this string, the value of the ObSSOCookie is set to "logout."
    The Access System sets an obSSOCookie for each user or application that accesses a resource protected by a WebGate. The obSSOCookie enables users to access resources that are protected by the Access System that have the same or a lower authentication level. Removing the ObSSOcookie causes the WebGate to log the user out and requires the user to re-authenticate the next time he or she requests a resource that is protected by the Access System.
    Well, I havn't got that far in the document:)
    Thanks a lot for your help.
    -Wei

  • Anyone seen strange behavior with wired guest access on WLAN Controller?

    Cisco Doc ID 99470 spells out how to deploy wired guest access over wireless LAN Controllers.
    That said, everything has been up and working for almost a year.  Guest wireless uses anchor controller in DMZ - no issues.
    Recently configured two wired ports for wired guest networking.  The desktops get the correct IP address via DHCP.  A wireless client (on the table right next to the wired clients) on the guest wireless gets an IP address as expected as well.
    Open a continuous ping to the gateway 172.16.16.1 on all three machines.
    The two desktops will ping for a few minutes and then stop for 30 seconds or longer.  Wireless client will keep its connection.  (you might think it would be the other way around)
    I understand there is a 65,535 second inactivity timeout, but I am only sitting here for minutes, not 18 hours when this happens.
    On the wired desktops, you have to bring up a browser and log back in just as you do on a wireless client ever few minutes.  After debugging the client, I found a "failed to find scb" message in the output.
    The other trick here is that the wired clients are miles away from where I can actually get on the CLI of the controller.  This makes it difficult to run a debug and bring up a browser since I am not local to the machines when running debugs.
    Has anyone ever see this behavior?  Has anyone see the "failed to find scb" message?
    Thanks in advance!
    Succ
    essfully plumbed mobile rule (ACL ID 255)
    *pemReceiveTask: Dec 30 11:33:15.735: 00:25:b3:ce:cb:ef 0.0.0.0 tokenID = 5
    *pemReceiveTask: Dec 30 11:33:15.735: 00:25:b3:ce:cb:ef Set bi-dir guest tunn
    el for 00:25:b3:ce:cb:ef as in Export Foreign role
    *pemReceiveTask: Dec 30 11:33:15.735: 00:25:b3:ce:cb:ef 0.0.0.0 Added NPU ent
    ry of type 1, dtlFlags 0x4
    *spamReceiveTask: Dec 30 11:34:54.569: CCKM: Send CCKM cache entry
    FP08:(33207772)[cmdSendNodeInfo:3787]failed to find scb 0023.2422.c6eb
    *mmListen: Dec 30 11:35:58.539: 00:25:b3:ce:cb:ef Scheduling deletion of Mobi
    le Station: (callerId: 73) in 1 seconds
    *mmListen: Dec 30 11:35:59.471: 00:25:b3:ce:cb:ef Scheduling deletion of Mobi

    I found it in the document
    B.1 How Logout Works
    The WebGate logs a user out when it receives a URL containing "logout." (including the "."), with the exceptions of logout.gif and logout.jpg, for example, logout.html or logout.pl. When the WebGate receives a URL with this string, the value of the ObSSOCookie is set to "logout."
    The Access System sets an obSSOCookie for each user or application that accesses a resource protected by a WebGate. The obSSOCookie enables users to access resources that are protected by the Access System that have the same or a lower authentication level. Removing the ObSSOcookie causes the WebGate to log the user out and requires the user to re-authenticate the next time he or she requests a resource that is protected by the Access System.
    Well, I havn't got that far in the document:)
    Thanks a lot for your help.
    -Wei

  • Processing Pop Up message

    Dear Friends
    Is any body know how to get the processing pop up message.. I am looking for message box what we used to see in portal " one round rotating color gif or flash kind of" whenever we request inithing in portal.. it comes saying processing....and gif is rotating color
    Please reply me.. your any help will be appreciated..
    Thanking you
    Regards
    Naeem

    The processing icon is displayed automatically by the framework during server events. There is no programatic access to it.

  • N95 Keypad Issues - Help

    I have just returned from my first holiday in 6 years, and very nice it was too. I used my N95 as the camera as there seemed no point carrying a seperate one when the camera is such a decent one anyway.
    The phone worked after our return and well for our first day back, yesterday. I got up this morning and my phone is completely none-functional!
    The only button which works is the power switch, the media buttons do nothing (except rotate the screen when exposed) the number keys do nothing, and the keys under the screen do nothing. I have tried taking the battery out, I have left it without battery for 15+ minutes, and I then cannot reset the clock.
    I guess the next step is to take it for repair, but that means everything will be deleted, this is not good as all my holiday photos are on it!!
    Any suggestions will be appreciated.

    Your holiday photo's should be safe on the phones memory card. You can test this by using it in a card reader on a PC.
    Your phone is behaving like it's been exposed to moisture which has caused internal damage. Obviously I can't say that for definite.
    What you need to do is take it to a nokia care point. If moisture is the cause it won't be covered by warranty. I hope it just turns out to be a simple hardware failure instead so that you may be covered.
    Care points/service centres and repair info:
    UK • Europe • Asia-Pacific • USA •
    Canada • Middle East and Africa
    Elsewhere: Click here, select your country, go to the support section, then select repair.
    Message Edited by psychomania on 18-Nov-2008 10:58 AM

  • Illustrator CS5  Using a stripe swatch

    In CS5, how do I fill a mitered border (a rectangle with 45 degree angles at each end) on a quilt with a stripe swatch and have all 4 borders match?  When I fill from the swatch, the stripe is jumbled - the lines are not in the same order as in the swatch. 

    Ann,
    The black stripes are, in fact, in the same order. Two things  you are not understanding about Pattern Swatches which are causing the issue:
    First, Pattern Swatches fill paths by tiling (stepping and repeating). What you are reading as a change in the order of the black stripes is actually the ending of one tile of the Pattern and the beginning of the adjacent tile.
    Second, the tiling of Pattern Swatches does not start at the edges of the path it fills; it actually starts at the page origin, is masked, and is merely "revealed" by the path to which it is applied as a fill (which is why they so rapidly increase file size).
    However, you can transform (rotate, move) a Pattern Fill independently from the path that it fills. So...
    First, you do not need to define two different Pattern Swatches like the two small images to the right of the quilt. Just define one.
    Assume you define the Pattern like the small image with the vertical stripes.
    Apply it to the fill of the left verticle side of the quilt. It may--just by dumb luck--align correctly with the left edge of the trapezoid path; but in all likelihood it will not. So...
    Press and hold the tilde key (~). Tap the left/right arrow keys to nudge the pattern left/right inside the path until it aligns properly.
    Repeat the two previous steps for the right side of the quilt.
    Apply the same Pattern Swatch to the fill of the top of the quilt. It will, of course, have the black stripes running vertically, because that's the way the Pattern Swatch is stored.
    DoubleClick the Rotate tool. In the checkboxes of the resulting Rotate dialog, turn off Objects and turn on Patterns. Enter 90 for the rotation angle. Click OK. The black stripes now run horizontally as you want, but in all likelihood the stripes do not align correctly with the vertical sides at the mitred corners.
    Press and hold the tilde key (~). Tap the up/down arrow keys to nudge the pattern up/down inside the path until it aligns properly.
    Repeat the previous three steps for the bottom edge of the quilt, except rotate the fill -90 (or 270) degrees this time.
    JET

  • Why only 4 images?

    I wrote this code to try and rotate some gif's nut it won't work for any more than 4 gifs at a time. All gif's work just only 4 at 1 time, Here's the code trying to get 5 running but it just displays blank. Any ideas?
    import java.applet.*;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class Add extends Applet implements ActionListener
         Image[] addImages;
         int totalImages = 5;
         int currentImage = 0;
         int animationDelay = 10000;
         Timer animationTimer;
         int animationdelay;
         int posA, posB, posC, posD, posE;
         public Add()
         public void init()
              posA = 0;
              posB = 1;
              posC = 2;
              posD = 3;
              posE = 4;
              addImages = new Image[totalImages];          
              addImages[0] = getImage(getDocumentBase(),"esigns.gif");
              addImages[1] = getImage(getDocumentBase(),"gf.gif");
              addImages[2] = getImage(getDocumentBase(),"kogel.gif");
              addImages[3] = getImage(getDocumentBase(),"mandata.gif");
              addImages[4] = getImage(getDocumentBase(),"mccory.gif");
              /*addImages[5] = getImage(getDocumentBase(),"profit.gif");
              addImages[6] = getImage(getDocumentBase(),"quinn.gif");
              addImages[7] = getImage(getDocumentBase(),"rowe.gif");
              addImages[8] = getImage(getDocumentBase(),"speed.gif");
              addImages[9] = getImage(getDocumentBase(),"tougher.gif");
              addImages[10] = getImage(getDocumentBase(),"treacy.gif");
              addImages[11] = getImage(getDocumentBase(),"turbo.gif");*/
              if(animationTimer == null)
                   //currentImage = 0;
                   animationTimer = new Timer(animationDelay, this);
                   animationTimer.start();
         public void paint(Graphics g)
              g.drawImage(addImages[posA], 0, 0, this);
              g.drawImage(addImages[posB], 0, 60, this);
              g.drawImage(addImages[posC], 0, 120, this);
              g.drawImage(addImages[posD], 0, 180, this);
              g.drawImage(addImages[posE], 0, 240, this);
              /*g.drawImage(addImages[5], 0, 300, this);
              g.drawImage(addImages[6], 0, 360, this);
              g.drawImage(addImages[7], 0, 420, this);
              g.drawImage(addImages[8], 0, 480, this);
              g.drawImage(addImages[9], 0, 540, this);
              g.drawImage(addImages[10], 0, 600, this);
              g.drawImage(addImages[11], 0, 660, this);*/
              //currentImage = (currentImage + 1)%totalImages;
         public void actionPerformed(ActionEvent event)
              posA = (posA+1)%totalImages;
              posB = (posB+1)%totalImages;
              posC = (posC+1)%totalImages;
              posD = (posD+1)%totalImages;
              posE = (posD+1)%totalImages;
              repaint();
              //doLayout();
    -------------------------------------------------------------------

    You are in Recovery Mode. Follow the instructions below to recover your iPad.
    1. Disconnect the USB cable from the device, but leave the other end of the cable connected to your computer's USB port.
    2. Turn off the device: Press and hold the Sleep/Wake button for a few seconds until the red slider appears, then slide the slider. Wait for the device to turn off.
    If you cannot turn off the device using the slider, press and hold the Sleep/Wake and Home buttons at the same time. When the device turns off, release the Sleep/Wake and Home buttons.
    3. While pressing and holding the Home button, reconnect the USB cable to the device. The device should turn on.
    4. Continue holding the Home button until you see the "Connect to iTunes" screen. When this screen appears, release the Home button.
    5. iTunes should alert you that it has detected a device in recovery mode. Click OK, and then click Restore to restore the device.
    Note: You need to be patient and repeat the above many times to recover your iPad. Data will be lost.

  • Scanning a sketch issues

    Hi friends ,
    I wanted to scan a sketch using photoshop , so I went to File>Import>Wia Support , Photoshop recognizes my scanner
    Canon lide 110 , I choose Black and White 300 dpi and scan it .
    Now I got the sketch in bitmap format openned, the problem is  i can do nothing except rotate the image , every panel fonction is grey out , I can't even make a background copy layer....
    Did i miss a step ?
    Thank you !

    Basically the same as Mylenium's Color Mode suggestion: Image>Mode and then look down the fly-out menu, to just below the little divider line. There you will see 8-bit per channel, 16-bit per channel, 32-bit per channel, etc.. If you need an Effect/Filter that is not available to a higher Bit-Rate Image Mode, just drop down to a lower one.
    I like doing what I can, at a higher Bit-Rate, and then, when done, will drop down, for those Effects/Filters that are say, 8-bit only.
    Good luck,
    Hunt
    PS - if you do not find that you are limited with your scanned Bit-Rate, do not bother changing it - unless you need to Save_As, and the format needed does not support the higher Bit-rate.

  • [ImageIO] add plugin jar to classpath

    Hello Experts,
    I have built a WebDynpro application in which I need to resize images (JPG, PNG and GIF). I use standard library :
    boolean writeResult = ImageIO.write(bufferedImg, fileExtension, streamOut);
    This works fine, except for the GIF format for which there is no standard writer.
    I decided to use <a href="https://gif-plugin.dev.java.net/">gif-plugin</a> which should do the trick.
    According to the plugin documentation : "<i>Just copy the plugin jar to somewhere in the classpath.
    The jdk should automatically detect the plugin</i>".
    I added the jar in an external library, exactly the same I do for other external jars I use.
    I can see the jar in the classpath when opening 'Project > properties > Java Build Path > Libraries"
    But seems that it is not been added to the classpath at runtime because plugin is not detected.
    Do you have any hint on that ?
    Thanks a lot.
    Regards,
    Nicolas

    In your external library DC you should create public part with type assembly - and add neccessary libs to in. Build it.
    IN Webdynpro DC you should add reference on created pp with type 'build'. Build WD DC - now Wd ear file should contain required custom jar and will be able to use it on runtime.

  • Ad rotator - add supporting gif for flash file

    Hi there, I am using the ad rotator to host 3rd party advertising. I have been supplied with a flash file (swf) and also a gif version of the ad. I want to be able to point to the gif file if the swf file is not able to be played by the browser/device. Is this possible within the ad rotator to have a fall-back gif file?
    thanks

    This functionality isn't native to BC but I've done this before for a client.  Just beware that using an .swf (flash) file embed for the ad won't let you track the BC Ad Rotator links.  Typical, image-only ads in the AdRotator can be tracked in BC's reporting but using a .swf file doesn't work and you have to embed the link in the actual .swf file itself.  Before we get you working with a flash fallback solution, if you have access to the .swf file or can tell your client what URL to use in the flash ad then you should use the AdRotator trackign URL if you can.  Do do that, setup an image-only ad rotator item first in one of your ad rotators.  Add that rotator to a demo page to get the URL of the ad rotator (it contains the unique id of your ad for tracking). Once you have that URL you can update your flash file to use that URL to take advantage of tracking on BC or give it to your customer to update the flash file themselves before sending you the flash file.
    Once you've taken care of the link in the flash ad or if you don't care about not tracking flash ad clicks in BC's reporting system, let's move on to building a flash fallback ad solution. We'll be using SWFObject which is the correct way to embed flash with fallback content.  The hardest part of this whole scenario is we have to get the ID of the ad rotator item (not the ad rotator ID) below.
    The javascript I came up with requires jQuery and it's usually already loaded on many sites. Make sure jQuery is loaded in the HEAD of your page or page template where you'll be serving the ads in the ad rotator.
    Download the SWFObject project and unzip it locally.
    Upload the whole "swfobject" folder to the root of your website.
    In your page template or page that you will be serving your ads on, add this script reference to the HEAD of your HTML doc:<script src="/swfobject/swfobject.js"></script>
    Download my custom javascript function and upload it somewhere on your website. For this example we'll assume you are placing it in the "js" folder in the root of your site.
    In your page or page template where you'll be serving ads, reference the script you just downloaded. Make sure it goes after our swfobject.js and jquery references in the head of your HTML doc:<script src="/js/adRotatorFlashFallback.js"></script>
    Now that our jQuery, SWFObject & adRotatorFlashFallback scripts are in place in the HEAD of our page or page template, let's move on to creating your ads with fallback content
    Upload the backup image you want to use for non-flash devices to your website and remember the URL/path of that image. For our example we'll use "/images/demoad.gif".
    Upload your .swf file to your site and rember the URL/path to that file. We'll need it later.
    Once the image and flash file are uploaded we'll create our ad rotator item for that ad:
    Create a new ad rotator item
    Choose the Item Type as HTML
    Add your Label (title) and Item Click-thru URL
    In the Item HTML box manually insert your HTML markup for the image:
    <img src="/images/demoad.gif" width="125" height="125" />
    (I won't be covering styling the ad so you can wrap a div around that image if you want to use some CSS to target the ad:(Optional) <div class="ad-item"><img src="/images/demoad.gif" width="125" height="125" /></div>
    Save the ad first before we add the flash option. We need to get that ad rotator item's ID first before we can hookup javascript to embed the flash over the backup image. If you have many ad rotator items already in place you might want to temporarily disable all the ads already setup except the one you are working on so you don't have to refresh the page a bunch of times to wait for your ad to randomly appear.
    Goto a test page and use BC's module manager to insert your AdRotator.
    Preview your test page with your ad rotator and once you see your ad you are creating, right-click the ad (this works in Chrome for sure) to copy the URL of the ad. You can also see what the URL is just by hovering over the ad in most browers.  The goal here is to jot down or grab the ID of the web app item and that should be in the URL similar to this: "/BannerProcess.aspx?ID=32713&URL=%2ftest".  I bolded the ID we'll be grabbing. This ID is unique to each ad rotator item and we need that so that we can embed a specific flash file for that specific ad rotator item. 
    Once you've got your ID of the item, head back to the Ad Rotator Item you just created in the BC Admin.
    You'll want to add some javascript after your image markup in the "Item HTML" box
    Before we had: <img src="/images/demoad.gif" width="125" height="125" />
    and it becomes:<img src="/images/demoad.gif" width="125" height="125" />
    <script>adRotatorFlashFallback('32711','/demoad.swf', '125', '125');</script>
    Replace the bolded items above with the ID of your ad rotator item we pulled from the URL before and the URL to the flash file we uploaded to the site before.  In our case, I uploaded "demoad.swf" to the root of the website. Also, the '125' and '125' above are the width and height, respectively for your flash file. For instance if your flash movie is 300 pixels wide and 100 pixels in height then calling our functions with those dimensions would look like:<script>adRotatorFlashFallback('32711','/demoad.swf', '300', '100');</script>
    Make sure the ad rotator item is enabled and you're all set.
    You can see a demo of it working at http://www.chrismatthias.com/demos/swf-fallback-ad-rotator
    After your initial setup of downloading the javascripts and referencing them in your page or template, the hardest thing about creating new ad rotator items with fallback is getting the ID of the ad rotator item from the URL in steps 12-14, but it's the only way I know of to get the ID of the ad rotator item. I can't find it in the BC Admin anywhere.

Maybe you are looking for