在回复another question时,一位评论者提到了一个未记录的URI选项,我不知道用App Engine图像服务水平/垂直翻转图像。
The documentation提到了一些基本选项:
很高兴能够生成一个完整的选项列表,或者如果有人可以提供他们知道的更多选项作为事实上的文档。
答案 0 :(得分:87)
在阅读一些随机帖子和手动做一些调查研究之间,我把以下列表放在一起。请放弃其他答案或评论中的任何其他知识,我可以将其集成到这里。
我们可以通过将字符串添加到App Engine基于blob的图像URL的末尾,然后使用=字符来实现各种图像转换。可以通过用连字符分隔选项来组合选项,例如:
http://[image-url]=s200-fh-p-b10-c0xFFFF0000
或:
http://[image-url]=s200-r90-cc-c0xFF00FF00-fSoften=1,20,0:
...具有以下效果(下面的文档):
作为一个令人敬畏的例子,这里是一个动画GIF,缩小尺寸和反转:
...我们可以将其转换为带有一个额外参数的MP4视频:click to see MP4 version
rg - 强制生成的图片为GIF
v {0,1,2,3} - sets image to a different format option(适用于JPG和WebP)
强制PNG,WebP和GIF输出可以与圆形作物结合使用,以获得透明背景。强制JPG可以与边框颜色组合以填充透明图像中的背景。
这些参数已被使用,但其效果未知: no,nd,mv
某些选项(例如= l表示JPEG质量)似乎不会生成新图像。如果更改其他选项(大小等)并更改l值,则应显示质量更改。有些选项也不能很好地协同工作。这一切都没有被Google记录,可能是有充分理由的。
此外,依赖永久存在的任何选项可能不是一个好主意。 Google可以随时删除大部分内容,恕不另行通知。
答案 1 :(得分:18)
我有一天浏览了一些东西,然后我实际上在google的一个页面上找到了一个javascript资产,其中包含英文变量名称及其类型!这是我制作的格式很好的版本:
$("div")
.mousedown(function(e) {
console.log(e.target);
e.stopPropagation();
});
注意:
答案 2 :(得分:8)
v
选项调查我无意中发现了v
选项!
有一天,在我调查图片响应标头时,我发现了一个属性etag
,其值设置为v1
。由于我还没有看到任何v
选项,我只是尝试将其添加到图片网址并且有效!尽管header属性值可能与v
选项无关,但它帮助我意外地找到它。
首先,我注意到设置v0
而未设置v
会产生相同的响应,这表示v0
返回的原始图片没有{{1} }选项(就像在v
选项上使用s0
一样会返回原始大小。)
然后,我注意到设置s
,v1
和v2
会逐渐返回内容较小(重量)的图像,并且视觉上会变得更差。有趣的是,设置v3
,v4
等并没有继续优化它。
有一天,我在另一张图片上测试了相同的参数,发现什么都没发生。这很有趣:一个适用于图像的选项并不适用于另一个图像,因此我开始测试图像之间的差异。回顾一下参数列表,我发现它可能是图像类型,事实确实如此!第一种图像类型I尝试v5
选项是JPEG,第二种是PNG。所以,我可以通过设置v
和rj
的第二个来重现相同的效果!
因此,我在互联网上搜索了JPEG类型,有趣的是我发现了一些来源(正如你可以看到here和here)解释了3种类型的JPEG:Baseline Standard, Baseline Optimized和Progressive,完全符合v3
选项中可用的三种变体!
我在其他图像类型上尝试了相同的v
选项,发现WebP也支持相同类型的自定义类型,也在重量和质量上逐步优化图像(但质量比JPEG低很多)在v
和v0
之间的相同范围内。不幸的是,我还没有找到任何不同WebP类型的来源。
此外,它在GIF上使用时没有任何改变,但是,作为PNG类型,您还可以将其选项与v3
和rj
结合使用,但您会(当然) )失去GIF动画和质量。
答案 3 :(得分:1)
虽然让我告诉你,但我不认为,除非你在谷歌,否则这份文件面向公众:(。
Developers.google.com充满了东西,但并不总是全面/容易找到/理解。在Google构建面向公众的工具之前,我们必须使用我们拥有的工具。