GifImage 类

Summary: The API for Graphical Interchange Format (GIF) image file provides
developers with versatile tools for processing compressed raster images and
animated GIFs. Offering features like XMP metadata handling, color palette
settings, background and transparent color control, opacity settings, resize,
crop, filter application, gamma corrections, contrast adjustment, grayscale
transformation, and conversion to other formats. This API empowers seamless
manipulation and enhancement of GIF images for a wide range of applications.

Module: aspose.imaging.fileformats.gif

Full Name: aspose.imaging.fileformats.gif.GifImage

Inheritance: IObjectWithBounds, IMetadataContainer, IHasExifData, IHasMetadata, IHasXmpData, IRasterImageArgb32PixelLoader, IRasterImageRawDataLoader, IMultipageImage, IMultipageImageExt, RasterCachedMultipageImage

Constructors

Name描述
GifImage(first_frame)使用 GifImage
构造函数,制作 GIF 图像变得轻而易举。只需提供 firstFrame 参数,即可进入动态
可视化交流的世界。
GifImage(first_frame, global_palette)使用指定的参数为首帧和全局调色板初始化一个新的 GifImage 对象。
快速开始管理 GIF 图像,确保通过可自定义设置实现准确呈现,以获得最佳效果。
GifImage(first_frame, global_palette, is_palette_sorted, palette_color_resolution, palette_background_color_index, aspect_ratio, has_trailer)使用 GifImage 构造函数轻松入门。借助此
简单方法,您可以轻松创建动画 GIF。只需提供 firstFrame、globalPalette、paletteColorResolution、aspectRatio 等
参数,即可让您的视觉作品栩栩如生。

Properties

NameTypeAccess描述
active_frameGifFrameBlockr/w使用此属性管理和操作帧,实现对 GIF 图像中活动帧的平滑导航和
修改。
auto_adjust_paletteboolr/w获取或设置一个值,指示是否自动调整调色板。
background_colorColorr/w使用此属性管理 GIF 图像的背景颜色。您可以设置或
获取背景颜色,以确保一致性并提升视觉吸引力。
background_color_indexSystem.Byter/w使用此属性控制 GIF 图像的背景颜色索引。设置或
获取索引,以保持一致性或实现期望的视觉效果。
bits_per_pixelintr获取图像每像素位数计数。
blocksIGifBlock[]r通过此属性无缝访问 GIF 块,便于轻松
检索和操作图像的底层数据结构。
boundsRectangler获取对象的边界。
buffer_size_hintintr/w获取或设置缓冲区大小提示,该提示定义了所有内部缓冲区的最大允许大小。
containerImager获取 Image 容器。
data_stream_containerStreamContainerr获取对象的数据流。
disposedboolr获取一个值,指示此实例是否已释放。
exif_dataExifDatar/w获取或设置 Exif 实例。
file_formatFileFormatr使用此属性轻松获取文件格式。它是识别文件格式的首选来源,
无缝集成到您的工作流中,提供重要信息,毫不费力。
has_alphaboolr获取指示此实例是否具有 alpha 的值。
has_background_colorboolr/w此属性决定 GIF 图像是否包含背景颜色。如果
为 true,则表示图像包含背景颜色。
has_trailerboolr/w使用此属性管理 GIF 文件中 trailer 的存在。无论是需要检查 trailer 是否存在还是设置其存在,此属性都能简化
过程。通过此直观功能保持 GIF 文件结构化并符合规范。
has_transparent_colorboolr/w确定 GIF 图像的活动帧是否包含透明颜色。
此属性提供了一种便捷方式来检查图像内部的透明度。
heightintr获取图像高度。
horizontal_resolutionfloatr/w获取或设置此 RasterImage 的水平分辨率(每英寸像素数)。
image_opacityfloatr获取图像中活动帧的不透明度,提供其透明度水平的洞察。此属性对于了解图像中活动帧的透明或不透明程度尤为有用。
interrupt_monitorInterruptMonitorr/w获取或设置中断监视器。
is_cachedboolr获取指示图像数据当前是否已缓存的值。
is_interlacedboolr确定图像是否为交错显示,这会影响加载时的呈现效果。此
属性提供对图像渲染行为的洞察,对于
优化加载策略和提升整体观看体验至关重要。
is_palette_sortedboolr/w使用此属性控制 GIF 图像中调色板的排序。无论
您是需要检查调色板是否已排序,还是设置排序行为,此
属性都提供了一种直接的方式来管理 GIF 文件中调色板的组织。
is_raw_data_availableboolr获取指示是否支持原始数据加载的值。
loops_countintr/w使用此属性轻松获取循环计数。如果您的 GIF 图像包含
循环信息,此属性可快速访问循环计数,使您能够无缝管理 GIF 文件中的循环行为。
metadataImageMetadatar获取或设置来自帧的 XMP 数据。
page_countintr使用此
简单属性检索图像中包含的页面总数。非常适合快速评估图像内容的范围。
pagesImage[]r通过此便捷属性获取图像内的页面访问权限,
允许根据需要无缝导航和操作各个页面。
paletteIColorPaletter/w获取或设置颜色调色板。当像素直接表示时,不使用颜色调色板。
palette_color_resolution_bitsSystem.Byter/w使用此属性管理 GIF 图像的调色板颜色分辨率。调整
调色板中表示颜色的位数,提供对色深和图像质量的精细控制。
pixel_aspect_ratioSystem.Byter/w使用此属性管理 GIF 图像的像素宽高比。设置或检索
宽高比,以确保渲染准确并保持视觉保真度。
premultiply_componentsboolr/w获取或设置一个值,指示图像组件是否必须进行预乘。
raw_custom_color_converterIColorConverterr/w获取或设置自定义颜色转换器
raw_data_formatPixelDataFormatr获取原始数据格式。
raw_data_settingsRawDataSettingsr获取当前原始数据设置。注意,使用这些设置时,数据将在不进行转换的情况下加载。
raw_fallback_indexintr/w获取或设置当调色板索引超出范围时使用的回退索引
raw_indexed_color_converterIIndexedColorConverterr/w获取或设置索引颜色转换器
raw_line_sizeintr获取以字节为单位的原始行大小。
sizeSizer获取对象大小。
transparent_colorColorr/w检索 GIF 图像中活动帧的透明颜色。此属性
允许您访问当前活动帧中被指定为透明的特定颜色。
update_xmp_databoolr/w获取或设置一个值,指示是否更新 XMP 元数据。
use_paletteboolr获取一个值,指示是否使用图像调色板。
use_raw_databoolr/w获取或设置一个值,指示在可用原始数据加载时是否使用原始数据加载。
vertical_resolutionfloatr/w获取或设置此 RasterImage 的垂直分辨率(每英寸像素数)。
widthintr获取图像宽度。
xmp_dataXmpPacketWrapperr/w获取或设置 Xmp 数据。

Methods

Name描述
add_block(block)添加新的 GIF 块允许您在图像中包含额外数据。
此方法使您能够向 GIF 图像追加自定义块,这些块可以
包含各种类型的信息。
add_page(page)将新页面无缝合并到现有图像中,增强其内容并扩展其范围。此方法通过添加额外
内容来丰富图像集合,促进图像管理和构图的创造力与灵活性。
adjust_brightness(brightness)根据指定的
brightness 参数调整图像的亮度。此方法统一修改整幅图像的亮度,增强或降低整体光照以实现
所需效果。
adjust_contrast(contrast)调整图像的对比度,增强或降低像素之间亮度的差异。此方法修改图像的整体色调范围,
使暗部更暗、亮部更亮,以提升视觉清晰度和细节。
adjust_gamma(gamma)通过应用伽马校正提升图像质量。此方法调整图像的颜色伽马,以实现最佳视觉清晰度。它修改每个像素的伽马值,进而改善颜色呈现和整体图像外观。
adjust_gamma(gamma_red, gamma_green, gamma_blue)图像的伽马校正对像素值进行非线性调整,
根据红、绿、蓝通道的指定系数来增强或降低亮度。此方法有助于微调图像的色彩平衡和
亮度,提升整体外观和视觉质量。
analyze_percentage_digital_signature(password)计算提取数据与原始密码之间的相似度百分比。
auto_brightness_contrast()对整个图像执行自动自适应亮度和对比度归一化。
auto_rotate()自动根据从 Exif
元数据中提取的方向数据旋转图像。此方法确保图像以正确的方向显示,
提升用户体验并消除手动调整的需求。通过
分析 Exif 信息,图像相应旋转,提供跨不同平台和设备的无缝
浏览体验。此自动旋转过程简化了图像处理,并在处理大量方向各异的图像批次时,
提高整体可用性。
binarize_bradley(brightness_difference)使用 Bradley 的自适应阈值算法与
积分图像阈值化相结合,是将灰度图像转换为二进制图像的方法。该算法根据指定窗口内周围像素的平均强度为每个像素计算局部阈值。通过
根据局部像素强度自适应调整阈值,Bradley 的
方法能够有效处理图像中光照和对比度的变化。
binarize_bradley(brightness_difference, window_size)使用 Bradley 的自适应阈值算法和积分图阈值进行图像二值化
binarize_fixed(threshold)使用预定义阈值对图像进行二值化,将灰度或彩色
图像转换为二进制图像,其中每个像素根据其强度值是否超过指定阈值被分类为黑或白。
binarize_otsu()使用 Otsu 阈值化对图像进行二值化是一种自动
确定将灰度图像转换为二进制图像的最佳阈值的方法。Otsu 阈值化算法计算能够
最小化两类(前景和背景)像素强度的类内方差的阈值。该技术在阈值未知且需要基于图像直方图自适应确定时尤为有用。
blend(origin, overlay, overlay_alpha)将此图像实例与 overlay 图像混合。
blend(origin, overlay, overlay_area, overlay_alpha)将此图像实例与 overlay 图像混合。
cache_data()缓存私有数据。
can_load(file_path)确定是否可以从指定的文件路径加载图像。
can_load(file_path, load_options)确定是否可以从指定的文件路径加载图像,并可选地使用指定的打开选项。
can_load(stream)确定是否可以从指定的流加载图像。
can_load(stream, load_options)确定是否可以从指定的流加载图像,并可选地使用指定的 loadOptions
can_load_stream(stream)确定是否可以从指定的流加载图像。
can_load_stream_with_options(stream, load_options)确定是否可以从指定的流加载图像,并可选地使用指定的 loadOptions
can_load_with_options(file_path, load_options)确定是否可以从指定的文件路径加载图像,并可选地使用指定的打开选项。
can_save(options)确定是否可以将图像保存为由传入的保存选项表示的指定文件格式。
clear_blocks()清除所有 GIF 块会移除图像中存储的任何现有数据。
此操作有效地将图像重置为空状态,删除所有
先前添加的块。当您需要以全新、干净的状态创建或修改 GIF 图像时,请使用此方法。
create(files)创建包含指定文件的多页图像。
create(files, throw_exception_on_load_error)创建包含指定文件的多页图像。
create(image_options, width, height)使用指定的创建选项创建新图像。
create(image_options, width, height, pixels)创建一个来自提供的像素数组的 RasterImage 实例。

验证指定的宽度和高度是否与像素数据的维度匹配。
仅当库处于授权模式时才能使用此方法。
create(images)使用指定的图像作为页面创建新图像。
create(images, dispose_images)创建一个新图像,将指定的图像作为页面。
create(multipage_create_options)创建指定的多页创建选项。
create_from_files(files)创建包含指定文件的多页图像,将其作为延迟加载页面。
create_from_files(files, throw_exception_on_load_error)创建包含指定文件的多页图像,将其作为延迟加载页面。
create_from_images(images)使用指定的图像作为页面创建新图像。
create_from_images(images, dispose_images)创建一个新图像,将指定的图像作为页面。
crop(left_shift, right_shift, top_shift, bottom_shift)使用位移裁剪图像。
crop(rectangle)使用指定的矩形区域裁剪图像。此操作会移除图像的外部
部分,仅保留由矩形定义的选定区域。
dither(dithering_method, bits_count)对当前图像执行抖动处理。
dither(dithering_method, bits_count, custom_palette)对当前图像应用抖动处理。此过程通过
减少颜色带状效应并改善颜色过渡来提升图像质量,从而产生更平滑的
外观。
embed_digital_signature(password)根据提供的密码将数字签名嵌入图像的每一页。
filter(rectangle, options)对图像的指定区域应用特定滤镜,以提升其视觉
质量或按需改变外观。此方法仅对定义矩形内的像素进行处理,允许进行有针对性的调整,同时保持周围图像数据的完整性。
get_argb_32_pixel(x, y)获取图像的 32 位 ARGB 像素。
get_default_argb_32_pixels(rectangle)获取默认的 32 位 ARGB 像素数组。
get_default_options(args)获取默认选项。
get_default_pixels(rectangle, partial_pixel_loader)使用部分像素加载器获取默认像素数组。
get_default_raw_data(rectangle, partial_raw_data_loader, raw_data_settings)使用部分像素加载器获取默认原始数据数组。
get_default_raw_data(rectangle, raw_data_settings)获取默认原始数据数组。
get_file_format(file_path)获取文件格式。
get_file_format(stream)获取文件格式。
get_file_format_of_stream(stream)获取文件格式。
get_fitting_rectangle(rectangle, pixels, width, height)获取适合当前图像的矩形。
get_fitting_rectangle(rectangle, width, height)获取适合当前图像的矩形。
get_modify_date(use_default)获取资源图像最后修改的日期和时间。
get_original_options()检索基于原始文件设置的选项,这对于在图像处理和操作中保持保真度
和一致性至关重要。此方法允许将文件特定参数无缝集成到后续操作中,确保
精确呈现并遵循图像固有特性。
这有助于保持原始图像的位深度和其他参数不变。
例如,如果我们加载一个每像素 1 位的黑白 PNG 图像,然后使用
DataStreamSupporter.save(file_path) 方法保存,它将生成每像素 8 位的输出 PNG 图像。
为避免这种情况并以每像素 1 位保存 PNG 图像,请使用此方法获取相应的保存选项,并将它们
作为第二个参数传递给 Image.save(file_path, options) 方法。
get_pixel(x, y)获取图像像素。
get_proportional_height(width, height, new_width)获取比例高度。
get_proportional_width(width, height, new_height)获取比例宽度。
get_serialized_stream(image_options, clipping_rectangle, page_number)转换为 aps。
get_skew_angle()获取倾斜角度。
此方法适用于扫描的文本文件,用于在扫描时确定倾斜角度。
grayscale()将图像转换为灰度表示会通过去除颜色信息而保留亮度,将彩色
图像转换为灰度版本。此过程将图像简化为灰色阴影,使其适用于
打印、文档处理和灰度分析等各种应用。
insert_block(index, block)插入新的 GIF 块允许您在图像的特定位置添加自定义数据。此方法使您能够在 GIF 图像中将自定义块放置在所需位置,提供了组织和结构化图像数据的灵活性。
is_digital_signed(password, percentage_threshold)使用提供的密码和阈值执行快速检查,以确定图像是否已数字签名。
load(file_path)从指定的文件路径或 URL 加载新图像。
如果 filePath 是文件路径,方法仅打开该文件。
如果 filePath 是 URL,方法会下载文件,将其存为临时文件,然后打开它。
load(file_path, load_options)从指定的文件路径或 URL 加载新图像。
如果 filePath 是文件路径,方法仅打开该文件。
如果 filePath 是 URL,方法会下载文件,将其存为临时文件,然后打开它。
load(stream)从指定的流加载新图像。
load(stream, load_options)从指定的流加载新图像。
load_argb_32_pixels(rectangle)加载 32 位 ARGB 像素。
load_argb_64_pixels(rectangle)加载 64 位 ARGB 像素。
load_cmyk_32_pixels(rectangle)加载 CMYK 格式的像素。
load_cmyk_pixels(rectangle)加载 CMYK 格式的像素。
此方法已弃用。请使用更有效的 RasterImage.load_cmyk_32_pixels(rectangle) 方法。
load_partial_argb_32_pixels(rectangle, partial_pixel_loader)部分加载 32 位 ARGB 像素(按块)。
load_partial_argb_64_pixels(rectangle, partial_pixel_loader)按包部分加载 64 位 ARGB 像素。
load_partial_pixels(desired_rectangle, pixel_loader)按包部分加载像素。
load_pixels(rectangle)加载像素。
load_raw_data(rectangle, dest_image_bounds, raw_data_settings, raw_data_loader)加载原始数据。
load_raw_data(rectangle, raw_data_settings, raw_data_loader)加载原始数据。
load_stream(stream)从指定的流加载新图像。
load_stream_with_options(stream, load_options)从指定的流加载新图像。
load_with_options(file_path, load_options)从指定的文件路径或 URL 加载新图像。
如果 filePath 是文件路径,方法仅打开该文件。
如果 filePath 是 URL,方法会下载文件,将其存为临时文件,然后打开它。
normalize_angle()归一化角度。
此方法适用于扫描的文本文档,以消除倾斜扫描。
此方法使用 RasterImage.get_skew_angle()RasterImage.rotate(angle) 方法。
normalize_angle(resize_proportionally, background_color)归一化角度。
此方法适用于扫描的文本文档,以消除倾斜扫描。
此方法使用 RasterImage.get_skew_angle()RasterCachedMultipageImage.rotate(angle, resize_proportionally, background_color) 方法。
normalize_histogram()归一化图像直方图 — 调整像素值以使用全部可用范围。
order_blocks()按照 GIF 规范对 GIF 块进行排序可确保正确的 GIF
布局并符合标准。此过程涉及按照规范定义的正确顺序排列
块。此外,还可能需要移除某些 GifGraphicsControlBlock 实例,这些实例对最终布局并非必需。遵循 GIF 规范后,生成的图像将结构正确,并兼容 GIF 查看应用程序。
read_argb_32_scan_line(scan_line_index)按指定的扫描线索引读取整条扫描线。
read_scan_line(scan_line_index)按指定的扫描线索引读取整条扫描线。
remove_block(block)删除 GIF 块会从图像中移除特定数据,提供清理或修改图像结构的能力。此方法使您能够删除不需要或多余的块,优化 GIF 图像以实现高效存储。使用此功能可在保持图像完整性和质量的同时,消除过时的信息。
remove_metadata()通过将此 IHasXmpData.xmp_data 值设置为 None 来移除此图像实例的元数据。
replace_argb(old_color_argb, old_color_diff, new_color_argb)在允许的差异范围内将一种颜色替换为另一种颜色,并保留原始 alpha 值以保持平滑边缘。
replace_color(old_color, old_color_diff, new_color)在允许的差异范围内将一种颜色替换为另一种颜色,并保留原始 alpha 值以保持平滑边缘。
replace_color(old_color_argb, old_color_diff, new_color_argb)在允许的差异范围内将一种颜色替换为另一种颜色,并保留原始 alpha 值以保持平滑边缘。
replace_non_transparent_colors(new_color)将所有非透明颜色替换为新颜色,并保留原始 alpha 值以保持平滑边缘。
注意:如果在没有透明度的图像上使用,它将把所有颜色替换为单一颜色。
replace_non_transparent_colors(new_color_argb)将所有非透明颜色替换为新颜色,并保留原始 alpha 值以保持平滑边缘。
注意:如果在没有透明度的图像上使用,它将把所有颜色替换为单一颜色。
resize(new_width, new_height)调整图像大小。使用默认的 ResizeType.NEAREST_NEIGHBOUR_RESAMPLE
resize(new_width, new_height, resize_type)调整此 Image 实例的大小。
resize(new_width, new_height, settings)调整此 Image 实例的大小。
resize_by_settings(new_width, new_height, settings)调整图像大小。
resize_by_type(new_width, new_height, resize_type)调整图像大小。
resize_full_frame(new_width, new_height, resize_type)在调整图像大小时考虑 GIF 每页的完整帧,从而防止潜在伪影的出现。此方法对于保持图像的完整性和质量至关重要,尤其在处理动画 GIF 或帧序列时。
resize_height_proportionally(new_height)按比例调整高度。默认使用 ResizeType.NEAREST_NEIGHBOUR_RESAMPLE
resize_height_proportionally(new_height, resize_type)按比例调整宽度。
resize_height_proportionally(new_height, settings)按比例调整高度。
resize_height_proportionally_settings(new_height, settings)按比例调整高度。
resize_proportional(new_width, new_height, resize_type)比例缩放在调整图像尺寸的同时保持其宽高比,确保图像不会出现拉伸或失真。此方法按比例缩放图像,宽度和高度以相同因子进行缩放。
比例缩放将根据 newWidth/width 和 newHeight/height 的比例对每帧进行大小调整。
resize_width_proportionally(new_width)按比例调整宽度。默认使用 ResizeType.NEAREST_NEIGHBOUR_RESAMPLE
resize_width_proportionally(new_width, resize_type)按比例调整宽度。
resize_width_proportionally(new_width, settings)按比例调整宽度。
resize_width_proportionally_settings(new_width, settings)按比例调整宽度。
rotate(angle)围绕中心旋转图像。
rotate(angle, resize_proportionally, background_color)此方法围绕图像中心点旋转图像。通过指定旋转
角度,您可以顺时针或逆时针旋转图像以实现所需的方向。此旋转有助于在不扭曲内容的情况下调整图像的呈现或
对齐。
rotate_flip(rotate_flip_type)仅对活动帧执行旋转、翻转或两者兼施。此操作
仅对图像当前活动帧应用变换,保持序列中其他帧的完整性。
rotate_flip_all(rotate_flip)旋转并翻转全部。
save()将图像数据保存到底层流中。
save(file_path)将图像保存到指定的文件位置。
save(file_path, options)根据保存选项,将对象的数据保存到指定文件位置的指定文件格式中。
save(file_path, options, bounds_rectangle)根据保存选项,将对象的数据保存到指定文件位置的指定文件格式中。
save(file_path, over_write)将对象的数据保存到指定的文件位置。
save(stream)将对象的数据保存到指定的流中。
save(stream, options_base)根据保存选项,将图像的数据保存到指定流中的指定文件格式。
save(stream, options_base, bounds_rectangle)根据保存选项,将图像的数据保存到指定流中的指定文件格式。
save_argb_32_pixels(rectangle, pixels)保存 32 位 ARGB 像素。
save_cmyk_32_pixels(rectangle, pixels)保存像素。
save_cmyk_pixels(rectangle, pixels)保存像素。
此方法已弃用。请使用更有效的 RasterImage.save_cmyk_32_pixels(rectangle, pixels) 方法。
save_pixels(rectangle, pixels)保存像素的内部主要内容。
save_raw_data(data, data_offset, rectangle, raw_data_settings)保存原始数据。
save_to_stream(stream)将对象的数据保存到指定的流中。
save_to_stream_with_options(stream, options_base)根据保存选项,将图像的数据保存到指定流中的指定文件格式。
save_to_stream_with_options_rect(stream, options_base, bounds_rectangle)根据保存选项,将图像的数据保存到指定流中的指定文件格式。
save_with_options(file_path, options)根据保存选项,将对象的数据保存到指定文件位置的指定文件格式中。
save_with_options_rect(file_path, options, bounds_rectangle)根据保存选项,将对象的数据保存到指定文件位置的指定文件格式中。
set_argb_32_pixel(x, y, argb_32_color)为指定位置设置图像的 32 位 ARGB 像素。
set_frame_time(time)调整每帧的持续时间(毫秒),确保整个图像序列的时间一致。此方法统一设置每帧的显示时间,以实现对动画速度的精确控制。
更改此值将重置所有帧的延迟。
set_palette(palette, update_colors)设置图像调色板。
set_pixel(x, y, color)为指定位置设置图像像素。
set_resolution(dpi_x, dpi_y)为此 RasterImage 设置分辨率。
try_set_metadata(metadata)尝试设置一个 metadata 实例,前提是此 Image 实例支持并实现 IImageMetadataFormat 实例。
write_argb_32_scan_line(scan_line_index, argb_32_pixels)将整条扫描线写入指定的扫描线索引。
write_scan_line(scan_line_index, pixels)将整条扫描线写入指定的扫描线索引。

Constructor: GifImage(first_frame)

 GifImage(first_frame) 

使用 GifImage
构造函数,制作 GIF 图像变得轻而易举。只需提供 firstFrame 参数,即可进入动态
可视化交流的世界。

Parameters:

参数TypeDescription
first_frameGifFrameBlock用于初始化 GIF 图像的第一帧。

See also:

Example # 1: This example shows how to create a GIF image and save it to a file.

Example # 2: The following example shows how to compose an animated GIF image from individ…

Constructor: GifImage(first_frame, global_palette)

 GifImage(first_frame, global_palette) 

使用指定的参数为首帧和全局调色板初始化一个新的 GifImage 对象。
快速开始管理 GIF 图像,确保通过可自定义设置实现准确呈现,以获得最佳效果。

Parameters:

参数TypeDescription
first_frameGifFrameBlock用于初始化 GIF 图像的第一帧。
global_paletteIColorPalette要使用的全局调色板。注意,如果 firstFrameglobalPalette 均为 null,则使用默认全局调色板。

See also:

Example # 1: This example shows how to create a GIF image with a custom palette and save i…

Constructor: GifImage(first_frame, global_palette, is_palette_sorted, palette_color_resolution, palette_background_color_index, aspect_ratio, has_trailer)

 GifImage(first_frame, global_palette, is_palette_sorted, palette_color_resolution, palette_background_color_index, aspect_ratio, has_trailer) 

使用 GifImage 构造函数轻松入门。借助此
简单方法,您可以轻松创建动画 GIF。只需提供 firstFrame、globalPalette、paletteColorResolution、aspectRatio 等
参数,即可让您的视觉作品栩栩如生。

Parameters:

参数TypeDescription
first_frameGifFrameBlock用于初始化 GIF 图像的第一帧。
global_paletteIColorPalette要使用的全局调色板。注意,如果 firstFrameglobalPalette 均为 null,则使用默认全局调色板。
is_palette_sortedbool如果设置为 true,则调色板会被排序。注意,该参数在 globalPalette 不为 null 时使用。
palette_color_resolutionSystem.Byte调色板颜色分辨率。注意,该参数在 globalPalette 不为 null 时使用。
palette_background_color_indexSystem.Byte调色板背景颜色索引。
aspect_ratioSystem.Byte宽高比。
has_trailerbool如果设置为 true,则 GIF 图像包含尾部,否则在流的末尾不写入尾部。

Property: active_frame

使用此属性管理和操作帧,实现对 GIF 图像中活动帧的平滑导航和
修改。

See also:

Example # 1: The following example shows how to remove all blocks from a GIF image.

Method: add_block(block)

 add_block(block) 

添加新的 GIF 块允许您在图像中包含额外数据。
此方法使您能够向 GIF 图像追加自定义块,这些块可以
包含各种类型的信息。

Parameters:

参数TypeDescription
blockIGifBlock要添加的 GIF 块。

See also:

Example # 1: The following example shows how to compose an animated GIF image from individ…

Method: add_page(page)

 add_page(page) 

将新页面无缝合并到现有图像中,增强其内容并扩展其范围。此方法通过添加额外
内容来丰富图像集合,促进图像管理和构图的创造力与灵活性。

Parameters:

参数TypeDescription
pageRasterImage要添加的页面。

See also:

Example # 1: Create multipage GIF image using single page raster images.

Method: adjust_brightness(brightness)

 adjust_brightness(brightness) 

根据指定的
brightness 参数调整图像的亮度。此方法统一修改整幅图像的亮度,增强或降低整体光照以实现
所需效果。

Parameters:

参数TypeDescription
亮度int亮度值。

See also:

Example # 1: The following example performs brightness correction of a GIF image.

Method: adjust_contrast(contrast)

 adjust_contrast(contrast) 

调整图像的对比度,增强或降低像素之间亮度的差异。此方法修改图像的整体色调范围,
使暗部更暗、亮部更亮,以提升视觉清晰度和细节。

Parameters:

参数TypeDescription
对比度float对比度值(范围为 [-100; 100])

See also:

Example # 1: The following example performs contrast correction of a GIF image.

Method: adjust_gamma(gamma)

 adjust_gamma(gamma) 

通过应用伽马校正提升图像质量。此方法调整图像的颜色伽马,以实现最佳视觉清晰度。它修改每个像素的伽马值,进而改善颜色呈现和整体图像外观。

Parameters:

参数TypeDescription
伽马float红、绿、蓝通道的伽马系数

See also:

Example # 1: The following example performs gamma-correction of a GIF image.

Method: adjust_gamma(gamma_red, gamma_green, gamma_blue)

 adjust_gamma(gamma_red, gamma_green, gamma_blue) 

图像的伽马校正对像素值进行非线性调整,
根据红、绿、蓝通道的指定系数来增强或降低亮度。此方法有助于微调图像的色彩平衡和
亮度,提升整体外观和视觉质量。

Parameters:

参数TypeDescription
gamma_redfloat红色通道的伽马系数
gamma_greenfloat绿色通道的伽马系数
gamma_bluefloat蓝色通道系数的 Gamma

See also:

Example # 1: The following example performs gamma-correction of a GIF image applying diffe…

Method: analyze_percentage_digital_signature(password)

 analyze_percentage_digital_signature(password) 

计算提取数据与原始密码之间的相似度百分比。

Parameters:

参数TypeDescription
密码string用于提取嵌入数据的密码。

Returns

TypeDescription
int百分比相似度值。

Method: binarize_bradley(brightness_difference)

 binarize_bradley(brightness_difference) 

使用 Bradley 的自适应阈值算法与
积分图像阈值化相结合,是将灰度图像转换为二进制图像的方法。该算法根据指定窗口内周围像素的平均强度为每个像素计算局部阈值。通过
根据局部像素强度自适应调整阈值,Bradley 的
方法能够有效处理图像中光照和对比度的变化。

Parameters:

参数TypeDescription
brightness_differencefloat像素与其周围以该像素为中心的 s x s 窗口像素平均值之间的亮度差。

Method: binarize_bradley(brightness_difference, window_size)

 binarize_bradley(brightness_difference, window_size) 

使用 Bradley 的自适应阈值算法和积分图阈值进行图像二值化

Parameters:

参数TypeDescription
brightness_differencefloat像素与以该像素为中心的 s x s 像素窗口的平均值之间的亮度差
window_sizeint以该像素为中心的 s x s 像素窗口的大小

Method: binarize_fixed(threshold)

 binarize_fixed(threshold) 

使用预定义阈值对图像进行二值化,将灰度或彩色
图像转换为二进制图像,其中每个像素根据其强度值是否超过指定阈值被分类为黑或白。

Parameters:

参数TypeDescription
阈值System.Byte阈值。如果像素的对应灰度值大于阈值,则赋值为 255,否则为 0。

See also:

Example # 1: The following example binarizes a GIF image with the predefined threshold. Bi…

Method: blend(origin, overlay, overlay_alpha)

 blend(origin, overlay, overlay_alpha) 

将此图像实例与 overlay 图像混合。

Parameters:

参数TypeDescription
originPoint背景图像混合的原点。
overlayRasterImage覆盖图像。
overlay_alphaSystem.Byte覆盖的 alpha。

Method: blend(origin, overlay, overlay_area, overlay_alpha)

 blend(origin, overlay, overlay_area, overlay_alpha) 

将此图像实例与 overlay 图像混合。

Parameters:

参数TypeDescription
originPoint背景图像混合的原点。
overlayRasterImage覆盖图像。
overlay_areaRectangle覆盖区域。
overlay_alphaSystem.Byte覆盖的 alpha。

Method: can_load(file_path) [static]

 can_load(file_path) 

确定是否可以从指定的文件路径加载图像。

Parameters:

参数TypeDescription
file_pathstring文件路径。

Returns

TypeDescription
booltrue 如果可以从指定文件加载图像;否则为 false

Method: can_load(file_path, load_options) [static]

 can_load(file_path, load_options) 

确定是否可以从指定的文件路径加载图像,并可选地使用指定的打开选项。

Parameters:

参数TypeDescription
file_pathstring文件路径。
load_optionsLoadOptions加载选项。

Returns

TypeDescription
booltrue 如果可以从指定文件加载图像;否则为 false

Method: can_load(stream) [static]

 can_load(stream) 

确定是否可以从指定的流加载图像。

Parameters:

参数TypeDescription
_io.BufferedRandom要加载的流。

Returns

TypeDescription
booltrue 如果可以从指定流加载图像;否则为 false

Method: can_load(stream, load_options) [static]

 can_load(stream, load_options) 

确定是否可以从指定的流加载图像,并可选地使用指定的 loadOptions

Parameters:

参数TypeDescription
_io.BufferedRandom要加载的流。
load_optionsLoadOptions加载选项。

Returns

TypeDescription
booltrue 如果可以从指定流加载图像;否则为 false

Method: can_load_stream(stream) [static]

 can_load_stream(stream) 

确定是否可以从指定的流加载图像。

Parameters:

参数TypeDescription
_io.BufferedRandom要加载的流。

Returns

TypeDescription
booltrue 如果可以从指定流加载图像;否则为 false

Method: can_load_stream_with_options(stream, load_options) [static]

 can_load_stream_with_options(stream, load_options) 

确定是否可以从指定的流加载图像,并可选地使用指定的 loadOptions

Parameters:

参数TypeDescription
_io.BufferedRandom要加载的流。
load_optionsLoadOptions加载选项。

Returns

TypeDescription
booltrue 如果可以从指定流加载图像;否则为 false

Method: can_load_with_options(file_path, load_options) [static]

 can_load_with_options(file_path, load_options) 

确定是否可以从指定的文件路径加载图像,并可选地使用指定的打开选项。

Parameters:

参数TypeDescription
file_pathstring文件路径。
load_optionsLoadOptions加载选项。

Returns

TypeDescription
booltrue 如果可以从指定文件加载图像;否则为 false

Method: can_save(options)

 can_save(options) 

确定是否可以将图像保存为由传入的保存选项表示的指定文件格式。

Parameters:

参数TypeDescription
optionsImageOptionsBase要使用的保存选项。

Returns

TypeDescription
booltrue 如果图像可以保存为由传入的保存选项表示的指定文件格式;否则为 false

Method: create(files) [static]

 create(files) 

创建包含指定文件的多页图像。

Parameters:

参数TypeDescription
文件string[]文件。

Returns

TypeDescription
Image多页图像

Method: create(files, throw_exception_on_load_error) [static]

 create(files, throw_exception_on_load_error) 

创建包含指定文件的多页图像。

Parameters:

参数TypeDescription
文件string[]文件。
throw_exception_on_load_errorbool如果设置为 true [throw exception on load error]。

Returns

TypeDescription
Image多页图像

Method: create(image_options, width, height) [static]

 create(image_options, width, height) 

使用指定的创建选项创建新图像。

Parameters:

参数TypeDescription
image_optionsImageOptionsBase图像选项。
widthint宽度。
heightint高度。

Returns

TypeDescription
Image新创建的图像。

Method: create(image_options, width, height, pixels) [static]

 create(image_options, width, height, pixels) 

创建一个来自提供的像素数组的 RasterImage 实例。

验证指定的宽度和高度是否与像素数据的维度匹配。
仅当库处于授权模式时才能使用此方法。

Parameters:

参数TypeDescription
image_optionsImageOptionsBase用于创建 RasterImage 的选项。
widthintRasterImage 的宽度。
heightintRasterImage 的高度。
像素int[]用于填充图像的像素值数组。

Returns

TypeDescription
Image使用提供的像素数据填充的 RasterImage

Method: create(images) [static]

 create(images) 

使用指定的图像作为页面创建新图像。

Parameters:

参数TypeDescription
imagesImage[]图像。

Returns

TypeDescription
ImageImage 作为 IMultipageImage

Method: create(images, dispose_images) [static]

 create(images, dispose_images) 

创建一个新图像,将指定的图像作为页面。

Parameters:

参数TypeDescription
imagesImage[]图像。
dispose_imagesbool如果设置为 true [dispose images]。

Returns

TypeDescription
ImageImage 作为 IMultipageImage

Method: create(multipage_create_options) [static]

 create(multipage_create_options) 

创建指定的多页创建选项。

Parameters:

参数TypeDescription
multipage_create_optionsMultipageCreateOptions多页创建选项。

Returns

TypeDescription
Image多页图像

Method: create_from_files(files) [static]

 create_from_files(files) 

创建包含指定文件的多页图像,将其作为延迟加载页面。

Parameters:

参数TypeDescription
文件string[]文件。

Returns

TypeDescription
Image多页图像

Method: create_from_files(files, throw_exception_on_load_error) [static]

 create_from_files(files, throw_exception_on_load_error) 

创建包含指定文件的多页图像,将其作为延迟加载页面。

Parameters:

参数TypeDescription
文件string[]文件。
throw_exception_on_load_errorbool如果设置为 true 抛出加载错误异常。

Returns

TypeDescription
Image多页图像

Method: create_from_images(images) [static]

 create_from_images(images) 

使用指定的图像作为页面创建新图像。

Parameters:

参数TypeDescription
imagesImage[]图像。

Returns

TypeDescription
ImageImage 作为 IMultipageImage

Method: create_from_images(images, dispose_images) [static]

 create_from_images(images, dispose_images) 

创建一个新图像,将指定的图像作为页面。

Parameters:

参数TypeDescription
imagesImage[]图像。
dispose_imagesbool如果设置为 true [dispose images]。

Returns

TypeDescription
ImageImage 作为 IMultipageImage

Method: crop(left_shift, right_shift, top_shift, bottom_shift)

 crop(left_shift, right_shift, top_shift, bottom_shift) 

使用位移裁剪图像。

Parameters:

参数TypeDescription
left_shiftint左移。
right_shiftint右移。
top_shiftint上移。
bottom_shiftint下移。

Method: crop(rectangle)

 crop(rectangle) 

使用指定的矩形区域裁剪图像。此操作会移除图像的外部
部分,仅保留由矩形定义的选定区域。

Parameters:

参数TypeDescription
rectangleRectangle矩形。

See also:

Example # 1: The following example crops a GIF image. The cropping area is be specified vi…

Method: dither(dithering_method, bits_count)

 dither(dithering_method, bits_count) 

对当前图像执行抖动处理。

Parameters:

参数TypeDescription
dithering_methodDitheringMethod抖动方法。
bits_countint用于抖动的最终位计数。

Method: dither(dithering_method, bits_count, custom_palette)

 dither(dithering_method, bits_count, custom_palette) 

对当前图像应用抖动处理。此过程通过
减少颜色带状效应并改善颜色过渡来提升图像质量,从而产生更平滑的
外观。

Parameters:

参数TypeDescription
dithering_methodDitheringMethod抖动方法。
bits_countint用于抖动的最终位计数。
custom_paletteIColorPalette用于抖动的自定义调色板。

Method: embed_digital_signature(password)

 embed_digital_signature(password) 

根据提供的密码将数字签名嵌入图像的每一页。

Parameters:

参数TypeDescription
密码string用于生成数字签名数据的密码

Method: filter(rectangle, options)

 filter(rectangle, options) 

对图像的指定区域应用特定滤镜,以提升其视觉
质量或按需改变外观。此方法仅对定义矩形内的像素进行处理,允许进行有针对性的调整,同时保持周围图像数据的完整性。

Parameters:

参数TypeDescription
rectangleRectangle矩形。
optionsFilterOptionsBase选项。

Method: get_argb_32_pixel(x, y)

 get_argb_32_pixel(x, y) 

获取图像的 32 位 ARGB 像素。

Parameters:

参数TypeDescription
xint像素的 x 位置。
yint像素的 y 位置。

Returns

TypeDescription
int指定位置的 32 位 ARGB 像素。

Method: get_default_argb_32_pixels(rectangle)

 get_default_argb_32_pixels(rectangle) 

获取默认的 32 位 ARGB 像素数组。

Parameters:

参数TypeDescription
rectangleRectangle用于获取像素的矩形。

Returns

TypeDescription
int[]默认像素数组。

Method: get_default_options(args)

 get_default_options(args) 

获取默认选项。

Parameters:

参数TypeDescription
argsSystem.Object参数。

Returns

TypeDescription
ImageOptionsBase默认选项

Method: get_default_pixels(rectangle, partial_pixel_loader)

 get_default_pixels(rectangle, partial_pixel_loader) 

使用部分像素加载器获取默认像素数组。

Parameters:

参数TypeDescription
rectangleRectangle用于获取像素的矩形。
partial_pixel_loaderIPartialArgb32PixelLoader部分像素加载器。

Method: get_default_raw_data(rectangle, partial_raw_data_loader, raw_data_settings)

 get_default_raw_data(rectangle, partial_raw_data_loader, raw_data_settings) 

使用部分像素加载器获取默认原始数据数组。

Parameters:

参数TypeDescription
rectangleRectangle用于获取像素的矩形。
partial_raw_data_loaderIPartialRawDataLoader部分原始数据加载器。
raw_data_settingsRawDataSettings原始数据设置。

Method: get_default_raw_data(rectangle, raw_data_settings)

 get_default_raw_data(rectangle, raw_data_settings) 

获取默认原始数据数组。

Parameters:

参数TypeDescription
rectangleRectangle用于获取原始数据的矩形。
raw_data_settingsRawDataSettings原始数据设置。

Returns

TypeDescription
System.Byte默认原始数据数组。

Method: get_file_format(file_path) [static]

 get_file_format(file_path) 

获取文件格式。

Parameters:

参数TypeDescription
file_pathstring文件路径。

Returns

TypeDescription
FileFormat确定的文件格式。

Method: get_file_format(stream) [static]

 get_file_format(stream) 

获取文件格式。

Parameters:

参数TypeDescription
_io.BufferedRandom该流。

Returns

TypeDescription
FileFormat确定的文件格式。

Method: get_file_format_of_stream(stream) [static]

 get_file_format_of_stream(stream) 

获取文件格式。

Parameters:

参数TypeDescription
_io.BufferedRandom该流。

Returns

TypeDescription
FileFormat确定的文件格式。

Method: get_fitting_rectangle(rectangle, pixels, width, height) [static]

 get_fitting_rectangle(rectangle, pixels, width, height) 

获取适合当前图像的矩形。

Parameters:

参数TypeDescription
rectangleRectangle用于获取合适矩形的矩形。
像素int[]32 位 ARGB 像素。
widthint对象宽度。
heightint对象高度。

Returns

TypeDescription
Rectangle适配矩形,若未找到适配矩形则抛出异常。

Method: get_fitting_rectangle(rectangle, width, height) [static]

 get_fitting_rectangle(rectangle, width, height) 

获取适合当前图像的矩形。

Parameters:

参数TypeDescription
rectangleRectangle用于获取合适矩形的矩形。
widthint对象宽度。
heightint对象高度。

Returns

TypeDescription
Rectangle适配矩形,若未找到适配矩形则抛出异常。

Method: get_modify_date(use_default)

 get_modify_date(use_default) 

获取资源图像最后修改的日期和时间。

Parameters:

参数TypeDescription
use_defaultbool如果设置为 true,则使用 FileInfo 中的信息作为默认值。

Returns

TypeDescription
System.DateTime资源图像上次修改的日期和时间。

Method: get_original_options()

 get_original_options() 

检索基于原始文件设置的选项,这对于在图像处理和操作中保持保真度
和一致性至关重要。此方法允许将文件特定参数无缝集成到后续操作中,确保
精确呈现并遵循图像固有特性。
这有助于保持原始图像的位深度和其他参数不变。
例如,如果我们加载一个每像素 1 位的黑白 PNG 图像,然后使用
DataStreamSupporter.save(file_path) 方法保存,它将生成每像素 8 位的输出 PNG 图像。
为避免这种情况并以每像素 1 位保存 PNG 图像,请使用此方法获取相应的保存选项,并将它们
作为第二个参数传递给 Image.save(file_path, options) 方法。

Returns

TypeDescription
ImageOptionsBase基于原始文件设置的选项。

Method: get_pixel(x, y)

 get_pixel(x, y) 

获取图像像素。

Parameters:

参数TypeDescription
xint像素的 x 位置。
yint像素的 y 位置。

Returns

TypeDescription
Color指定位置的像素颜色。

Method: get_proportional_height(width, height, new_width) [static]

 get_proportional_height(width, height, new_width) 

获取比例高度。

Parameters:

参数TypeDescription
widthint宽度。
heightint高度。
new_widthint新的宽度。

Returns

TypeDescription
int比例高度。

Method: get_proportional_width(width, height, new_height) [static]

 get_proportional_width(width, height, new_height) 

获取比例宽度。

Parameters:

参数TypeDescription
widthint宽度。
heightint高度。
new_heightint新的高度。

Returns

TypeDescription
int比例宽度。

Method: get_serialized_stream(image_options, clipping_rectangle, page_number)

 get_serialized_stream(image_options, clipping_rectangle, page_number) 

转换为 aps。

Parameters:

参数TypeDescription
image_optionsImageOptionsBase图像选项。
clipping_rectangleRectangle裁剪矩形。
page_numberint[]页码。

Returns

TypeDescription
_io.BufferedRandom序列化流

Method: get_skew_angle()

 get_skew_angle() 

获取倾斜角度。
此方法适用于扫描的文本文件,用于在扫描时确定倾斜角度。

Returns

TypeDescription
float倾斜角度(单位:度)。

Method: insert_block(index, block)

 insert_block(index, block) 

插入新的 GIF 块允许您在图像的特定位置添加自定义数据。此方法使您能够在 GIF 图像中将自定义块放置在所需位置,提供了组织和结构化图像数据的灵活性。

Parameters:

参数TypeDescription
indexint零基索引元素,即块将被插入的位置。
blockIGifBlock要添加的 GIF 块。

Method: is_digital_signed(password, percentage_threshold)

 is_digital_signed(password, percentage_threshold) 

使用提供的密码和阈值执行快速检查,以确定图像是否已数字签名。

Parameters:

参数TypeDescription
密码string用于检查签名的密码。
percentage_thresholdint阈值(百分比)[0-100] 用于确定图像是否被视为已签名。
如果未指定,将使用默认阈值(75)。

Returns

TypeDescription
bool如果图像已签名则为 true,否则为 false。

Method: load(file_path) [static]

 load(file_path) 

从指定的文件路径或 URL 加载新图像。
如果 filePath 是文件路径,方法仅打开该文件。
如果 filePath 是 URL,方法会下载文件,将其存为临时文件,然后打开它。

Parameters:

参数TypeDescription
file_pathstring加载图像的文件路径或 URL。

Returns

TypeDescription
Image已加载的图像。

Method: load(file_path, load_options) [static]

 load(file_path, load_options) 

从指定的文件路径或 URL 加载新图像。
如果 filePath 是文件路径,方法仅打开该文件。
如果 filePath 是 URL,方法会下载文件,将其存为临时文件,然后打开它。

Parameters:

参数TypeDescription
file_pathstring加载图像的文件路径或 URL。
load_optionsLoadOptions加载选项。

Returns

TypeDescription
Image已加载的图像。

Method: load(stream) [static]

 load(stream) 

从指定的流加载新图像。

Parameters:

参数TypeDescription
_io.BufferedRandom加载图像的流。

Returns

TypeDescription
Image已加载的图像。

Method: load(stream, load_options) [static]

 load(stream, load_options) 

从指定的流加载新图像。

Parameters:

参数TypeDescription
_io.BufferedRandom加载图像的流。
load_optionsLoadOptions加载选项。

Returns

TypeDescription
Image已加载的图像。

Method: load_argb_32_pixels(rectangle)

 load_argb_32_pixels(rectangle) 

加载 32 位 ARGB 像素。

Parameters:

参数TypeDescription
rectangleRectangle加载像素的矩形。

Returns

TypeDescription
int[]已加载的 32 位 ARGB 像素数组。

Method: load_argb_64_pixels(rectangle)

 load_argb_64_pixels(rectangle) 

加载 64 位 ARGB 像素。

Parameters:

参数TypeDescription
rectangleRectangle加载像素的矩形。

Returns

TypeDescription
int[]已加载的 64 位 ARGB 像素数组。

Method: load_cmyk_32_pixels(rectangle)

 load_cmyk_32_pixels(rectangle) 

加载 CMYK 格式的像素。

Parameters:

参数TypeDescription
rectangleRectangle加载像素的矩形。

Returns

TypeDescription
int[]已加载的 CMYK 像素以 32 位整数值呈现。

Method: load_cmyk_pixels(rectangle)

 load_cmyk_pixels(rectangle) 

加载 CMYK 格式的像素。
此方法已弃用。请使用更有效的 RasterImage.load_cmyk_32_pixels(rectangle) 方法。

Parameters:

参数TypeDescription
rectangleRectangle加载像素的矩形。

Returns

TypeDescription
CmykColor[]已加载的 CMYK 像素数组。

Method: load_partial_argb_32_pixels(rectangle, partial_pixel_loader)

 load_partial_argb_32_pixels(rectangle, partial_pixel_loader) 

部分加载 32 位 ARGB 像素(按块)。

Parameters:

参数TypeDescription
rectangleRectangle加载像素的矩形。
partial_pixel_loaderIPartialArgb32PixelLoader部分像素加载器。

Method: load_partial_argb_64_pixels(rectangle, partial_pixel_loader)

 load_partial_argb_64_pixels(rectangle, partial_pixel_loader) 

按包部分加载 64 位 ARGB 像素。

Parameters:

参数TypeDescription
rectangleRectangle所需的矩形。
partial_pixel_loaderIPartialArgb64PixelLoader64 位 ARGB 像素加载器。

Method: load_partial_pixels(desired_rectangle, pixel_loader)

 load_partial_pixels(desired_rectangle, pixel_loader) 

按包部分加载像素。

Parameters:

参数TypeDescription
desired_rectangleRectangle所需的矩形。
pixel_loaderIPartialPixelLoader像素加载器。

Method: load_pixels(rectangle)

 load_pixels(rectangle) 

加载像素。

Parameters:

参数TypeDescription
rectangleRectangle加载像素的矩形。

Returns

TypeDescription
Color[]已加载的像素数组。

Method: load_raw_data(rectangle, dest_image_bounds, raw_data_settings, raw_data_loader)

 load_raw_data(rectangle, dest_image_bounds, raw_data_settings, raw_data_loader) 

加载原始数据。

Parameters:

参数TypeDescription
rectangleRectangle用于加载原始数据的矩形。
dest_image_boundsRectangle目标图像边界。
raw_data_settingsRawDataSettings用于已加载数据的原始数据设置。注意,如果数据不是指定的格式,则会执行数据转换。
raw_data_loaderIPartialRawDataLoader原始数据加载器。

Method: load_raw_data(rectangle, raw_data_settings, raw_data_loader)

 load_raw_data(rectangle, raw_data_settings, raw_data_loader) 

加载原始数据。

Parameters:

参数TypeDescription
rectangleRectangle用于加载原始数据的矩形。
raw_data_settingsRawDataSettings用于已加载数据的原始数据设置。注意,如果数据不是指定的格式,则会执行数据转换。
raw_data_loaderIPartialRawDataLoader原始数据加载器。

Method: load_stream(stream) [static]

 load_stream(stream) 

从指定的流加载新图像。

Parameters:

参数TypeDescription
_io.BufferedRandom加载图像的流。

Returns

TypeDescription
Image已加载的图像。

Method: load_stream_with_options(stream, load_options) [static]

 load_stream_with_options(stream, load_options) 

从指定的流加载新图像。

Parameters:

参数TypeDescription
_io.BufferedRandom加载图像的流。
load_optionsLoadOptions加载选项。

Returns

TypeDescription
Image已加载的图像。

Method: load_with_options(file_path, load_options) [static]

 load_with_options(file_path, load_options) 

从指定的文件路径或 URL 加载新图像。
如果 filePath 是文件路径,方法仅打开该文件。
如果 filePath 是 URL,方法会下载文件,将其存为临时文件,然后打开它。

Parameters:

参数TypeDescription
file_pathstring加载图像的文件路径或 URL。
load_optionsLoadOptions加载选项。

Returns

TypeDescription
Image已加载的图像。

Method: normalize_angle(resize_proportionally, background_color)

 normalize_angle(resize_proportionally, background_color) 

归一化角度。
此方法适用于扫描的文本文档,以消除倾斜扫描。
此方法使用 RasterImage.get_skew_angle()RasterCachedMultipageImage.rotate(angle, resize_proportionally, background_color) 方法。

Parameters:

参数TypeDescription
resize_proportionallybool如果设置为 true,图像尺寸将根据旋转矩形(角点)投影进行更改;否则保持尺寸不变,仅旋转内部图像内容。
background_colorColor背景颜色。

Method: read_argb_32_scan_line(scan_line_index)

 read_argb_32_scan_line(scan_line_index) 

按指定的扫描线索引读取整条扫描线。

Parameters:

参数TypeDescription
scan_line_indexint扫描线的零基索引。

Returns

TypeDescription
int[]扫描线 32 位 ARGB 颜色值数组。

Method: read_scan_line(scan_line_index)

 read_scan_line(scan_line_index) 

按指定的扫描线索引读取整条扫描线。

Parameters:

参数TypeDescription
scan_line_indexint扫描线的零基索引。

Returns

TypeDescription
Color[]扫描线像素颜色值数组。

Method: remove_block(block)

 remove_block(block) 

删除 GIF 块会从图像中移除特定数据,提供清理或修改图像结构的能力。此方法使您能够删除不需要或多余的块,优化 GIF 图像以实现高效存储。使用此功能可在保持图像完整性和质量的同时,消除过时的信息。

Parameters:

参数TypeDescription
blockIGifBlock要删除的块。

Method: replace_argb(old_color_argb, old_color_diff, new_color_argb)

 replace_argb(old_color_argb, old_color_diff, new_color_argb) 

在允许的差异范围内将一种颜色替换为另一种颜色,并保留原始 alpha 值以保持平滑边缘。

Parameters:

参数TypeDescription
old_color_argbint要替换的旧颜色 ARGB 值。
old_color_diffSystem.Byte允许的旧颜色差异,以便能够扩大替换颜色的色调。
new_color_argbint用于替换旧颜色的新颜色 ARGB 值。

Method: replace_color(old_color, old_color_diff, new_color)

 replace_color(old_color, old_color_diff, new_color) 

在允许的差异范围内将一种颜色替换为另一种颜色,并保留原始 alpha 值以保持平滑边缘。

Parameters:

参数TypeDescription
old_colorColor
old_color_diffSystem.Byte允许的旧颜色差异,以便能够扩大替换颜色的色调。
new_colorColor

Method: replace_color(old_color_argb, old_color_diff, new_color_argb)

 replace_color(old_color_argb, old_color_diff, new_color_argb) 

在允许的差异范围内将一种颜色替换为另一种颜色,并保留原始 alpha 值以保持平滑边缘。

Parameters:

参数TypeDescription
old_color_argbint要替换的旧颜色 ARGB 值。
old_color_diffSystem.Byte允许的旧颜色差异,以便能够扩大替换颜色的色调。
new_color_argbint用于替换旧颜色的新颜色 ARGB 值。

Method: replace_non_transparent_colors(new_color)

 replace_non_transparent_colors(new_color) 

将所有非透明颜色替换为新颜色,并保留原始 alpha 值以保持平滑边缘。
注意:如果在没有透明度的图像上使用,它将把所有颜色替换为单一颜色。

Parameters:

参数TypeDescription
new_colorColor

Method: replace_non_transparent_colors(new_color_argb)

 replace_non_transparent_colors(new_color_argb) 

将所有非透明颜色替换为新颜色,并保留原始 alpha 值以保持平滑边缘。
注意:如果在没有透明度的图像上使用,它将把所有颜色替换为单一颜色。

Parameters:

参数TypeDescription
new_color_argbint用于替换非透明颜色的新颜色 ARGB 值。

Method: resize(new_width, new_height)

 resize(new_width, new_height) 

调整图像大小。使用默认的 ResizeType.NEAREST_NEIGHBOUR_RESAMPLE

Parameters:

参数TypeDescription
new_widthint新的宽度。
new_heightint新的高度。

Method: resize(new_width, new_height, resize_type)

 resize(new_width, new_height, resize_type) 

调整此 Image 实例的大小。

Parameters:

参数TypeDescription
new_widthint新的宽度。
new_heightint新的高度。
resize_typeResizeType调整大小类型。

Method: resize(new_width, new_height, settings)

 resize(new_width, new_height, settings) 

调整此 Image 实例的大小。

Parameters:

参数TypeDescription
new_widthint新的宽度。
new_heightint新的高度。
settingsImageResizeSettings设置。

Method: resize_by_settings(new_width, new_height, settings)

 resize_by_settings(new_width, new_height, settings) 

调整图像大小。

Parameters:

参数TypeDescription
new_widthint新的宽度。
new_heightint新的高度。
settingsImageResizeSettings调整大小设置。

Method: resize_by_type(new_width, new_height, resize_type)

 resize_by_type(new_width, new_height, resize_type) 

调整图像大小。

Parameters:

参数TypeDescription
new_widthint新的宽度。
new_heightint新的高度。
resize_typeResizeType调整大小类型。

Method: resize_full_frame(new_width, new_height, resize_type)

 resize_full_frame(new_width, new_height, resize_type) 

在调整图像大小时考虑 GIF 每页的完整帧,从而防止潜在伪影的出现。此方法对于保持图像的完整性和质量至关重要,尤其在处理动画 GIF 或帧序列时。

Parameters:

参数TypeDescription
new_widthint新的宽度。
new_heightint新的高度。
resize_typeResizeType调整大小类型。

Method: resize_height_proportionally(new_height)

 resize_height_proportionally(new_height) 

按比例调整高度。默认使用 ResizeType.NEAREST_NEIGHBOUR_RESAMPLE

Parameters:

参数TypeDescription
new_heightint新的高度。

Method: resize_height_proportionally(new_height, resize_type)

 resize_height_proportionally(new_height, resize_type) 

按比例调整宽度。

Parameters:

参数TypeDescription
new_heightint新的高度。
resize_typeResizeType调整大小的类型。

Method: resize_height_proportionally(new_height, settings)

 resize_height_proportionally(new_height, settings) 

按比例调整高度。

Parameters:

参数TypeDescription
new_heightint新的高度。
settingsImageResizeSettings图像调整大小设置。

Method: resize_height_proportionally_settings(new_height, settings)

 resize_height_proportionally_settings(new_height, settings) 

按比例调整高度。

Parameters:

参数TypeDescription
new_heightint新的高度。
settingsImageResizeSettings图像调整大小设置。

Method: resize_proportional(new_width, new_height, resize_type)

 resize_proportional(new_width, new_height, resize_type) 

比例缩放在调整图像尺寸的同时保持其宽高比,确保图像不会出现拉伸或失真。此方法按比例缩放图像,宽度和高度以相同因子进行缩放。
比例缩放将根据 newWidth/width 和 newHeight/height 的比例对每帧进行大小调整。

Parameters:

参数TypeDescription
new_widthint新的宽度。
new_heightint新的高度。
resize_typeResizeType调整大小类型。

Method: resize_width_proportionally(new_width)

 resize_width_proportionally(new_width) 

按比例调整宽度。默认使用 ResizeType.NEAREST_NEIGHBOUR_RESAMPLE

Parameters:

参数TypeDescription
new_widthint新的宽度。

Method: resize_width_proportionally(new_width, resize_type)

 resize_width_proportionally(new_width, resize_type) 

按比例调整宽度。

Parameters:

参数TypeDescription
new_widthint新的宽度。
resize_typeResizeType调整大小的类型。

Method: resize_width_proportionally(new_width, settings)

 resize_width_proportionally(new_width, settings) 

按比例调整宽度。

Parameters:

参数TypeDescription
new_widthint新的宽度。
settingsImageResizeSettings图像调整大小设置。

Method: resize_width_proportionally_settings(new_width, settings)

 resize_width_proportionally_settings(new_width, settings) 

按比例调整宽度。

Parameters:

参数TypeDescription
new_widthint新的宽度。
settingsImageResizeSettings图像调整大小设置。

Method: rotate(angle)

 rotate(angle) 

围绕中心旋转图像。

Parameters:

参数TypeDescription
角度float旋转角度(以度为单位)。正值将顺时针旋转。

Method: rotate(angle, resize_proportionally, background_color)

 rotate(angle, resize_proportionally, background_color) 

此方法围绕图像中心点旋转图像。通过指定旋转
角度,您可以顺时针或逆时针旋转图像以实现所需的方向。此旋转有助于在不扭曲内容的情况下调整图像的呈现或
对齐。

Parameters:

参数TypeDescription
角度float旋转角度(以度为单位)。正值将顺时针旋转。
resize_proportionallybool如果设置为 true,图像尺寸将被更改
根据旋转矩形(角点)的投影在其他
情况下,尺寸保持不变,仅
internal 图像内容被旋转。
background_colorColor背景颜色。

Method: rotate_flip(rotate_flip_type)

 rotate_flip(rotate_flip_type) 

仅对活动帧执行旋转、翻转或两者兼施。此操作
仅对图像当前活动帧应用变换,保持序列中其他帧的完整性。

Parameters:

参数TypeDescription
rotate_flip_typeRotateFlipType旋转翻转类型。

See also:

Example # 1: This example loads a GIF image, rotates it by 90 degrees clockwise and option…

Method: rotate_flip_all(rotate_flip)

 rotate_flip_all(rotate_flip) 

旋转并翻转全部。

Parameters:

参数TypeDescription
rotate_flipRotateFlipType旋转翻转。

Method: save(file_path)

 save(file_path) 

将图像保存到指定的文件位置。

Parameters:

参数TypeDescription
file_pathstring保存图像的文件路径。

Method: save(file_path, options)

 save(file_path, options) 

根据保存选项,将对象的数据保存到指定文件位置的指定文件格式中。

Parameters:

参数TypeDescription
file_pathstring文件路径。
optionsImageOptionsBase选项。

Method: save(file_path, options, bounds_rectangle)

 save(file_path, options, bounds_rectangle) 

根据保存选项,将对象的数据保存到指定文件位置的指定文件格式中。

Parameters:

参数TypeDescription
file_pathstring文件路径。
optionsImageOptionsBase选项。
bounds_rectangleRectangle目标图像边界矩形。将空矩形设置为使用源边界。

Method: save(file_path, over_write)

 save(file_path, over_write) 

将对象的数据保存到指定的文件位置。

Parameters:

参数TypeDescription
file_pathstring保存对象数据的文件路径。
over_writebool如果设置为 true,覆盖文件内容,否则将追加。

Method: save(stream)

 save(stream) 

将对象的数据保存到指定的流中。

Parameters:

参数TypeDescription
_io.BufferedRandom用于保存对象数据的流。

Method: save(stream, options_base)

 save(stream, options_base) 

根据保存选项,将图像的数据保存到指定流中的指定文件格式。

Parameters:

参数TypeDescription
_io.BufferedRandom保存图像数据的流。
options_baseImageOptionsBase保存选项。

Method: save(stream, options_base, bounds_rectangle)

 save(stream, options_base, bounds_rectangle) 

根据保存选项,将图像的数据保存到指定流中的指定文件格式。

Parameters:

参数TypeDescription
_io.BufferedRandom保存图像数据的流。
options_baseImageOptionsBase保存选项。
bounds_rectangleRectangle目标图像边界矩形。将空矩形设置为使用源边界。

Method: save_argb_32_pixels(rectangle, pixels)

 save_argb_32_pixels(rectangle, pixels) 

保存 32 位 ARGB 像素。

Parameters:

参数TypeDescription
rectangleRectangle保存像素的矩形。
像素int[]32 位 ARGB 像素数组。

Method: save_cmyk_32_pixels(rectangle, pixels)

 save_cmyk_32_pixels(rectangle, pixels) 

保存像素。

Parameters:

参数TypeDescription
rectangleRectangle保存像素的矩形。
像素int[]以 32 位整数值表示的 CMYK 像素。

Method: save_cmyk_pixels(rectangle, pixels)

 save_cmyk_pixels(rectangle, pixels) 

保存像素。
此方法已弃用。请使用更有效的 RasterImage.save_cmyk_32_pixels(rectangle, pixels) 方法。

Parameters:

参数TypeDescription
rectangleRectangle保存像素的矩形。
pixelsCmykColor[]CMYK 像素数组。

Method: save_pixels(rectangle, pixels)

 save_pixels(rectangle, pixels) 

保存像素的内部主要内容。

Parameters:

参数TypeDescription
rectangleRectangle矩形。
pixelsColor[]像素。

Method: save_raw_data(data, data_offset, rectangle, raw_data_settings)

 save_raw_data(data, data_offset, rectangle, raw_data_settings) 

保存原始数据。

Parameters:

参数TypeDescription
数据System.Byte原始数据。
data_offsetint起始原始数据偏移。
rectangleRectangle原始数据矩形。
raw_data_settingsRawDataSettings原始数据所在的设置。

Method: save_to_stream(stream)

 save_to_stream(stream) 

将对象的数据保存到指定的流中。

Parameters:

参数TypeDescription
_io.BufferedRandom用于保存对象数据的流。

Method: save_to_stream_with_options(stream, options_base)

 save_to_stream_with_options(stream, options_base) 

根据保存选项,将图像的数据保存到指定流中的指定文件格式。

Parameters:

参数TypeDescription
_io.BufferedRandom保存图像数据的流。
options_baseImageOptionsBase保存选项。

Method: save_to_stream_with_options_rect(stream, options_base, bounds_rectangle)

 save_to_stream_with_options_rect(stream, options_base, bounds_rectangle) 

根据保存选项,将图像的数据保存到指定流中的指定文件格式。

Parameters:

参数TypeDescription
_io.BufferedRandom保存图像数据的流。
options_baseImageOptionsBase保存选项。
bounds_rectangleRectangle目标图像边界矩形。将空矩形设置为使用源边界。

Method: save_with_options(file_path, options)

 save_with_options(file_path, options) 

根据保存选项,将对象的数据保存到指定文件位置的指定文件格式中。

Parameters:

参数TypeDescription
file_pathstring文件路径。
optionsImageOptionsBase选项。

Method: save_with_options_rect(file_path, options, bounds_rectangle)

 save_with_options_rect(file_path, options, bounds_rectangle) 

根据保存选项,将对象的数据保存到指定文件位置的指定文件格式中。

Parameters:

参数TypeDescription
file_pathstring文件路径。
optionsImageOptionsBase选项。
bounds_rectangleRectangle目标图像边界矩形。将空矩形设置为使用源边界。

Method: set_argb_32_pixel(x, y, argb_32_color)

 set_argb_32_pixel(x, y, argb_32_color) 

为指定位置设置图像的 32 位 ARGB 像素。

Parameters:

参数TypeDescription
xint像素的 x 位置。
yint像素的 y 位置。
argb_32_colorint指定位置的 32 位 ARGB 像素。

Method: set_frame_time(time)

 set_frame_time(time) 

调整每帧的持续时间(毫秒),确保整个图像序列的时间一致。此方法统一设置每帧的显示时间,以实现对动画速度的精确控制。
更改此值将重置所有帧的延迟。

Parameters:

参数TypeDescription
时间int帧持续时间的毫秒数。

Method: set_palette(palette, update_colors)

 set_palette(palette, update_colors) 

设置图像调色板。

Parameters:

参数TypeDescription
paletteIColorPalette要设置的调色板。
update_colorsbool如果设置为 true,颜色将根据新调色板进行更新;否则颜色索引保持不变。请注意,未更改的索引如果在加载时没有对应的调色板条目,可能会导致图像崩溃。

Method: set_pixel(x, y, color)

 set_pixel(x, y, color) 

为指定位置设置图像像素。

Parameters:

参数TypeDescription
xint像素的 x 位置。
yint像素的 y 位置。
colorColor指定位置的像素颜色。

Method: set_resolution(dpi_x, dpi_y)

 set_resolution(dpi_x, dpi_y) 

为此 RasterImage 设置分辨率。

Parameters:

参数TypeDescription
dpi_xfloat以每英寸点数表示的 RasterImage 的水平分辨率。
dpi_yfloat以每英寸点数表示的 RasterImage 的垂直分辨率。

Method: try_set_metadata(metadata)

 try_set_metadata(metadata) 

尝试设置一个 metadata 实例,前提是此 Image 实例支持并实现 IImageMetadataFormat 实例。

Parameters:

参数TypeDescription
metadataIImageMetadataFormat元数据。

Returns

TypeDescription
bool如果 metadata 不为 null 且 IMetadataContainer 实例
支持和/或实现 IImageMetadataFormat 实例,则为 true;否则为 false。

Method: write_argb_32_scan_line(scan_line_index, argb_32_pixels)

 write_argb_32_scan_line(scan_line_index, argb_32_pixels) 

将整条扫描线写入指定的扫描线索引。

Parameters:

参数TypeDescription
scan_line_indexint扫描线的零基索引。
argb_32_pixelsint[]要写入的 32 位 ARGB 颜色数组。

Method: write_scan_line(scan_line_index, pixels)

 write_scan_line(scan_line_index, pixels) 

将整条扫描线写入指定的扫描线索引。

Parameters:

参数TypeDescription
scan_line_indexint扫描线的零基索引。
pixelsColor[]要写入的像素颜色数组。

Examples

This example shows how to create a GIF image and save it to a file.

from aspose.imaging.fileformats.gif.blocks import GifFrameBlock
from aspose.imaging.fileformats.gif import GifImage 
from aspose.imaging.brushes import SolidBrush
from aspose.imaging import Graphics, Color


# 创建一个 100x100 像素的 GIF 帧块。
with GifFrameBlock(100, 100) as firstBlock:
	# 将整个块填充为红色。
	gr = Graphics(firstBlock)
	brush = SolidBrush(Color.red)
	gr.fill_rectangle(brush, firstBlock.bounds)

	with GifImage(firstBlock) as gifImage:
		gifImage.save("output.gif")

This example shows how to create a GIF image with a custom palette and save it to a file.

from aspose.imaging.fileformats.gif.blocks import GifFrameBlock
from aspose.imaging.fileformats.gif import GifImage 
from aspose.imaging.brushes import SolidBrush
from aspose.imaging import Graphics, Color, ColorPaletteHelper


# 创建一个 100x100 像素的 GIF 帧块。
with GifFrameBlock(100, 100) as firstBlock:
	# 将整个块填充为红色。
	gr = Graphics(firstBlock)
	brush = SolidBrush(Color.red)
	gr.fill_rectangle(brush, firstBlock.bounds)

	# 使用 4 位调色板来减小图像大小。质量可能会变差。
	palette = ColorPaletteHelper.create_4_bit()

	with GifImage(firstBlock, palette) as gifImage:
		gifImage.save("output.gif")

The following example shows how to compose an animated GIF image from individual GIF blocks.

from aspose.imaging.fileformats.gif.blocks import GifFrameBlock
from aspose.imaging.fileformats.gif import GifImage 
from aspose.imaging.brushes import SolidBrush
from aspose.imaging import Graphics, Color

# 创建一个 100 x 100 像素的 GIF 图像。
# 默认情况下,第一个块是全黑的。
with GifFrameBlock(100, 100) as firstBlock:
	with GifImage(firstBlock) as gifImage:
		# 第一个圆是红色的
		brush1 = SolidBrush(Color.red)

		# 第二个圆是黑色的
		brush2 = SolidBrush(Color.black)

		# 逐渐增加红色弧形的角度。
		for angle in range(10, 361, 10):
			block = GifFrameBlock(100, 100)
			gr = Graphics(block)
			gr.fill_pie(brush1, block.bounds, 0, angle)
			gifImage.add_block(block)
		
		# 逐渐增加黑色弧形的角度并抹去红色弧形。
		for angle in range(10, 361, 10):
			block = GifFrameBlock(100, 100)
			gr = Graphics(block)
			gr.fill_pie(brush2, block.bounds, 0, angle)
			gr.fill_pie(brush1, block.bounds, angle, 360 - angle)
			gifImage.add_block(block)

		gifImage.save("animated_radar.gif")

The following example shows how to remove all blocks from a GIF image.

from aspose.imaging.fileformats.gif.blocks import GifFrameBlock
from aspose.imaging.fileformats.gif import GifImage 

# 创建一个 100 x 100 像素的 GIF 图像。
# 默认情况下,第一个块是全黑的。
with GifFrameBlock(100, 100) as firstBlock:
	with GifImage(firstBlock) as gifImage:
		if gifImage.active_frame is not None:
			print(f"Active frame size: {gifImage.active_frame.size}")
		else:
			print("Active frame is not set")

		print("Clear all the blocks")
		gifImage.clear_blocks()

		if gifImage.active_frame is not None:
			print(f"Active frame size: {gifImage.active_frame.size}")
		else:
			print("Active frame is not set")

# 输出如下:
# 活动帧大小:{ Width = 100, Height = 100}
# 清除所有块
# 未设置活动帧

This example loads a GIF image, rotates it by 90 degrees clockwise and optionally flips the image horizontally and(or) vertically.


from os.path import join
import aspose.pycore as aspycore
from aspose.imaging import Image, RotateFlipType
from aspose.imaging.fileformats.gif import GifImage
from aspose.imaging.imageoptions import PngOptions

dir_: str = "c:\\temp"
rotate_flip_types = [RotateFlipType.ROTATE_90_FLIP_NONE, RotateFlipType.ROTATE_90_FLIP_X, RotateFlipType.ROTATE_90_FLIP_XY, RotateFlipType.ROTATE_90_FLIP_Y]
for rotate_flip_type in rotate_flip_types:
	# 旋转、翻转并保存到输出文件。
	with aspycore.as_of(Image.load(join(dir_, "sample.gif")), GifImage) as image:
		image.rotate_flip(rotate_flip_type)
		image.save(join(dir_, "sample." + rotate_flip_type + ".png"), PngOptions())

The following example crops a GIF image. The cropping area is be specified via aspose.imaging.Rectangle.

import aspose.pycore as aspycore
from aspose.imaging import Image, Rectangle
from aspose.imaging.imageoptions import PngOptions
from aspose.imaging.fileformats.gif import GifImage
from os.path import join

dir_: str = "c:\\temp"
with Image.load(join(dir_, "sample.gif")) as image:
	gif_image = aspycore.as_of(image, GifImage)
	# 裁剪图像。裁剪区域是图像的矩形中心区域。
	area = Rectangle(gif_image.width // 4, gif_image.height // 4, gif_image.width // 2,
					 gif_image.height // 2)
	gif_image.crop(area)
	# 将裁剪后的图像保存为 PNG。
	gif_image.save(join(dir_, "sample.Crop.png"), PngOptions())

The following example binarizes a GIF image with the predefined threshold. Binarized images contain only 2 colors - black and white.


import aspose.pycore as aspycore
from aspose.imaging import Image
from aspose.imaging.fileformats.gif import GifImage
from aspose.imaging.imageoptions import PngOptions
from os.path import join

dir_: str = "c:\\temp"
with Image.load(join(dir_, "sample.gif")) as image:
	djvu_image = aspycore.as_of(image, GifImage)
	# 使用阈值127对图像进行二值化。
	# 如果像素的对应灰度值大于127,则赋值为255,否则为0。
	djvu_image.binarize_fixed(127)
	djvu_image.save(join(dir_, "sample.BinarizeFixed.png"), PngOptions())

The following example performs gamma-correction of a GIF image.

import aspose.pycore as aspycore
from aspose.imaging import Image
from aspose.imaging.fileformats.gif import GifImage
from aspose.imaging.imageoptions import PngOptions
from os.path import join

dir_: str = "c:\\temp\\"
with Image.load(join(dir_, "sample.gif")) as image:
	gif_image = aspycore.as_of(image, GifImage)
	# 设置红、绿、蓝通道的伽马系数。
	gif_image.adjust_gamma(2.5)
	gif_image.save(join(dir_, "sample.AdjustGamma.png"), PngOptions())

The following example performs gamma-correction of a GIF image applying different coefficients for color components.


import aspose.pycore as aspycore
from aspose.imaging import Image
from aspose.imaging.fileformats.gif import GifImage
from aspose.imaging.imageoptions import PngOptions
from os.path import join

dir_ = "c:\\temp"
with Image.load(join(dir_, "sample.gif")) as image:
	gif_image = aspycore.as_of(image, GifImage)
	# 为红、绿、蓝通道分别设置伽马系数。
	gif_image.adjust_gamma(1.5, 2.5, 3.5)
	gif_image.save(join(dir_, "sample.AdjustGamma.png"), PngOptions())

The following example performs brightness correction of a GIF image.


import aspose.pycore as aspycore
from aspose.imaging import Image
from aspose.imaging.fileformats.gif import GifImage
from aspose.imaging.imageoptions import PngOptions
from os.path import join

dir_ = "c:\\temp"
with Image.load(join(dir_, "sample.gif")) as image:
	gif_image = aspycore.as_of(image, GifImage)
	# 设置亮度值。亮度的可接受范围为 [-255, 255]。
	gif_image.adjust_brightness(50)
	gif_image.save(join(dir_, "sample.AdjustBrightness.png"), PngOptions())

The following example performs contrast correction of a GIF image.



import aspose.pycore as aspycore

from aspose.imaging import Image

from aspose.imaging.fileformats.gif import GifImage

from aspose.imaging.imageoptions import PngOptions

from os.path import join



dir_ = "c:\\temp"

with Image.load(join(dir_, "sample.gif")) as image:

	gif_image = aspycore.as_of(image, GifImage)

	# 设置对比度值。对比度的可接受范围为 [-100f, 100f]。

	gif_image.adjust_contrast(50.0)

	gif_image.save(join(dir_, "sample.AdjustContrast.png"), PngOptions())



# ExEnd

Create multipage GIF image using single page raster images.

from aspose.imaging import Image, RasterImage
from aspose.pycore import as_of
from os import listdir
from os.path import isfile, join

def load_frames(directory):
	for f in listdir(directory):
		full_path = join(directory, f)
		if isfile(full_path):
			yield as_of(Image.load(file_path), RasterImage)


# 加载帧
frames = list(load_frames("Animation frames"))
# 使用第一帧创建 GIF 图像
with GifImage(GifFrameBlock(frames[0])) as image:
	# 使用 AddPage 方法向 GIF 图像添加帧
	for index in range(1, len(frames)):
		image.add_page(frames[index])

	# 保存 GIF 图像
	image.save("Multipage.gif")
	
for it in frames:
	with it as _:
		# 释放图像
		pass

Export of part of animation from GIF image based on time interval.

from aspose.imaging import Image
from aspose.imaging.imageoptions import GifOptions, MultiPageOptions, MultiPageMode, TimeInterval

with Image.load("Animation.gif") as image:
	obj_init = MultiPageOptions()
	obj_init.mode = MultiPageMode.TIME_INTERVAL
	obj_init.time_interval = TimeInterval(0, 400)
	options = GifOptions()
	options.full_frame = True
	options.multi_page_options = obj_init
	image.save("PartOfAnimation.gif", options)