这是一个动画合成类,目前不能够合成动画,具体问题我不知道在什么地方,也不清楚该怎么改,我是刚学习c#的,有谁能够帮我解决我再给200分public static Bitmap ToMultiPageImage(System.Drawing.Image[] pages, string fileName, params EncoderParameter[] p )
{
Bitmap image = new Bitmap(pages[0] );
FileStream stream = new FileStream(fileName, FileMode.OpenOrCreate);
Encoder enc = Encoder.SaveFlag;
ImageCodecInfo info = GetCodec("image/tiff");
EncoderParameters ep = new EncoderParameters(p.Length + 1);
ep.Param[0]=new EncoderParameter(enc,(long) EncoderValue.MultiFrame); int index = 0;
foreach(EncoderParameter param in p)
ep.Param[index++]=param; image.Save(stream,info,ep);
ep.Param[0]=new EncoderParameter(enc,(long) EncoderValue.FrameDimensionPage); for(int i=1; i<pages.Length;i++)
{
image.SaveAdd(pages[i],ep);
}
ep.Param[0]=new EncoderParameter(enc,(long) EncoderValue.Flush);
image.SaveAdd(ep);
stream.Close();
return image; }
public static ImageCodecInfo GetCodec( string mimeType )
{
foreach( ImageCodecInfo ice in ImageCodecInfo.GetImageEncoders() )
if(ice.MimeType.Equals( mimeType ) )
return ice; throw new Exception( mimeType + "mime type not found in ImageCodecInfo" );
}
{
Bitmap image = new Bitmap(pages[0] );
FileStream stream = new FileStream(fileName, FileMode.OpenOrCreate);
Encoder enc = Encoder.SaveFlag;
ImageCodecInfo info = GetCodec("image/tiff");
EncoderParameters ep = new EncoderParameters(p.Length + 1);
ep.Param[0]=new EncoderParameter(enc,(long) EncoderValue.MultiFrame); int index = 0;
foreach(EncoderParameter param in p)
ep.Param[index++]=param; image.Save(stream,info,ep);
ep.Param[0]=new EncoderParameter(enc,(long) EncoderValue.FrameDimensionPage); for(int i=1; i<pages.Length;i++)
{
image.SaveAdd(pages[i],ep);
}
ep.Param[0]=new EncoderParameter(enc,(long) EncoderValue.Flush);
image.SaveAdd(ep);
stream.Close();
return image; }
public static ImageCodecInfo GetCodec( string mimeType )
{
foreach( ImageCodecInfo ice in ImageCodecInfo.GetImageEncoders() )
if(ice.MimeType.Equals( mimeType ) )
return ice; throw new Exception( mimeType + "mime type not found in ImageCodecInfo" );
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货