IntPtr Hicon = myBitmap.GetHicon();
Icon newIcon = Icon.FromHandle(Hicon);
FileStream outStream = new FileStream(@"d:/a.ico", FileMode.OpenOrCreate);
newIcon.Save(outStream);
outStream.Flush();
outStream.Close();
http://www.cnblogs.com/slave2/archive/2008/09/04/1284759.html
public System.Drawing.Bitmap GetBitmap(BitmapSource image) { System.Windows.Media.Imaging.BitmapSource bitmapSource = image as BitmapSource; double newWidthRatio = image.Width / (double)bitmapSource.PixelWidth; double newHeightRatio = ((image.Width * bitmapSource.PixelHeight) / (double)bitmapSource.PixelWidth) / (double)bitmapSource.PixelHeight; System.Windows.Media.Imaging.BitmapSource transformedBitmapSource = new System.Windows.Media.Imaging.TransformedBitmap( bitmapSource, new System.Windows.Media.ScaleTransform(newWidthRatio, newHeightRatio)); int width = transformedBitmapSource.PixelWidth; int height = transformedBitmapSource.PixelHeight; int stride = width * ((transformedBitmapSource.Format.BitsPerPixel + 7) / 8); byte[] bits = new byte[height * stride]; transformedBitmapSource.CopyPixels(bits, stride, 0); unsafe { fixed (byte* pBits = bits) { IntPtr ptr = new IntPtr(pBits); System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap( width, height, stride, System.Drawing.Imaging.PixelFormat.Format32bppPArgb, ptr); return bitmap; } } }