how to make background transparent for animated gif

hi experts,

I want to set background as transparent for gif.
is there any to set to transparent in C#

thanks in advance.
avinash_takaleAsked:
Who is Participating?
 
vo1dConnect With a Mentor Commented:
topdog, why do much code if you just need one line?
bmp.MakeTransparent(the transparent color);
0
 
aprestoCommented:
Hi avinash_takale,

this may help:

http://www.c-sharpcorner.com/Code/2003/March/ThumbnailImages.asp

Apresto
0
 
aprestoCommented:
0
Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
avinash_takaleAuthor Commented:
i tried in this way
but i can't get good answer from this.
so if any one knows this please send this answer.
its really  urgent
0
 
vo1dCommented:
what do you excactly mean? do you wanna specify the color of your gif, which shall be interpreted as transparent?
do you draw that give by your own?
you will just have to load your give into a bitmap object.
then you have a method like that:
bmp.MakeTransparent(the transparent color);
0
 
avinash_takaleAuthor Commented:
no i want to make back color as form color for gif.
but if we assign gif to bmp then it will not animate
so is there any solution
0
 
vo1dCommented:
sure you can. here is an example:

using System;
using System.Drawing;
using System.Windows.Forms;

public class animateImage : Form
{
                     
    //Create a Bitmpap Object.
    Bitmap animatedImage = new Bitmap("SampleAnimation.gif");
    bool currentlyAnimating = false;
                     
    //This method begins the animation.
    public void AnimateImage()
    {
        if (!currentlyAnimating)
        {
                     
            //Begin the animation only once.
            ImageAnimator.Animate(animatedImage, new EventHandler(this.OnFrameChanged));
            currentlyAnimating = true;
        }
    }

    private void OnFrameChanged(object o, EventArgs e)
    {
                     
        //Force a call to the Paint event handler.
        this.Invalidate();
    }

    protected override void OnPaint(PaintEventArgs e)
    {
                     
        //Begin the animation.
        AnimateImage();
                     
        //Get the next frame ready for rendering.
        ImageAnimator.UpdateFrames();
                     
        //Draw the next frame in the animation.
        e.Graphics.DrawImage(this.animatedImage, new Point(0, 0));
    }

    public static void Main()
    {
        Application.Run(new animateImage());
    }
}
0
 
topdog770Commented:
private void FormSplash_Load(object sender, EventArgs e)
{
Stream imgStream = null;
                  Assembly a = Assembly.GetExecutingAssembly();
                  // attach to stream to the resource in the manifest
                  
imgStream = a.GetManifestResourceStream "BWC.Entertainment.BasicSplash.bmp");
                  if( !(null==imgStream) )
                  {                    
                        // create a new bitmap from this stream and
                        // add it to the arraylist
                        bitmap = Bitmap.FromStream( imgStream ) as Bitmap;
                        bitmap.MakeTransparent(bitmap.GetPixel(0,0));
                        this.BackgroundImage = bitmap;
                        this.TransparencyKey = bitmap.GetPixel(0,0);
                        imgStream.Close();
                        imgStream = null;
                  }      

                  this.Visible = false;
                  Version ver = System.Reflection.Assembly.GetEntryAssembly().GetName().Version;
                  string version = ver.Major + "." + ver.Minor + "." + ver.Build + "." + ver.Revision;
                  SetMillOrderAppVersion( version );

                  this.lblVersionInfo.BringToFront();
                  this.lblStatus.BringToFront();
                  this.tbAppTitle.BringToFront();

                  this.lblStatus.Refresh();
                  this.tbAppTitle.Refresh();
                  this.lblVersionInfo.Refresh();
//                  this.Invalidate();

            }
0
 
topdog770Commented:
That was more code then needed.. sorry.. the key parts are where we use the first pixel of the bitmap to determine what the transparent color of the bitmap will be..

Then we set the bitmap's transparency.

0
 
vo1dCommented:
or have i misunderstood  avinash_takale question?
0
 
vo1dCommented:
btw, you asume that pixel at 0,0 is for the transparent color? what if that is not for transparent?
0
 
topdog770Commented:
nope... I just posted way too much code!  Was doing some other stuff at the time.. thought it was ready to go and hit submit!

0
 
topdog770Commented:
yeah, I do.

In creating the images here, I cheat and always make that first pixel represent the color I want to be transparent.
0
 
vo1dCommented:
question has been answered by using the MakeTransparent method of the bitmap object. in addition, a code how to display an animated gif is also provided.
with both information, the solution is provided.
regards
0
 
topdog770Commented:
Ok by me :)  I didn't realize he'd posted when I finally sent mine off
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.