ScreenToGif/ImageUtil/Decoder/GifExtension.cs
(完整代码) 1KBusing System.Collections.Generic;
using System.IO;
namespace ScreenToGif.ImageUtil.Decoder
{
public abstract class GifExtension : GifBlock
{
public const int ExtensionIntroducer = 0x21;
public static GifExtension ReadExtension(Stream stream, IEnumerable<GifExtension> controlExtensions, bool metadataOnly)
{
// Note: at this point, the Extension Introducer (0x21) has already been read
int label = stream.ReadByte();
if (label < 0)
throw GifHelpers.UnexpectedEndOfStreamException();
switch (label)
{
case GifGraphicControlExtension.ExtensionLabel:
return GifGraphicControlExtension.ReadGraphicsControl(stream);
case GifCommentExtension.ExtensionLabel:
return GifCommentExtension.ReadComment(stream);
case GifPlainTextExtension.ExtensionLabel:
return GifPlainTextExtension.ReadPlainText(stream, controlExtensions, metadataOnly);
case GifApplicationExtension.ExtensionLabel:
return GifApplicationExtension.ReadApplication(stream);
default:
throw GifHelpers.UnknownExtensionTypeException(label);
}
}
}
}
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
