首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Liquid Pixels检查源图像mime类型

Liquid Pixels检查源图像mime类型
EN

Stack Overflow用户
提问于 2017-07-03 23:01:18
回答 1查看 197关注 0票数 0

不幸的是,我不能给这篇文章加上正确的“技术”标签,因为它并不存在,我也没有1500的声誉来创建它。

我们正在使用一种名为"Liquid Pixels“的云服务来渲染图像上的一些内容。

假设我们有一个图像链,它当前正在给定的JPEG图像上渲染ribbon。这个链条工作得很好。然后我调整了链以处理动画gif图像,因此我将接收器格式更改为gif (sink=formatgif)。这也运行得很好。

现在我想将这两种情况合并到一个链中,因为唯一的区别是接收器命令。我们的计划是检查源图像的MIME类型,然后呈现gif或jpg图像。

我将图像呈现为xml以查看元数据映射。

我以为我可以这样做。

代码语言:javascript
复制
source=url[https://something.com/1x1_sample.gif],name[testImage]

sink=format[gif],if[('testImage.format' eq 'GIF')]
sink=format[jpg],if[('testImage.format' ne 'GIF’)]

但是由于某些原因,我不能访问format属性。我习惯于获取一些参数,比如“testImage.width”或“testImage.height”,但是由于某些原因,我不能访问format=的“GIF”属性。我猜这是因为宽度和高度在元数据映射中处于不同的层次结构级别。

我希望你们能帮助我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-10 21:47:55

在渲染过程中,图像实际上没有“格式”。只有文件才有格式。在处理过程中,图像只是作为光栅或矢量数据存储在内存中;只有当您接收时,它才会变成任何格式的文件。此外,LiquiFire OS在从源获取图像时使用图像数据来确定原始格式,而不是图像名称本身。

如果您需要LiquiFire图像链中的操作来对源图像URL做出反应,则可以通过应用正则表达式来测试图像名称的最后部分,以查看它是.gif还是.GIF。下面是如何做到这一点的一个示例:

代码语言:javascript
复制
set=imageURL[https://your.server.com/sample.gif]
source=url[global.imageURL],name[testImage]
regexcase=name[isGif],key[global.imageURL],cases[\.gif$|\.GIF$|\.\w+$],values[yes|yes|no]
sink=format[gif],if[('global.isGif' eq 'yes')]
sink=format[jpg],if[('global.isGif' eq 'no’)]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44888796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档