Class GifFrameBlock
名称: Aspose.Imaging.FileFormats.Gif.Blocks 收藏: Aspose.Imaging.dll (25.4.0)
GIF 框架类
[JsonObject(MemberSerialization.OptIn)]
public sealed class GifFrameBlock : RasterCachedImage, IDisposable, IObjectWithBounds, IRasterImageArgb32PixelLoader, IRasterImageRawDataLoader, IHasXmpData, IHasMetadata, IGifBlock, IAnimationFrame
Inheritance
object ← DisposableObject ← DataStreamSupporter ← Image ← RasterImage ← RasterCachedImage ← GifFrameBlock
Implements
IDisposable , IObjectWithBounds , IRasterImageArgb32PixelLoader , IRasterImageRawDataLoader , IHasXmpData , IHasMetadata , IGifBlock , IAnimationFrame
继承人
RasterCachedImage.CacheData() , RasterCachedImage.Blend(Point, RasterImage, Rectangle, byte) , RasterCachedImage.Resize(int, int, ResizeType) , RasterCachedImage.Resize(int, int, ImageResizeSettings) , RasterCachedImage.RotateFlip(RotateFlipType) , RasterCachedImage.Rotate(float, bool, Color) , RasterCachedImage.Crop(Rectangle) , RasterCachedImage.Dither(DitheringMethod, int, IColorPalette) , RasterCachedImage.Grayscale() , RasterCachedImage.NormalizeHistogram() , RasterCachedImage.BinarizeFixed(byte) , RasterCachedImage.BinarizeOtsu() , RasterCachedImage.BinarizeBradley(double, int) , RasterCachedImage.BinarizeBradley(double) , RasterCachedImage.AdjustBrightness(int) , RasterCachedImage.AdjustContrast(float) , RasterCachedImage.AdjustGamma(float, float, float) , RasterCachedImage.AdjustGamma(float) , RasterCachedImage.IsCached , RasterImage.RemoveMetadata() , RasterImage.Save(Stream, ImageOptionsBase, Rectangle) , RasterImage.GetModifyDate(bool) , RasterImage.Dither(DitheringMethod, int) , RasterImage.Dither(DitheringMethod, int, IColorPalette) , RasterImage.GetDefaultPixels(Rectangle, IPartialArgb32PixelLoader) , RasterImage.GetDefaultRawData(Rectangle, IPartialRawDataLoader, RawDataSettings) , RasterImage.GetDefaultArgb32Pixels(Rectangle) , RasterImage.GetDefaultRawData(Rectangle, RawDataSettings) , RasterImage.GetArgb32Pixel(int, int) , RasterImage.GetPixel(int, int) , RasterImage.SetArgb32Pixel(int, int, int) , RasterImage.SetPixel(int, int, Color) , RasterImage.ReadScanLine(int) , RasterImage.ReadArgb32ScanLine(int) , RasterImage.WriteScanLine(int, Color[]) , RasterImage.WriteArgb32ScanLine(int, int[]) , RasterImage.LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader) , RasterImage.LoadPartialPixels(Rectangle, IPartialPixelLoader) , RasterImage.LoadArgb32Pixels(Rectangle) , RasterImage.LoadArgb64Pixels(Rectangle) , RasterImage.LoadPartialArgb64Pixels(Rectangle, IPartialArgb64PixelLoader) , RasterImage.LoadPixels(Rectangle) , RasterImage.LoadCmykPixels(Rectangle) , RasterImage.LoadCmyk32Pixels(Rectangle) , RasterImage.LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader) , RasterImage.LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader) , RasterImage.SaveRawData(byte[], int, Rectangle, RawDataSettings) , RasterImage.SaveArgb32Pixels(Rectangle, int[]) , RasterImage.SavePixels(Rectangle, Color[]) , RasterImage.SaveCmykPixels(Rectangle, CmykColor[]) , RasterImage.SaveCmyk32Pixels(Rectangle, int[]) , RasterImage.SetResolution(double, double) , RasterImage.SetPalette(IColorPalette, bool) , RasterImage.Resize(int, int, ImageResizeSettings) , RasterImage.Rotate(float, bool, Color) , RasterImage.Rotate(float) , RasterImage.BinarizeFixed(byte) , RasterImage.BinarizeOtsu() , RasterImage.BinarizeBradley(double) , RasterImage.BinarizeBradley(double, int) , RasterImage.Blend(Point, RasterImage, Rectangle, byte) , RasterImage.Blend(Point, RasterImage, byte) , RasterImage.Grayscale() , RasterImage.NormalizeHistogram() , RasterImage.AdjustBrightness(int) , RasterImage.AdjustContrast(float) , RasterImage.AdjustGamma(float, float, float) , RasterImage.AdjustGamma(float) , RasterImage.GetSkewAngle() , RasterImage.NormalizeAngle() , RasterImage.NormalizeAngle(bool, Color) , RasterImage.Filter(Rectangle, FilterOptionsBase) , RasterImage.ReplaceColor(Color, byte, Color) , RasterImage.ReplaceColor(int, byte, int) , RasterImage.ReplaceNonTransparentColors(Color) , RasterImage.ReplaceNonTransparentColors(int) , RasterImage.ToBitmap() , RasterImage.PremultiplyComponents , RasterImage.UseRawData , RasterImage.UpdateXmpData , RasterImage.XmpData , RasterImage.RawIndexedColorConverter , RasterImage.RawCustomColorConverter , RasterImage.RawFallbackIndex , RasterImage.RawDataSettings , RasterImage.UsePalette , RasterImage.RawDataFormat , RasterImage.RawLineSize , RasterImage.IsRawDataAvailable , RasterImage.HorizontalResolution , RasterImage.VerticalResolution , RasterImage.HasTransparentColor , RasterImage.HasAlpha , RasterImage.TransparentColor , RasterImage.ImageOpacity , Image.CanLoad(string) , Image.CanLoad(string, LoadOptions) , Image.CanLoad(Stream) , Image.CanLoad(Stream, LoadOptions) , Image.Create(ImageOptionsBase, int, int) , Image.Create(Image[]) , Image.Create(MultipageCreateOptions) , Image.Create(string[], bool) , Image.Create(string[]) , Image.Create(Image[], bool) , Image.GetFileFormat(string) , Image.GetFileFormat(Stream) , Image.GetFittingRectangle(Rectangle, int, int) , Image.GetFittingRectangle(Rectangle, int[], int, int) , Image.Load(string, LoadOptions) , Image.Load(string) , Image.Load(Stream, LoadOptions) , Image.Load(Stream) , Image.GetProportionalWidth(int, int, int) , Image.GetProportionalHeight(int, int, int) , Image.RemoveMetadata() , Image.CanSave(ImageOptionsBase) , Image.Resize(int, int) , Image.Resize(int, int, ResizeType) , Image.Resize(int, int, ImageResizeSettings) , Image.GetDefaultOptions(object[]) , Image.GetOriginalOptions() , Image.ResizeWidthProportionally(int) , Image.ResizeHeightProportionally(int) , Image.ResizeWidthProportionally(int, ResizeType) , Image.ResizeHeightProportionally(int, ResizeType) , Image.ResizeWidthProportionally(int, ImageResizeSettings) , Image.ResizeHeightProportionally(int, ImageResizeSettings) , Image.RotateFlip(RotateFlipType) , Image.Rotate(float) , Image.Crop(Rectangle) , Image.Crop(int, int, int, int) , Image.Save() , Image.Save(string) , Image.Save(string, ImageOptionsBase) , Image.Save(string, ImageOptionsBase, Rectangle) , Image.Save(Stream, ImageOptionsBase) , Image.Save(Stream, ImageOptionsBase, Rectangle) , Image.GetSerializedStream(ImageOptionsBase, Rectangle, out int) , Image.SetPalette(IColorPalette, bool) , Image.BitsPerPixel , Image.Bounds , Image.Container , Image.Height , Image.Palette , Image.UsePalette , Image.Size , Image.Width , Image.InterruptMonitor , Image.BufferSizeHint , Image.AutoAdjustPalette , Image.HasBackgroundColor , Image.FileFormat , Image.BackgroundColor , DataStreamSupporter.CacheData() , DataStreamSupporter.Save() , DataStreamSupporter.Save(Stream) , DataStreamSupporter.Save(string) , DataStreamSupporter.Save(string, bool) , DataStreamSupporter.DataStreamContainer , DataStreamSupporter.IsCached , DisposableObject.Dispose() , DisposableObject.Disposed , object.GetType() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Constructors
GifFrameBlock(,,。)
启动 Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock 类的新例子。
public GifFrameBlock(ushort width, ushort height)
Parameters
width
ushort
图像宽度。
height
ushort
图像高度。
Examples
此示例显示如何创建 GIF 图像并将其保存到文件中。
string dir = "c:\\temp\\";
// Create a GIF Frame block of 100x100 px.
using (Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock firstBlock = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100))
{
// Fill the entire block in red.
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(firstBlock);
Aspose.Imaging.Brushes.SolidBrush brush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);
gr.FillRectangle(brush, firstBlock.Bounds);
using (Aspose.Imaging.FileFormats.Gif.GifImage gifImage = new Aspose.Imaging.FileFormats.Gif.GifImage(firstBlock))
{
gifImage.Save(dir + "output.gif");
}
}
此示例显示如何使用自定义板创建 GIF 图像并将其保存到文件中。
string dir = "c:\\temp\\";
// Create a GIF Frame block of 100x100 px.
using (Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock firstBlock = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100))
{
// Fill the entire block in red.
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(firstBlock);
Aspose.Imaging.Brushes.SolidBrush brush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);
gr.FillRectangle(brush, firstBlock.Bounds);
// Use 4-bit palette to reduce the image size. The quality can get worse.
Aspose.Imaging.IColorPalette palette = Aspose.Imaging.ColorPaletteHelper.Create4Bit();
using (Aspose.Imaging.FileFormats.Gif.GifImage gifImage = new Aspose.Imaging.FileFormats.Gif.GifImage(firstBlock, palette))
{
gifImage.Save(dir + "output.gif");
}
}
下面的例子显示如何从个别的GIF区块组成动画GIF图像。
string dir = "c:\\temp\\";
// Create a GIF image 100 x 100 px.
// The first block is fully black by default.
using (Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock firstBlock = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100))
using (Aspose.Imaging.FileFormats.Gif.GifImage gifImage = new Aspose.Imaging.FileFormats.Gif.GifImage(firstBlock))
{
// The first circle is red
Aspose.Imaging.Brushes.SolidBrush brush1 = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);
// The second circle is black
Aspose.Imaging.Brushes.SolidBrush brush2 = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Black);
// Gradually inscrease the angle of the red arc shape.
for (int angle = 10; angle <= 360; angle += 10)
{
Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock block = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100);
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(block);
gr.FillPie(brush1, block.Bounds, 0, angle);
gifImage.AddBlock(block);
}
// Gradually inscrease the angle of the black arc and wipe out the red arc.
for (int angle = 10; angle <= 360; angle += 10)
{
Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock block = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100);
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(block);
gr.FillPie(brush2, block.Bounds, 0, angle);
gr.FillPie(brush1, block.Bounds, angle, 360 - angle);
gifImage.AddBlock(block);
}
gifImage.Save(dir + "animated_radar.gif");
}
GifFrameBlock(,,,,,。)
启动 Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock 类的新例子。
public GifFrameBlock(ushort left, ushort top, ushort width, ushort height)
Parameters
left
ushort
左图像位置。
top
ushort
顶部图像位置。
width
ushort
图像宽度。
height
ushort
图像高度。
GifFrameBlock(ushort, ushort, ushort, ushort, IColorPalette, bool, bool, byte)
启动 Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock 类的新例子。
public GifFrameBlock(ushort left, ushort top, ushort width, ushort height, IColorPalette colorPalette, bool isPaletteSorted, bool isGifFrameInterlaced, byte bitsPerPixel)
Parameters
left
ushort
左图像位置。
top
ushort
顶部图像位置。
width
ushort
图像宽度。
height
ushort
图像高度。
colorPalette
IColorPalette
颜色板。
isPaletteSorted
bool
如果设置为“真实”,则分类颜色板。
isGifFrameInterlaced
bool
如果设置为“真实”,则 GIF 框架将相互关联。
bitsPerPixel
byte
每像素的比特
GifFrameBlock(RasterImage)
启动 Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock 类的新例子。
public GifFrameBlock(RasterImage image)
Parameters
image
RasterImage
图像以启动框像素和面板数据。
GifFrameBlock(拉斯特图像, ushort, ushort)
启动 Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock 类的新例子。
public GifFrameBlock(RasterImage image, ushort left, ushort top)
Parameters
image
RasterImage
图像以启动框像素和面板数据。
left
ushort
左图像位置。
top
ushort
顶部图像位置。
GifFrameBlock(RasterImage, ushort, ushort, bool, bool, byte)
启动 Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock 类的新例子。
public GifFrameBlock(RasterImage image, ushort left, ushort top, bool isPaletteSorted, bool isGifFrameInterlaced, byte lzwCodeSize)
Parameters
image
RasterImage
图像以启动框像素和面板数据。
left
ushort
左图像位置。
top
ushort
顶部图像位置。
isPaletteSorted
bool
如果设置为“真实”,则分类颜色板。
isGifFrameInterlaced
bool
如果设置为“真实”,则 GIF 框架将相互关联。
lzwCodeSize
byte
每像素的比特
GifFrameBlock(Stream)
启动 Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock 类的新例子。
public GifFrameBlock(Stream stream)
Parameters
stream
Stream
流来从图像上传并启动框像素和面板数据。
GifFrameBlock(流量, ushort, ushort)
启动 Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock 类的新例子。
public GifFrameBlock(Stream stream, ushort left, ushort top)
Parameters
stream
Stream
流来从图像上传并启动框像素和面板数据。
left
ushort
左图像位置。
top
ushort
顶部图像位置。
GifFrameBlock(流, ushort, ushort, bool, bool, byte)
启动 Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock 类的新例子。
public GifFrameBlock(Stream stream, ushort left, ushort top, bool isPaletteSorted, bool isGifFrameInterlaced, byte lzwCodeSize)
Parameters
stream
Stream
流来从图像上传并启动框像素和面板数据。
left
ushort
左图像位置。
top
ushort
顶部图像位置。
isPaletteSorted
bool
如果设置为“真实”,则分类颜色板。
isGifFrameInterlaced
bool
如果设置为“真实”,则 GIF 框架将相互关联。
lzwCodeSize
byte
每像素的比特
GifFrameBlock(线条)
启动 Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock 类的新例子。
public GifFrameBlock(string path)
Parameters
path
string
路径从图像上传并启动框像素和面板数据。
GifFrameBlock(, Ushort, ushort)
启动 Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock 类的新例子。
public GifFrameBlock(string path, ushort left, ushort top)
Parameters
path
string
路径从图像上传并启动框像素和面板数据。
left
ushort
左图像位置。
top
ushort
顶部图像位置。
GifFrameBlock(字符串, ushort, ushort, bool, bool, byte)
启动 Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock 类的新例子。
public GifFrameBlock(string path, ushort left, ushort top, bool isPaletteSorted, bool isGifFrameInterlaced, byte lzwCodeSize)
Parameters
path
string
路径从图像上传并启动框像素和面板数据。
left
ushort
左图像位置。
top
ushort
顶部图像位置。
isPaletteSorted
bool
如果设置为“真实”,则分类颜色板。
isGifFrameInterlaced
bool
如果设置为“真实”,则 GIF 框架将相互关联。
lzwCodeSize
byte
每像素的比特
Fields
ExtensionLabel
区块扩展标签。
public const int ExtensionLabel = 44
领域价值
ImageDescriptorSize
图像描述器大小。
public const int ImageDescriptorSize = 10
领域价值
Properties
BackgroundColor
收到或设置背景颜色的值。
public override Color BackgroundColor { get; set; }
财产价值
BitsPerPixel
接收图像比特每像素计算。
public override int BitsPerPixel { get; }
财产价值
ControlBlock
接收与此区块相关的图形控制区块。
public GifGraphicsControlBlock ControlBlock { get; }
财产价值
DisposalMethod
获取分配方法。
public AnimationDisposalMethods DisposalMethod { get; }
财产价值
FileFormat
获取文件格式的值
public override FileFormat FileFormat { get; }
财产价值
Flags
拿着或放着旗帜。
public byte Flags { get; set; }
财产价值
FrameLeft
得到左。
public int FrameLeft { get; }
财产价值
FrameTime
接收或设置时间。
public int FrameTime { get; set; }
财产价值
FrameTop
转换为p。
public int FrameTop { get; }
财产价值
GifFrameBitsPerPixel
接收或设置 GIF 框比特每像素。
public byte GifFrameBitsPerPixel { get; set; }
财产价值
HasTransparentColor
收到一个值,表明框块是否有透明的颜色。
public override bool HasTransparentColor { get; set; }
财产价值
Height
得到图像高度。
public override int Height { get; }
财产价值
Interlaced
收到或设置一个值,表明这个 Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock 是否被关联。
public bool Interlaced { get; set; }
财产价值
IsInterlaced
收到一个值,表明此图像示例是否相互关联。
public bool IsInterlaced { get; }
财产价值
IsPaletteSorted
收到或设置一个值,表明颜色板是否分类。
public bool IsPaletteSorted { get; set; }
财产价值
Left
接收或设置左图像位置。
[JsonProperty]
public ushort Left { get; set; }
财产价值
Top
接收或设置顶部图像位置。
[JsonProperty]
public ushort Top { get; set; }
财产价值
TransparentColor
得到透明的框块颜色。
public override Color TransparentColor { get; set; }
财产价值
UseAlphaBlending
得到了一个值,表明是否(使用阿尔法混合)。
public bool UseAlphaBlending { get; }
财产价值
Width
得到图像的宽度。
public override int Width { get; }
财产价值
Methods
AdjustBrightness(因特)
调整图像的亮度。
public override void AdjustBrightness(int brightness)
Parameters
brightness
int
光的价值。
CreateFlags(彩色,彩色,彩色,彩色)
创建旗帜。
public static byte CreateFlags(IColorPalette colorPalette, bool isPaletteSorted, bool isGifFrameInterlaced)
Parameters
colorPalette
IColorPalette
颜色板。
isPaletteSorted
bool
如果设置为“真实”,颜色在颜色板分类。
isGifFrameInterlaced
bool
如果设置为“真实”,则 GIF 框图像将相互链接。
Returns
创建的旗帜。
GetColorPalette(色彩,色彩,色彩)
接收相关颜色板。
public static IColorPalette GetColorPalette(IColorPalette framePalette, IColorPalette containerPalette)
Parameters
framePalette
IColorPalette
框架板。
containerPalette
IColorPalette
容器包装。
Returns
颜色板。
GetFullFrame()
得到完整的框架。
public RasterImage GetFullFrame()
Returns
全 全 全 全 全 全
Exceptions
GetOriginalOptions()
获得基于原始文件设置的选项。这可能有助于保持原始图像的细节深度和其他参数不变。例如,如果我们加载一张黑白的PNG图像,每像素1比特,然后使用Aspose.Imaging.DataStreamSupporter.Save(System.String)方法,输出PNG图像,每像素将产生8位。要避免它,并以每像素1比特保存PNG图像,使用此方法获得相应的储蓄选项并通过它们。在 Aspose.Imaging.Image.Save(System.String,Aspose.Imaging.ImageOptionsBase)方法作为第二个参数。
public override ImageOptionsBase GetOriginalOptions()
Returns
基于原始文件设置的选项。
OnPaletteChanged(色彩,色彩,色彩)
被称为当板块变更时。
protected override void OnPaletteChanged(IColorPalette oldPalette, IColorPalette newPalette)
Parameters
oldPalette
IColorPalette
旧的板块。
newPalette
IColorPalette
新的板块。
OnPaletteChanging(色彩,色彩,色彩)
被称为当板块发生变化时。
protected override void OnPaletteChanging(IColorPalette oldPalette, IColorPalette newPalette)
Parameters
oldPalette
IColorPalette
旧的板块。
newPalette
IColorPalette
新的板块。
ReplaceColor(int , byte , int)
它用允许的差异替换一个颜色,并保留原始的阿尔法值,以节省顺利的边缘。
public override void ReplaceColor(int oldColorArgb, byte oldColorDiff, int newColorArgb)
Parameters
oldColorArgb
int
旧颜色 ARGB 值将被取代。
oldColorDiff
byte
允许旧颜色的差异,以便能够扩展取代的颜色色调。
newColorArgb
int
新颜色 ARGB 值取代旧颜色。
ReplaceNonTransparentColors(因特)
它将所有不透明的颜色替换为新的颜色,并保留原始的阿尔法值,以节省顺利的边缘。注意:如果您在没有透明度的图像上使用它,则所有颜色都会被单一的颜色取代。
public override void ReplaceNonTransparentColors(int newColorArgb)
Parameters
newColorArgb
int
新颜色ARGB值取代不透明的颜色。
Resize(int , int , ImageResizeSettings)
重定向这个 Aspose.Imaging.RasterCachedImage 例子。
public override void Resize(int newWidth, int newHeight, ImageResizeSettings imageResizeSettings)
Parameters
newWidth
int
新宽。
newHeight
int
新高度。
imageResizeSettings
ImageResizeSettings
重新设置。
SaveData(Stream)
保存数据。
protected override void SaveData(Stream stream)
Parameters
stream
Stream
流来保存数据。
UpdateDimensions(int , int , int)
更新图像尺寸。
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
新图像宽度。
newHeight
int
新图像高度。