Tay*_*hes 43 google-app-engine image
在回答另一个问题时,评论者提到了一个未记录的URI选项,我不知道用App Engine图像服务水平/垂直翻转图像.
文档提到了一些基本选项:
很高兴能够生成一个完整的选项列表,或者如果有人可以提供他们知道的更多选项作为事实上的文档.
Tay*_*hes 91
在阅读一些随机帖子和手动做一些调查研究之间,我把以下列表放在一起.请放弃其他答案或评论中的任何其他知识,我可以在这里集成.
我们可以通过将字符串添加到App Engine基于blob的图像URL的末尾,然后使用=字符来实现各种图像转换.可以通过用连字符分隔选项来组合选项,例如:
http://[image-url]=s200-fh-p-b10-c0xFFFF0000
Run Code Online (Sandbox Code Playgroud)
要么:
http://[image-url]=s200-r90-cc-c0xFF00FF00-fSoften=1,20,0:
Run Code Online (Sandbox Code Playgroud)
...具有以下效果(下面的文档):
作为一个如何令人敬畏的例子,这里是一个动画GIF,缩小和倒置:
...然后我们可以将其转换为带有一个额外参数的MP4视频:点击查看MP4版本
rg - 强制生成的图像为GIF
v {0,1,2,3} - 将图像设置为不同的格式选项(适用于JPG和WebP)
强制PNG,WebP和GIF输出可以与圆形作物结合使用,以获得透明背景.强制JPG可以与边框颜色组合以填充透明图像中的背景.
这些参数已被使用,但其效果未知:no,nd,mv
某些选项(例如= l表示JPEG质量)似乎不会生成新图像.如果更改其他选项(大小等)并更改l值,则应显示质量更改.有些选项也不能很好地协同工作.这一切都没有被谷歌记录,可能是有充分理由的.
而且,依赖于永远存在的任何这些选项可能不是一个好主意.Google可以随时删除大部分内容,恕不另行通知.
cho*_*key 23
我有一天浏览了一些东西,然后我实际上在google的一个页面上找到了一个javascript资产,其中包含英文变量名称及其类型!这是我制作的格式很好的版本:
int: s ==> Size
int: w ==> Width
bool: c ==> Crop
hex: c ==> BorderColor
bool: d ==> Download
int: h ==> Height
bool: s ==> Stretch
bool: h ==> Html
bool: p ==> SmartCrop
bool: pa ==> PreserveAspectRatio
bool: pd ==> Pad
bool: pp ==> SmartCropNoClip
bool: pf ==> SmartCropUseFace
int: p ==> FocalPlane
bool: n ==> CenterCrop
int: r ==> Rotate
bool: r ==> SkipRefererCheck
bool: fh ==> HorizontalFlip
bool: fv ==> VerticalFlip
bool: cc ==> CircleCrop
bool: ci ==> ImageCrop
bool: o ==> Overlay
str: o ==> EncodedObjectId
str: j ==> EncodedFrameId
int: x ==> TileX
int: y ==> TileY
int: z ==> TileZoom
bool: g ==> TileGeneration
bool: fg ==> ForceTileGeneration
bool: ft ==> ForceTransformation
int: e ==> ExpirationTime
str: f ==> ImageFilter
bool: k ==> KillAnimation
int: k ==> FocusBlur
bool: u ==> Unfiltered
bool: ut ==> UnfilteredWithTransforms
bool: i ==> IncludeMetadata
bool: ip ==> IncludePublicMetadata
bool: a ==> EsPortraitApprovedOnly
int: a ==> SelectFrameint
int: m ==> VideoFormat
int: vb ==> VideoBegin
int: vl ==> VideoLength
bool: lf ==> LooseFaceCrop
bool: mv ==> MatchVersion
bool: id ==> ImageDigest
int: ic ==> InternalClient
bool: b ==> BypassTakedown
int: b ==> BorderSize
str: t ==> Token
str: nt0 ==> VersionedToken
bool: rw ==> RequestWebp
bool: rwu ==> RequestWebpUnlessMaybeTransparent
bool: rwa ==> RequestAnimatedWebp
bool: nw ==> NoWebp
bool: rh ==> RequestH264
bool: nc ==> NoCorrectExifOrientation
bool: nd ==> NoDefaultImage
bool: no ==> NoOverlay
str: q ==> QueryString
bool: ns ==> NoSilhouette
int: l ==> QualityLevel
int: v ==> QualityBucket
bool: nu ==> NoUpscale
bool: rj ==> RequestJpeg
bool: rp ==> RequestPng
bool: rg ==> RequestGif
bool: pg ==> TilePyramidAsProto
bool: mo ==> Monogram
bool: al ==> Autoloop
int: iv ==> ImageVersion
int: pi ==> PitchDegrees
int: ya ==> YawDegrees
int: ro ==> RollDegrees
int: fo ==> FovDegrees
bool: df ==> DetectFaces
str: mm ==> VideoMultiFormat
bool: sg ==> StripGoogleData
bool: gd ==> PreserveGoogleData
bool: fm ==> ForceMonogram
int: ba ==> Badge
int: br ==> BorderRadius
hex: bc ==> BackgroundColor
hex: pc ==> PadColor
hex: sc ==> SubstitutionColor
bool: dv ==> DownloadVideo
bool: md ==> MonogramDogfood
int: cp ==> ColorProfile
bool: sm ==> StripMetadata
int: cv ==> FaceCropVersion
Run Code Online (Sandbox Code Playgroud)
笔记:
v期权调查我v无意中发现了这个选项!
有一天,当我调查图像响应标题时,我发现了一个etag值设置为的属性v1.由于我还没有看到任何v选项,我只是尝试将其添加到图像网址并且它有效!尽管header属性值可能与v选项无关,但它帮助我意外地找到它.
首先,我注意到设置v0和不设置v导致相同的响应,这表示v0返回原始图像没有v选项(就像s0在s选项上使用将返回原始大小).
然后,我注意到,设置v1,v2并v3逐步返回一个内容大小(重量)较小的图像,并在视觉上变得更差.有趣的是,设置v4,v5等等,没有继续优化.
有一天,我在另一张图片上测试了相同的参数,发现什么都没发生.这很有趣:一个适用于图像的选项而不适用于另一个图像,因此我开始测试图像之间的差异.回顾一下参数列表,我发现它可能是图像类型,事实确实如此!我试过的第一个图像类型v是JPEG,第二个是PNG.所以,我可以通过设置第二个既重现相同的效果rj和v3!
因此,我搜索了有关JPEG类型的互联网,有趣的是我发现了一些来源(正如你在这里看到的,这里)解释了3种类型的JPEG:基线标准,基线优化和渐进,完全适合内部的三种变化该v选项!
我v在其他图像类型上尝试了相同的选项,发现WebP也支持相同类型的自定义类型,也在相同的范围v0和之间逐步优化图像的重量和质量(但质量比JPEG低很多)v3.不幸的是,我还没有找到任何不同WebP类型的来源.
此外,它在GIF上使用时没有任何改变,但是,作为PNG类型,您还可以将其选项与rj和组合v3,但您(当然)会丢失GIF动画和质量.
| 归档时间: |
|
| 查看次数: |
8297 次 |
| 最近记录: |