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; } } }