OpenFileDialog opndlg = new OpenFileDialog();
opndlg.Filter = "所有图像文件|*.bmp;*.pcx;*.png;*.jpg;*.gif;*.raw;*.tiff;*.tif";
opndlg.Title = "打开图像文件";
if (opndlg.ShowDialog() == DialogResult.OK)
{
FileStream myfs = File.OpenRead(opndlg.FileName);
Bitmap myBitmap;
ImageCodecInfo myImageCodecInfo;
Encoder myEncoder;
EncoderParameter myEncoderParameter;
EncoderParameters myEncoderParameters;
myBitmap = new Bitmap(myfs);
myImageCodecInfo = GetEncoderInfo("image/tiff");
myEncoder = Encoder.Compression;
myEncoderParameters = new EncoderParameters(1);
myEncoderParameter = new EncoderParameter(myEncoder,(long)EncoderValue.CompressionLZW);
myEncoderParameters.Param[0] = myEncoderParameter;
myBitmap.Save("ShapesLZW.tif", myImageCodecInfo, myEncoderParameters);
}
private static ImageCodecInfo GetEncoderInfo(String mimeType)
{
int j;
ImageCodecInfo[] encoders;
encoders = ImageCodecInfo.GetImageEncoders();
for (j = 0; j < encoders.Length; ++j)
{
if (encoders[j].MimeType == mimeType)
return encoders[j];
}
return null;
}