C# 从Sitecore读取媒体项后将图像转换为PNG

C# 从Sitecore读取媒体项后将图像转换为PNG,c#,asp.net,png,sitecore,converter,C#,Asp.net,Png,Sitecore,Converter,这是我现在已经实现的代码: string image=string.Empty; ImageField ImageField=itm.Fields[image]; MediaItem MediaItem=imageField.MediaItem; 如果mediaItem!=无效的 { Stream Stream=mediaItem.GetMediaStream; Image img=Image.FromStreamstream; 位图bmp=新的位图bmp,188,122; ImageConve

这是我现在已经实现的代码:

string image=string.Empty; ImageField ImageField=itm.Fields[image]; MediaItem MediaItem=imageField.MediaItem; 如果mediaItem!=无效的 { Stream Stream=mediaItem.GetMediaStream; Image img=Image.FromStreamstream; 位图bmp=新的位图bmp,188,122; ImageConverter converter=新的ImageConverter; Byte[]bytes=Byte[]converter.ConvertTobmp,typeofbyte[]; stream.Readbytes,0,bytes.Length; image=data:+mediatem.MimeType+,+Convert.ToBase64Stringbytes; } 返回图像; 我想做的是将所有通过的图像转换成PNG。我现在遇到的问题是,我从Sitecore读取的GIF图像,在上面看到的所有转换之后,呈现为黑色图像

我尝试了一些实现,但结果似乎是一样的

有人能帮忙吗


最好的问候,马吕斯。

看起来实际的问题是我有一行额外的代码把事情搞砸了,我正在谈论这一行:stream.Readbytes,0,bytes.Length

这是我目前正在运行的最终代码:

string image=string.Empty; ImageField ImageField=itm.Fields[image]; MediaItem MediaItem=imageField.MediaItem; 如果mediaItem!=无效的 { Stream Stream=mediaItem.GetMediaStream; Image img=Image.FromStreamstream; 位图bmp=新的位图bmp,188,122; ImageConverter converter=新的ImageConverter; Stream pngStream=新内存流; bmp.SavepngStream,ImageFormat.Png; Byte[]bytes=Byte[]converter.ConvertToImage.FromStreampngStream,typeofbyte[]; image=data:image/png;base64,+Convert.ToBase64Stringbytes; } 返回图像; 我希望这对某人有帮助


祝你度过愉快的一天。

太棒了!由于这是正确答案,我将删除我的答案。谢谢