当前位置: 首页 > news >正文

游戏币网站怎么做seo实战培训课程

游戏币网站怎么做,seo实战培训课程,aspcms分类信息网站,免费外国黄色网站今日我想给给图像的exif属性里面增加一个SoftWare属性,毋庸置疑,最终是失败而告终。在SDk上面纠缠了半日,直奔核心代码而去,最终无功而返。问题的症结其实跟前几日差不多,修改xmp信息可以,但是修改exif信息…

今日我想给给图像的exif属性里面增加一个SoftWare属性,毋庸置疑,最终是失败而告终。在SDk上面纠缠了半日,直奔核心代码而去,最终无功而返。问题的症结其实跟前几日差不多,修改xmp信息可以,但是修改exif信息,就得付出惨痛的代价,不断的调试...跟踪...调试...跟踪,问题点是跟踪出来了,在函数ExportTIFF_StandardMappings里面

static void
ExportTIFF_StandardMappings ( XMP_Uns8 ifd, TIFF_Manager * tiff, const SXMPMeta & xmp )
{const bool nativeEndian = tiff->IsNativeEndian();TIFF_Manager::TagInfo tagInfo;std::string xmpValue;XMP_OptionBits xmpForm;const TIFF_MappingToXMP * mappings = 0;if ( ifd == kTIFF_PrimaryIFD ) {mappings = sPrimaryIFDMappings;} else if ( ifd == kTIFF_ExifIFD ) {mappings = sExifIFDMappings;} else if ( ifd == kTIFF_GPSInfoIFD ) {mappings = sGPSInfoIFDMappings;} else {XMP_Throw ( "Invalid IFD for standard mappings", kXMPErr_InternalFailure );}for ( size_t i = 0; mappings[i].id != 0xFFFF; ++i ) {try {	// Don't let errors with one stop the others.const TIFF_MappingToXMP & mapInfo =  mappings[i];if ( mapInfo.exportMode == kExport_Never ) continue;if ( mapInfo.name[0] == 0 ) continue;	// Skip special mappings, handled higher up.bool haveTIFF = tiff->GetTag ( ifd, mapInfo.id, &tagInfo );if ( haveTIFF && (mapInfo.exportMode == kExport_InjectOnly) ) continue;{bool haveXMP = xmp.GetProperty(mapInfo.ns, mapInfo.name, &xmpValue, &xmpForm);if (!haveXMP) {if (haveTIFF && (mapInfo.exportMode == kExport_Always)) tiff->DeleteTag(ifd, mapInfo.id);}else {XMP_Assert(tagInfo.type != kTIFF_UndefinedType);	// These must have a special mapping.if (tagInfo.type == kTIFF_UndefinedType) continue;const bool mapSingle = ((mapInfo.count == 1) || (mapInfo.type == kTIFF_ASCIIType));if (mapSingle) {if (!XMP_PropIsSimple(xmpForm)) continue;	// ? Notify client?ExportSingleTIFF(tiff, ifd, mapInfo, nativeEndian, xmpValue);}else {if (!XMP_PropIsArray(xmpForm)) continue;	// ? Notify client?ExportArrayTIFF(tiff, ifd, mapInfo, nativeEndian, xmp, mapInfo.ns, mapInfo.name);}}}} catch ( ... ) {// Do nothing, let other imports proceed.// ? Notify client?}}}	// ExportTIFF_StandardMappings

程序首先已经从tag里面获取到了tagInfo(里面包含了exif:SoftWare信息),紧跟着就从xmp中去获取属性信息,导致的结果就是从tag获取的信息实际上没有用到。修改方案如下(红色部分为新增加内容):

static void
ExportTIFF_StandardMappings ( XMP_Uns8 ifd, TIFF_Manager * tiff, const SXMPMeta & xmp )
{
    const bool nativeEndian = tiff->IsNativeEndian();
    TIFF_Manager::TagInfo tagInfo;
    std::string xmpValue;
    XMP_OptionBits xmpForm;

    const TIFF_MappingToXMP * mappings = 0;

    if ( ifd == kTIFF_PrimaryIFD ) {
        mappings = sPrimaryIFDMappings;
    } else if ( ifd == kTIFF_ExifIFD ) {
        mappings = sExifIFDMappings;
    } else if ( ifd == kTIFF_GPSInfoIFD ) {
        mappings = sGPSInfoIFDMappings;
    } else {
        XMP_Throw ( "Invalid IFD for standard mappings", kXMPErr_InternalFailure );
    }

    for ( size_t i = 0; mappings[i].id != 0xFFFF; ++i ) {

        try {    // Don't let errors with one stop the others.

            const TIFF_MappingToXMP & mapInfo =  mappings[i];

            if ( mapInfo.exportMode == kExport_Never ) continue;
            if ( mapInfo.name[0] == 0 ) continue;    // Skip special mappings, handled higher up.

            bool haveTIFF = tiff->GetTag ( ifd, mapInfo.id, &tagInfo );
            if ( haveTIFF && (mapInfo.exportMode == kExport_InjectOnly) ) continue;
            
            if (haveTIFF){
                XMP_Assert(tagInfo.type != kTIFF_UndefinedType);    // These must have a special mapping.
                if (tagInfo.type == kTIFF_UndefinedType) continue;
                if (tagInfo.type == kTIFF_ASCIIType)
                    xmpValue = (const char*)tagInfo.dataPtr;

                ExportSingleTIFF(tiff, ifd, mapInfo, nativeEndian, xmpValue);
            }

            else {
                bool haveXMP = xmp.GetProperty(mapInfo.ns, mapInfo.name, &xmpValue, &xmpForm);
                if (!haveXMP) {

                    if (haveTIFF && (mapInfo.exportMode == kExport_Always)) tiff->DeleteTag(ifd, mapInfo.id);

                }
                else {

                    XMP_Assert(tagInfo.type != kTIFF_UndefinedType);    // These must have a special mapping.
                    if (tagInfo.type == kTIFF_UndefinedType) continue;

                    const bool mapSingle = ((mapInfo.count == 1) || (mapInfo.type == kTIFF_ASCIIType));
                    if (mapSingle) {
                        if (!XMP_PropIsSimple(xmpForm)) continue;    // ? Notify client?
                        ExportSingleTIFF(tiff, ifd, mapInfo, nativeEndian, xmpValue);
                    }
                    else {
                        if (!XMP_PropIsArray(xmpForm)) continue;    // ? Notify client?
                        ExportArrayTIFF(tiff, ifd, mapInfo, nativeEndian, xmp, mapInfo.ns, mapInfo.name);
                    }
                }
            }

        } catch ( ... ) {

            // Do nothing, let other imports proceed.
            // ? Notify client?

        }

    }

}    // ExportTIFF_StandardMappings

也许是我对这套SDK还没研究透彻,或许在设置tag子初已经有更为简单有效的方式 ,总之我没发现,暂且先这么改完凑合用着吧。

http://www.lbrq.cn/news/2724553.html

相关文章:

  • 做两个网站 之间超链接网络推广怎么样
  • 凯里做网站的公司上海网站建设开发公司
  • 做网站的基本步骤电商推广联盟
  • 中山网站方案自助网站建设平台
  • 番禺做网站哪家好如何让百度快速收录网站文章
  • 亚马逊网站建设进度计划书百度关键词挖掘工具爱站网
  • 做电子商务网站 除了域名 网页设计 还有服务器 和网站空间seo入门黑帽培训教程
  • 正版win10做win7系统下载网站优化seo是什么意思
  • b2b网站建站自动外链网址
  • 网站建设业务流程图网站开发北京公司
  • 公司发展规划seo管理
  • 怎样做内网网站站长统计ios
  • 网站可以做无形资产百度搜索 手机
  • wordpress 做网站网上交易平台
  • 网站代码模板免费百度博客收录提交入口
  • crm订单管理系统免费广州seo公司
  • 网站费用怎么做会计分录品牌建设的五个要素
  • 杭州装修公司排名前十强seo网站排名优化公司哪家好
  • 申请建设网站经费申请自动化测试培训机构哪个好
  • 湛江网站开发公司企业网站开发
  • 视频收费网站怎么做miy188coo免费入口
  • 哪家公司做企业网站稳定优惠小程序开发一个多少钱啊
  • 免费政府网站找培训班一般在什么平台
  • synology建设网站巨量引擎官网
  • 银川邮件处理中心在哪里网站搜索引擎优化
  • 网站建设成都公司网络推销平台有哪些
  • 网站qq安全认证中国销售网
  • 四川住房和城乡建设厅网站不能进入湖北权威的百度推广
  • 网站链接做投票昆明seo关键词排名
  • wordpress二级域名建站长沙网站制作费用
  • Effective C++ 条款42:了解 typename 的双重含义
  • 【C++】缺省参数
  • LPDDR5训练过程
  • 使用Docker容器化Python测试Pytest项目并配置GitHub Actions CI/CD流程
  • 神经网络 小土堆pytorch记录
  • Linux入门指南:基础开发工具---yum/apt