下面是我的代码不知道错在哪里,就是实现不了。
Bitmap fromImage=new Bitmap("c:\1.gif");
fromImage.MakeTransparent();Bitmap bitmap = new Bitmap(width,height);
Graphics graphic = Graphics.FromImage(bitmap);graphic.DrawImage(fromImage,new Rectangle(0,0, 100, 100), new Rectangle(200,200,100, 100), GraphicsUnit.Pixel);
Image saveImage = Image.FromHbitmap(bitmap.GetHbitmap());
saveImage.Save("c:\2.gif",ImageFormat.Gif);

解决方案 »

  1.   

    Bitmap fromImage=new Bitmap("d:\\1.jpg");
               fromImage.MakeTransparent();           Bitmap bitmap = new Bitmap(fromImage.Width, fromImage.Height);
                Graphics graphic = Graphics.FromImage(bitmap);            graphic.DrawImage(fromImage, new Rectangle(0, 0, fromImage.Width, fromImage.Height), new Rectangle(0, 0, fromImage.Width, fromImage.Height), GraphicsUnit.Pixel);
                //Image saveImage = Image.FromHbitmap(bitmap.GetHbitmap());
               bitmap.Save("d:\\2.jpg");
      

  2.   

    Bitmap 这个类型,应该是有背景的。
    换其他类型试试看
      

  3.   

    将背景色透明
    fromImage.MakeTransparent(backcolor);
      

  4.   

    Bitmap fromImage=new Bitmap("c:\1.gif");
    fromImage.MakeTransparent();Bitmap bitmap = new Bitmap(width,height);
    Graphics graphic = Graphics.FromImage(bitmap);
    //这里加句
    //bitmap.clear()或者是graphic.clear();有点不大记得了//graphic.DrawImage(fromImage,new Rectangle(0,0, 100, 100), new Rectangle(200,200,100, 100), GraphicsUnit.Pixel);
    Image saveImage = Image.FromHbitmap(bitmap.GetHbitmap());
    saveImage.Save("c:\2.gif",ImageFormat.Gif);
      

  5.   

    还是不行啊,哪位大侠救我
    graphic.Clear(Color.Transparent);
    graphic.Clear(Color.White);
    graphic.Clear(Color.Black);
    都试过了再就是cvman()似乎正确一点就是下面这句好象不应该要
    Image saveImage = Image.FromHbitmap(bitmap.GetHbitmap());
    但透明背景还是没有出来。
      

  6.   

    试试, 
    Bitmap fromImage = new Bitmap("d:\\1.jpg");
                fromImage.MakeTransparent();            Bitmap bitmap = new Bitmap(fromImage.Width, fromImage.Height);
                Graphics graphic = Graphics.FromImage(bitmap);            graphic.DrawImage(fromImage, new Rectangle(0, 0, fromImage.Width, fromImage.Height), new Rectangle(0, 0, fromImage.Width, fromImage.Height), GraphicsUnit.Pixel);
                //Image saveImage = Image.FromHbitmap(bitmap.GetHbitmap());
                bitmap.MakeTransparent();
                bitmap.Save("d:\\2.jpg");
      

  7.   

    Bitmap fromImage = new Bitmap("d:\\1.jpg");
                fromImage.MakeTransparent();            Bitmap bitmap = new Bitmap(fromImage.Width, fromImage.Height);
                Graphics graphic = Graphics.FromImage(bitmap);            graphic.DrawImage(fromImage, new Rectangle(0, 0, fromImage.Width, fromImage.Height), new Rectangle(0, 0, fromImage.Width, fromImage.Height), GraphicsUnit.Pixel);
                //Image saveImage = Image.FromHbitmap(bitmap.GetHbitmap());
                bitmap.MakeTransparent();
                this.pictureBox1.Image = bitmap;//可以看到已经可以了
                bitmap.Save("d:\\2.jpg");
      

  8.   

    现在改成这样了,可还是不行啊Bitmap fromImage=new Bitmap("c:\1.gif");
    fromImage.MakeTransparent();Bitmap bitmap = new Bitmap(width,height);
    Graphics graphic = Graphics.FromImage(bitmap);graphic.DrawImage(fromImage,new Rectangle(0,0, 100, 100), new Rectangle(200,200,100, 100), GraphicsUnit.Pixel);
    bitmap.MakeTransparent();
    bitmap.Save("c:\2.gif",ImageFormat.Gif);
      

  9.   

    private void Form1_Load(object sender, System.EventArgs e)
    {
    Bitmap b=new Bitmap("..\\..\\test.bmp");
    b.MakeTransparent(Color.Blue);
    this.pictureBox1.Image=b; 
    }