频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

GDI+在Delphi程序的应用:多帧(页)图像的分解与合成

来源:Csdn博客 作者:maozefa 出处:巧巧读书 2007-12-22 进入讨论组
上一页 1 2 

编码参数的数据类型也是有规定的,具体定义和说明如下:

//---------------------------------------------------------------------------
// Image encoder parameter related types
//---------------------------------------------------------------------------

TEncoderParameterValueType = (
EncoderParameterValueTypeByte   = 1,    // 数组中的每个值都是 8 位无符号整数
EncoderParameterValueTypeASCII  = 2,    // 一个空终止的 ASCII 字符串,
// NumberOfValues 包括 NULL 结束符在内的字符串长度
EncoderParameterValueTypeShort  = 3,    // 数组中的每个值都是 16 位无符号整数
EncoderParameterValueTypeLong   = 4,    // 数组中的每个值都是 32 位无符号整数
EncoderParameterValueTypeRational       = 5,    // 数组中的每一个值都是一对 32 位无符号整数,
// 每一对都表示一个分数,
// 第一个整数是分子,第二个整数是分母.
EncoderParameterValueTypeLongRange      = 6,    // 数组中的每一个值都是一对 32 位无符号整数,
// 每一对都表示一个数字区域.
EncoderParameterValueTypeUndefined      = 7,    // 值的数组是没有定义数据类型的字节的数组
EncoderParameterValueTypeRationalRange  = 8     

// 数组中的每一个值都是一组四个 32 位无符号整数,
// 前两个整数表示一个分数,后两个整数表示第二个分数,
// 这两个分数表示一个有理数区域,
// 第一个分数是该区域中最小的有理数,
// 第二个分数是该区域中最大的有理数.
);

从上面的类型说明可以看出,有些类型定义对参数值(Value)的规定很具体,你只有按要求给出才不会出错。有些参数我们可以给的值的范围较大,如例子中的品质参数,就可以在0 - 100之间;而还有些值则是规定好了的,如例子中的保存参数的值,下面也把这些值的枚举定义以及使用图像格式列在下面:

//---------------------------------------------------------------------------
// Image encoder value types
//---------------------------------------------------------------------------

TEncoderValue = (
EncoderValueColorTypeCMYK,
EncoderValueColorTypeYCCK,
EncoderValueCompressionLZW,  // LZW 压缩方案。可以作为属于压缩类别的参数传递到

TIFF 编码器。
EncoderValueCompressionCCITT3,       // CCITT3 压缩方案。

可以作为属于压缩类别的参数传递到 TIFF 编码器。
EncoderValueCompressionCCITT4,       // CCITT4 压缩方案。

可以作为属于压缩类别的参数传递到 TIFF 编码器。
EncoderValueCompressionRle,  // RLE 压缩方案。可以作为属于压缩类别的参数传递到

TIFF 编码器。
EncoderValueCompressionNone, // 不指定压缩。可以作为属于压缩类别的参数传递到

TIFF 编码器。
EncoderValueScanMethodInterlaced,
EncoderValueScanMethodNonInterlaced,
EncoderValueVersionGif87,
EncoderValueVersionGif89,
EncoderValueRenderProgressive,
EncoderValueRenderNonProgressive,
EncoderValueTransformRotate90,      

// 图像将围绕其中心沿顺时针方向旋转 90 度。可以作为属于转换类别的参数传递到 JPEG 编码器
EncoderValueTransformRotate180,     

// 图像围绕其中心旋转 180 度。可以作为属于转换类别的参数传递到 JPEG 编码器。
EncoderValueTransformRotate270,     

// 图像围绕其中心沿顺时针方向旋转 270 度。可以作为属于转换类别的参数传递到 JPEG 编码器
EncoderValueTransformFlipHorizontal,

// 图像水平翻转。可以作为属于转换类别的参数传递到 JPEG 编码器。
EncoderValueTransformFlipVertical,  

// 图像垂直翻转。可以作为属于转换类别的参数传递到 JPEG 编码器。
EncoderValueMultiFrame,     

// 图像有多于 1 帧(页面)。可以作为属于保存标志类别的参数传递到 TIFF 编码器
EncoderValueLastFrame,      

// 指定多帧图像中的最后一帧。可以作为属于保存标志类别的参数传递到 TIFF 编码器。
EncoderValueFlush,  

// 应关闭一个多帧文件或流。可以作为属于保存标志类别的参数传递到 TIFF 编码器
EncoderValueFrameDimensionTime,
EncoderValueFrameDimensionResolution,
EncoderValueFrameDimensionPage      

// 将一帧添加到图像的页面维度。可以作为属于保存标志类别的参数传递到 TIFF 编码器。
);

没做说明的枚举值在GDI+ 1.0中是不支持的,其它也只适用规定的图像格式,如EncoderValueMultiFrame和EncoderValueFrameDimensionPage只适用于TIFF格式编码器,而EncoderValueFrameDimensionTime等值由不支持,所以,前面例子只能合成TIFF格式的多帧图像,而不能合成GIF格式。

保留地址 http://www.qqread.com/dotnet/t388113.html进入讨论组讨论。
更多专题 【深 度 阅 读】 相 关 文 章
    上一页 1 2 
    收藏此文】【 】【打印】【关闭
    相关图文阅读
    频道图文推荐
    健 康 咨 询
    时 尚 咨 询
    巧巧读书宗旨
    相关专题
    讨论组问题推荐
    站内各频道最新更新文档
    站内最新制作专题
    热门关键字导读
    Photoshop教 程照片处理 照片制作 PS快捷键 抠图
    计 算 机 故 障XP系统修复
    艺 术 与 设 计设计 流媒体 设计欣赏 边框
    计 算 机 安 全ARP
    站内频道文章精选
    巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章