不幸的是,我无法用正确的"技术标记这篇文章"因为它不存在,我没有1500声誉来创建它。
我们正在使用名为" Liquid Pixels"的云服务。在我们的图像上渲染一些东西。
假设我们有一个图像链,目前正在给定的JPEG图像上渲染一个色带。这条链工作正常。 然后我调整了链接以处理动画gif图像,因此我将接收器格式更改为gif(sink = format [gif])。这也很好。
现在我想在一个链中组合这两种情况,因为唯一的区别是sink命令。计划是检查源图像的MIME类型,然后渲染gif或jpg图像。
我以为我可以这样做。
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”属性。我想这是因为宽度和高度在元数据映射中处于不同的层次结构级别。
我希望你们能帮帮我。
答案 0 :(得分:0)
图像实际上没有"格式"在渲染过程中。只有文件具有格式。在处理过程中,图像只是作为光栅或矢量数据存储在存储器中;只有当你下沉它才会成为任何格式的文件。此外,LiquiFire OS使用图像数据来确定从源获取图像时的原始格式,而不是图像名称本身。
如果您需要LiquiFire图像链中的操作来对源图像URL做出反应,您可以通过应用正则表达式来测试图像名称的最后部分,以查看它是.GIF还是.gif。如何做到这一点的一个例子:
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’)]