跳转到内容

自动压缩图像而不下降质量

压缩图像文件的最重要知识之一是小文件规模以低图像质量为代价。低到多,低到能产生视觉效果,取决于图像化压缩能够非常有效缩放图像规模,除降低存储空间和带宽成本外,缩放图像大有助于保持用户注意力并快速小下载

从另一方面看,许多开发商害怕使用攻击性压缩方法,因为害怕降低视觉质量,并往往偏向谨慎一边,分配比真正需要高质量值调整质量压缩水平并不总是导致视觉质量下降精确调整压缩水平并辅之以微调编码设置,可大幅降低文件尺寸而不引起人眼可见的退化

标准质量编码设置所有图像都有效并简单将图像质量降为新环境有问题:

  1. 图像质量设置通常在a上指定滑动比例介于0至100之间,但这个数实际表示不同图像格式,如JPEG、WebP和PNG?压缩算法复杂多变, 所以不常知道这些质量设置实际上意味着什么不同的算法和格式往往以不同方式实现设置,因此任何特定质量都行(例如:70)还指不同上下文和不同格式的不同事物
  2. 图像内容判定大度如何水压缩前失去视觉质量.图像包含大范围颜色吗?大度复杂细节平滑颜色梯度选择单默认质量设置另一张内容不同的图像可能有质量设置相同的视觉人工品
  3. 图像大小需要不同质量设置显示.一定尺寸图像可用给定质量设置完全显示75),同一张图片缩放异尺寸时,可能有质量设置相同的视觉人工品图像质量设置应该是优化面向每个重尺寸图像,而不只是所有大小的单一质量设置

将以上点计数时,只要有时间乱动每一图像并找到最优质量设置,使文件体积存取最大值而不影响视觉质量,都很好和好。然而,当您需要时,这种耗时过程效率不高微调大数图像免管不可能人工查找最优质量显示多用户加载图像

上头交互式图像示例显示各种质量设置对图像视觉质量的影响图像缩放至600像素宽度并初始显示质量设置为100点击图像下质量按钮以观察如何不同质量设置撞击图像质量.

沙滩小屋
质量 : 百元 大小 : 228KB
10 20码 30码 40码 50码 60码 70码 80 90 百元

下到顶质量设置间点击时, 初始视觉质量大增, 相对小增文件规模, 但向高质量设置中, 视觉质量微增文件规模大增几乎无改善JPEG图像示例还突出显示不同图像内容受各种质量设置视觉影响.向低质转换时最突出的变化发生于图像文本叠加,在相对高质量设置中可见平滑颜色梯度下方显示压缩的视觉效果 复杂细节小屋和沙滩显示显性人工品

云化罐头文件大小与视觉质量权衡决策自动化即时使用感知度量学调和编码设置并基于特定图像内容和格式选择适当图像质量逐个分析每一图像查找最优压缩级别和图像编码设置允许精确调整压缩水平并微调编码设置,并大为压缩文件尺寸而不引起人眼可见的退化

执行自动质量选择和图像编码调整质量问题参数集汽车高山市q_aut内URLs)使用相同的沙滩图像放大至宽度600像素并自动交付质量(19.5KB-文件体积节省近60%,而质量为90):

<\/Image>","codeSnippet":" \n\t \n\t \n<\/Image>","status":0,"statusText":"Ok","displayName":"React","packageName":"cloudinary-react","packageStatus":"","packageVersion":"1.x"},{"sdkId":"vue_2","framework":"vue_2","language":"vue","rawCodeSnippet":"new CloudinaryImage(\"beach_huts.jpg\")\n .resize(scale().width(600))\n .delivery(quality(auto()));","codeSnippet":"new CloudinaryImage(\"beach_huts.jpg\")\n .resize(scale().width(600))\n .delivery(quality(auto()));","status":0,"statusText":"Ok","displayName":"Vue.js","packageName":"@cloudinary\/vue","packageStatus":"","packageVersion":"1.x"},{"sdkId":"vue","framework":"vue","language":"vue","rawCodeSnippet":" <\/cld-image>","codeSnippet":" \n\t \n\t \n<\/cld-image>","status":0,"statusText":"Ok","displayName":"Vue.js","packageName":"cloudinary-vue","packageStatus":"legacy","packageVersion":"1.x"},{"sdkId":"angular_2","framework":"angular_2","language":"angular","rawCodeSnippet":"new CloudinaryImage(\"beach_huts.jpg\")\n .resize(scale().width(600))\n .delivery(quality(auto()));","codeSnippet":"new CloudinaryImage(\"beach_huts.jpg\")\n .resize(scale().width(600))\n .delivery(quality(auto()));","status":0,"statusText":"Ok","displayName":"Angular","packageName":"@cloudinary\/ng","packageStatus":"","packageVersion":"1.x"},{"sdkId":"angular","framework":"angular","language":"angular","rawCodeSnippet":" <\/cl-transformation> <\/cl-transformation> <\/cl-image>","codeSnippet":" \n\t \n\t<\/cl-transformation>\n\t \n\t<\/cl-transformation>\n<\/cl-image>","status":0,"statusText":"Ok","displayName":"Angular","packageName":"@cloudinary\/angular-5.x","packageStatus":"legacy","packageVersion":"1.x"},{"sdkId":"js_2","framework":"js_2","language":"js","rawCodeSnippet":"new CloudinaryImage(\"beach_huts.jpg\")\n .resize(scale().width(600))\n .delivery(quality(auto()));","codeSnippet":"new CloudinaryImage(\"beach_huts.jpg\")\n .resize(scale().width(600))\n .delivery(quality(auto()));","status":0,"statusText":"Ok","displayName":"JS","packageName":"@cloudinary\/url-gen","packageStatus":"","packageVersion":"1.x"},{"sdkId":"js","framework":"js","language":"js","rawCodeSnippet":"cloudinary.imageTag('beach_huts.jpg', {transformation: [ {width: 600, crop: \"scale\"}, {quality: \"auto\"} ]}).toHtml();","codeSnippet":"cloudinary.imageTag('beach_huts.jpg', {transformation: [\n {width: 600, crop: \"scale\"},\n {quality: \"auto\"}\n ]}).toHtml();","status":0,"statusText":"Ok","displayName":"JS","packageName":"cloudinary-core","packageStatus":"legacy","packageVersion":"2.x"},{"sdkId":"python","framework":"python","language":"python","rawCodeSnippet":"CloudinaryImage(\"beach_huts.jpg\").image(transformation=[ {'width': 600, 'crop': \"scale\"}, {'quality': \"auto\"} ])","codeSnippet":"CloudinaryImage(\"beach_huts.jpg\").image(transformation=[\n {'width': 600, 'crop': \"scale\"},\n {'quality': \"auto\"}\n ])","status":0,"statusText":"Ok","displayName":"Python","packageName":"cloudinary","packageStatus":"","packageVersion":"1.x"},{"sdkId":"php_2","framework":"php_2","language":"php","rawCodeSnippet":"(new ImageTag('beach_huts.jpg'))\n\t->resize(Resize::scale()->width(600))\n\t->delivery(Delivery::quality(\n\tQuality::auto()));","codeSnippet":"(new ImageTag('beach_huts.jpg'))\n\t->resize(Resize::scale()->width(600))\n\t->delivery(Delivery::quality(\n\tQuality::auto()));","status":0,"statusText":"Ok","displayName":"PHP","packageName":"cloudinary_php","packageStatus":"","packageVersion":"2.x"},{"sdkId":"php","framework":"php","language":"php","rawCodeSnippet":"cl_image_tag(\"beach_huts.jpg\", array(\"transformation\"=>array( array(\"width\"=>600, \"crop\"=>\"scale\"), array(\"quality\"=>\"auto\") )))","codeSnippet":"cl_image_tag(\"beach_huts.jpg\", array(\"transformation\"=>array(\n array(\"width\"=>600, \"crop\"=>\"scale\"),\n array(\"quality\"=>\"auto\")\n )))","status":0,"statusText":"Ok","displayName":"PHP","packageName":"cloudinary_php","packageStatus":"legacy","packageVersion":"1.x"},{"sdkId":"java","framework":"java","language":"java","rawCodeSnippet":"cloudinary.url().transformation(new Transformation().width(600).crop(\"scale\").chain() .quality(\"auto\")).imageTag(\"beach_huts.jpg\");","codeSnippet":"cloudinary.url().transformation(new Transformation()\n .width(600).crop(\"scale\").chain()\n .quality(\"auto\")).imageTag(\"beach_huts.jpg\");","status":0,"statusText":"Ok","displayName":"Java","packageName":"cloudinary","packageStatus":"","packageVersion":"1.x"},{"sdkId":"ruby","framework":"ruby","language":"ruby","rawCodeSnippet":"cl_image_tag(\"beach_huts.jpg\", :transformation=>[ {:width=>600, :crop=>\"scale\"}, {:quality=>\"auto\"} ])","codeSnippet":"cl_image_tag(\"beach_huts.jpg\", :transformation=>[\n {:width=>600, :crop=>\"scale\"},\n {:quality=>\"auto\"}\n ])","status":0,"statusText":"Ok","displayName":"Ruby","packageName":"cloudinary","packageStatus":"","packageVersion":"1.x"},{"sdkId":"csharp","framework":"csharp","language":"csharp","rawCodeSnippet":"cloudinary.Api.UrlImgUp.Transform(new Transformation().Width(600).Crop(\"scale\").Chain() .Quality(\"auto\")).BuildImageTag(\"beach_huts.jpg\")","codeSnippet":"cloudinary.Api.UrlImgUp.Transform(new Transformation()\n .Width(600).Crop(\"scale\").Chain()\n .Quality(\"auto\")).BuildImageTag(\"beach_huts.jpg\")","status":0,"statusText":"Ok","displayName":".NET","packageName":"CloudinaryDotNet","packageStatus":"","packageVersion":"1.x"},{"sdkId":"dart","framework":"dart","language":"dart","rawCodeSnippet":"cloudinary.image('beach_huts.jpg').transformation(Transformation()\n\t.resize(Resize.scale().width(600))\n\t.delivery(Delivery.quality(\n\tQuality.auto())));","codeSnippet":"cloudinary.image('beach_huts.jpg').transformation(Transformation()\n\t.resize(Resize.scale().width(600))\n\t.delivery(Delivery.quality(\n\tQuality.auto())));","status":0,"statusText":"Ok","displayName":"Dart","packageName":"cloudinary_dart","packageStatus":"","packageVersion":"0.x"},{"sdkId":"swift","framework":"swift","language":"swift","rawCodeSnippet":"imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setWidth(600).setCrop(\"scale\").chain() .setQuality(\"auto\")).generate(\"beach_huts.jpg\")!, cloudinary: cloudinary)","codeSnippet":"imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation()\n .setWidth(600).setCrop(\"scale\").chain()\n .setQuality(\"auto\")).generate(\"beach_huts.jpg\")!, cloudinary: cloudinary)","status":0,"statusText":"Ok","displayName":"iOS","packageName":"cloudinary","packageStatus":"","packageVersion":"3.x"},{"sdkId":"android","framework":"android","language":"android","rawCodeSnippet":"MediaManager.get().url().transformation(new Transformation().width(600).crop(\"scale\").chain() .quality(\"auto\")).generate(\"beach_huts.jpg\");","codeSnippet":"MediaManager.get().url().transformation(new Transformation()\n .width(600).crop(\"scale\").chain()\n .quality(\"auto\")).generate(\"beach_huts.jpg\");","status":0,"statusText":"Ok","displayName":"Android","packageName":"cloudinary-android","packageStatus":"","packageVersion":"1.x"},{"sdkId":"flutter","framework":"flutter","language":"flutter","rawCodeSnippet":"cloudinary.image('beach_huts.jpg').transformation(Transformation()\n\t.resize(Resize.scale().width(600))\n\t.delivery(Delivery.quality(\n\tQuality.auto())));","codeSnippet":"cloudinary.image('beach_huts.jpg').transformation(Transformation()\n\t.resize(Resize.scale().width(600))\n\t.delivery(Delivery.quality(\n\tQuality.auto())));","status":0,"statusText":"Ok","displayName":"Flutter","packageName":"cloudinary_flutter","packageStatus":"","packageVersion":"0.x"},{"sdkId":"kotlin","framework":"kotlin","language":"kotlin","rawCodeSnippet":"cloudinary.image {\n\tpublicId(\"beach_huts.jpg\")\n\t resize(Resize.scale() { width(600) })\n\t delivery(Delivery.quality(\n\tQuality.auto())) \n}.generate()","codeSnippet":"cloudinary.image {\n\tpublicId(\"beach_huts.jpg\")\n\t resize(Resize.scale() { width(600) })\n\t delivery(Delivery.quality(\n\tQuality.auto())) \n}.generate()","status":0,"statusText":"Ok","displayName":"Kotlin","packageName":"kotlin-url-gen","packageStatus":"","packageVersion":"1.x"},{"sdkId":"jquery","framework":"jquery","language":"jquery","rawCodeSnippet":"$.cloudinary.image(\"beach_huts.jpg\", {transformation: [ {width: 600, crop: \"scale\"}, {quality: \"auto\"} ]})","codeSnippet":"$.cloudinary.image(\"beach_huts.jpg\", {transformation: [\n {width: 600, crop: \"scale\"},\n {quality: \"auto\"}\n ]})","status":0,"statusText":"Ok","displayName":"jQuery","packageName":"cloudinary-jquery","packageStatus":"","packageVersion":"2.x"},{"sdkId":"react_native","framework":"react_native","language":"react_native","rawCodeSnippet":"new CloudinaryImage(\"beach_huts.jpg\")\n .resize(scale().width(600))\n .delivery(quality(auto()));","codeSnippet":"new CloudinaryImage(\"beach_huts.jpg\")\n .resize(scale().width(600))\n .delivery(quality(auto()));","status":0,"statusText":"Ok","displayName":"React Native","packageName":"cloudinary-react-native","packageStatus":"","packageVersion":"0.x"}]" parsed-url="{"url":"https:\/\/res.www.agrosoland.com\/demo\/image\/upload\/w_600\/q_auto\/beach_huts.jpg","cloud_name":"demo","host":"res.www.agrosoland.com","type":"upload","resource_type":"image","transformation":[{"width":"600"},{"quality":"auto"}],"transformation_string":"w_600\/q_auto","url_suffix":"","version":"","secure":true,"public_id":"beach_huts.jpg","extension":"jpg","format":"jpg","format_code":true,"signature":"","private_cdn":false,"result_asset_type":"image"}" with-url="true" > 加载代码示例 图像自动交付图像质量

如何最终使用图像还可能影响质量/大小权衡决策例举 :

  • 图像使用为高品质版本缩略图链接
  • 或显示高清晰度图像打印,
  • 图像会收到多流量并因此带宽因素变得更加重要吗?

解决这些和其他考量问题,你可影响质量自动化算法通过增加额外值减少文件大小的力度q_aut参数描述视觉质量目标水平(最佳、良好、生态或低水平)。

交互图像示例显示各种效果汽车质量设置具有视觉质量 相同的沙滩图像使用 上第一个例子, 并缩小到宽度600像素图像初始显示质量设置为100,并点击图像下方按钮之一使用该特定质量设置显示图像

沙滩小屋
质量 : 百元 大小 : 228KB
自动:low 自动eco 自动:good 自动:最佳 80 百元

不同的自动质量设置可归纳如下:

  • q_aut:best最小攻击性算法,它尽可能压缩文件而不损及视觉质量完全没有.
  • q_auto:g提供相对小文件质量良好图像显示强点包括几件小视觉手工艺品,这些手工艺品仅在近距离视觉检查图像时才显眼。设置文件大小和视觉质量最优平衡
  • q_ato:eco更具攻击性算法,优先处理小文件,以略低视觉质量为代价,仅在近视检查中可见
  • q_auto:low最强进化算法 产生最小文件 允许低视觉质量

默认指定q_aut与具体说明相同q_auto:g默认值修改请求浏览器已启动数据保存支持q_aut默认值q_ato:eco.save-Data支持包含在客户提示标准中的一个特征,Chrome和Opera浏览器已经支持

注解:客户域名或私有CDN分布式客户端需要设置客户提示处理程序联系我们了解更多细节.更新-2016年9月:所有客户都可使用包含客户提示处理的特征而无需设置

取图像优化到下一个层次自动图像质量选择与自动图像格式选择合并.云式算法可检验是否格式不同(例如PNG8)更适合基于内容的具体图像WebP和JPEG-XR等格式交付Web图像效率更高,但并非所有浏览器都支持这些格式。为了优化图像交付,云化系统也可以动态选择最高效图像格式交付,基础是浏览器请求图像

包括自动格式选择图像传送格式化参数设置汽车高山市f_aut内URLs)以自动质量选择和自动格式选择方式交付沙滩图像q_autWebP(13.2KB)发送至 Chrome浏览器,JPEG-XR(15KB)发送至Internet-Extraler/Edge浏览器,JPEG(19.5KB)发送至所有其他浏览器

<\/Image>","codeSnippet":" \n\t \n\t \n<\/Image>","status":0,"statusText":"Ok","displayName":"React","packageName":"cloudinary-react","packageStatus":"","packageVersion":"1.x"},{"sdkId":"vue_2","framework":"vue_2","language":"vue","rawCodeSnippet":"new CloudinaryImage(\"beach_huts.jpg\")\n .resize(scale().width(600))\n .delivery(format(auto()))\n .delivery(quality(auto()));","codeSnippet":"new CloudinaryImage(\"beach_huts.jpg\")\n .resize(scale().width(600))\n .delivery(format(auto()))\n .delivery(quality(auto()));","status":0,"statusText":"Ok","displayName":"Vue.js","packageName":"@cloudinary\/vue","packageStatus":"","packageVersion":"1.x"},{"sdkId":"vue","framework":"vue","language":"vue","rawCodeSnippet":" <\/cld-image>","codeSnippet":" \n\t \n\t \n<\/cld-image>","status":0,"statusText":"Ok","displayName":"Vue.js","packageName":"cloudinary-vue","packageStatus":"legacy","packageVersion":"1.x"},{"sdkId":"angular_2","framework":"angular_2","language":"angular","rawCodeSnippet":"new CloudinaryImage(\"beach_huts.jpg\")\n .resize(scale().width(600))\n .delivery(format(auto()))\n .delivery(quality(auto()));","codeSnippet":"new CloudinaryImage(\"beach_huts.jpg\")\n .resize(scale().width(600))\n .delivery(format(auto()))\n .delivery(quality(auto()));","status":0,"statusText":"Ok","displayName":"Angular","packageName":"@cloudinary\/ng","packageStatus":"","packageVersion":"1.x"},{"sdkId":"angular","framework":"angular","language":"angular","rawCodeSnippet":" <\/cl-transformation> <\/cl-transformation> <\/cl-image>","codeSnippet":" \n\t \n\t<\/cl-transformation>\n\t \n\t<\/cl-transformation>\n<\/cl-image>","status":0,"statusText":"Ok","displayName":"Angular","packageName":"@cloudinary\/angular-5.x","packageStatus":"legacy","packageVersion":"1.x"},{"sdkId":"js_2","framework":"js_2","language":"js","rawCodeSnippet":"new CloudinaryImage(\"beach_huts.jpg\")\n .resize(scale().width(600))\n .delivery(format(auto()))\n .delivery(quality(auto()));","codeSnippet":"new CloudinaryImage(\"beach_huts.jpg\")\n .resize(scale().width(600))\n .delivery(format(auto()))\n .delivery(quality(auto()));","status":0,"statusText":"Ok","displayName":"JS","packageName":"@cloudinary\/url-gen","packageStatus":"","packageVersion":"1.x"},{"sdkId":"js","framework":"js","language":"js","rawCodeSnippet":"cloudinary.imageTag('beach_huts.jpg', {transformation: [ {width: 600, crop: \"scale\"}, {quality: \"auto\", fetchFormat: \"auto\"} ]}).toHtml();","codeSnippet":"cloudinary.imageTag('beach_huts.jpg', {transformation: [\n {width: 600, crop: \"scale\"},\n {quality: \"auto\", fetchFormat: \"auto\"}\n ]}).toHtml();","status":0,"statusText":"Ok","displayName":"JS","packageName":"cloudinary-core","packageStatus":"legacy","packageVersion":"2.x"},{"sdkId":"python","framework":"python","language":"python","rawCodeSnippet":"CloudinaryImage(\"beach_huts.jpg\").image(transformation=[ {'width': 600, 'crop': \"scale\"}, {'quality': \"auto\", 'fetch_format': \"auto\"} ])","codeSnippet":"CloudinaryImage(\"beach_huts.jpg\").image(transformation=[\n {'width': 600, 'crop': \"scale\"},\n {'quality': \"auto\", 'fetch_format': \"auto\"}\n ])","status":0,"statusText":"Ok","displayName":"Python","packageName":"cloudinary","packageStatus":"","packageVersion":"1.x"},{"sdkId":"php_2","framework":"php_2","language":"php","rawCodeSnippet":"(new ImageTag('beach_huts.jpg'))\n\t->resize(Resize::scale()->width(600))\n\t->delivery(Delivery::format(\n\tFormat::auto()))\n\t->delivery(Delivery::quality(\n\tQuality::auto()));","codeSnippet":"(new ImageTag('beach_huts.jpg'))\n\t->resize(Resize::scale()->width(600))\n\t->delivery(Delivery::format(\n\tFormat::auto()))\n\t->delivery(Delivery::quality(\n\tQuality::auto()));","status":0,"statusText":"Ok","displayName":"PHP","packageName":"cloudinary_php","packageStatus":"","packageVersion":"2.x"},{"sdkId":"php","framework":"php","language":"php","rawCodeSnippet":"cl_image_tag(\"beach_huts.jpg\", array(\"transformation\"=>array( array(\"width\"=>600, \"crop\"=>\"scale\"), array(\"quality\"=>\"auto\", \"fetch_format\"=>\"auto\") )))","codeSnippet":"cl_image_tag(\"beach_huts.jpg\", array(\"transformation\"=>array(\n array(\"width\"=>600, \"crop\"=>\"scale\"),\n array(\"quality\"=>\"auto\", \"fetch_format\"=>\"auto\")\n )))","status":0,"statusText":"Ok","displayName":"PHP","packageName":"cloudinary_php","packageStatus":"legacy","packageVersion":"1.x"},{"sdkId":"java","framework":"java","language":"java","rawCodeSnippet":"cloudinary.url().transformation(new Transformation().width(600).crop(\"scale\").chain() .quality(\"auto\").fetchFormat(\"auto\")).imageTag(\"beach_huts.jpg\");","codeSnippet":"cloudinary.url().transformation(new Transformation()\n .width(600).crop(\"scale\").chain()\n .quality(\"auto\").fetchFormat(\"auto\")).imageTag(\"beach_huts.jpg\");","status":0,"statusText":"Ok","displayName":"Java","packageName":"cloudinary","packageStatus":"","packageVersion":"1.x"},{"sdkId":"ruby","framework":"ruby","language":"ruby","rawCodeSnippet":"cl_image_tag(\"beach_huts.jpg\", :transformation=>[ {:width=>600, :crop=>\"scale\"}, {:quality=>\"auto\", :fetch_format=>:auto} ])","codeSnippet":"cl_image_tag(\"beach_huts.jpg\", :transformation=>[\n {:width=>600, :crop=>\"scale\"},\n {:quality=>\"auto\", :fetch_format=>:auto}\n ])","status":0,"statusText":"Ok","displayName":"Ruby","packageName":"cloudinary","packageStatus":"","packageVersion":"1.x"},{"sdkId":"csharp","framework":"csharp","language":"csharp","rawCodeSnippet":"cloudinary.Api.UrlImgUp.Transform(new Transformation().Width(600).Crop(\"scale\").Chain() .Quality(\"auto\").FetchFormat(\"auto\")).BuildImageTag(\"beach_huts.jpg\")","codeSnippet":"cloudinary.Api.UrlImgUp.Transform(new Transformation()\n .Width(600).Crop(\"scale\").Chain()\n .Quality(\"auto\").FetchFormat(\"auto\")).BuildImageTag(\"beach_huts.jpg\")","status":0,"statusText":"Ok","displayName":".NET","packageName":"CloudinaryDotNet","packageStatus":"","packageVersion":"1.x"},{"sdkId":"dart","framework":"dart","language":"dart","rawCodeSnippet":"cloudinary.image('beach_huts.jpg').transformation(Transformation()\n\t.resize(Resize.scale().width(600))\n\t.delivery(Delivery.format(\n\tFormat.auto()))\n\t.delivery(Delivery.quality(\n\tQuality.auto())));","codeSnippet":"cloudinary.image('beach_huts.jpg').transformation(Transformation()\n\t.resize(Resize.scale().width(600))\n\t.delivery(Delivery.format(\n\tFormat.auto()))\n\t.delivery(Delivery.quality(\n\tQuality.auto())));","status":0,"statusText":"Ok","displayName":"Dart","packageName":"cloudinary_dart","packageStatus":"","packageVersion":"0.x"},{"sdkId":"swift","framework":"swift","language":"swift","rawCodeSnippet":"imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setWidth(600).setCrop(\"scale\").chain() .setQuality(\"auto\").setFetchFormat(\"auto\")).generate(\"beach_huts.jpg\")!, cloudinary: cloudinary)","codeSnippet":"imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation()\n .setWidth(600).setCrop(\"scale\").chain()\n .setQuality(\"auto\").setFetchFormat(\"auto\")).generate(\"beach_huts.jpg\")!, cloudinary: cloudinary)","status":0,"statusText":"Ok","displayName":"iOS","packageName":"cloudinary","packageStatus":"","packageVersion":"3.x"},{"sdkId":"android","framework":"android","language":"android","rawCodeSnippet":"MediaManager.get().url().transformation(new Transformation().width(600).crop(\"scale\").chain() .quality(\"auto\").fetchFormat(\"auto\")).generate(\"beach_huts.jpg\");","codeSnippet":"MediaManager.get().url().transformation(new Transformation()\n .width(600).crop(\"scale\").chain()\n .quality(\"auto\").fetchFormat(\"auto\")).generate(\"beach_huts.jpg\");","status":0,"statusText":"Ok","displayName":"Android","packageName":"cloudinary-android","packageStatus":"","packageVersion":"1.x"},{"sdkId":"flutter","framework":"flutter","language":"flutter","rawCodeSnippet":"cloudinary.image('beach_huts.jpg').transformation(Transformation()\n\t.resize(Resize.scale().width(600))\n\t.delivery(Delivery.format(\n\tFormat.auto()))\n\t.delivery(Delivery.quality(\n\tQuality.auto())));","codeSnippet":"cloudinary.image('beach_huts.jpg').transformation(Transformation()\n\t.resize(Resize.scale().width(600))\n\t.delivery(Delivery.format(\n\tFormat.auto()))\n\t.delivery(Delivery.quality(\n\tQuality.auto())));","status":0,"statusText":"Ok","displayName":"Flutter","packageName":"cloudinary_flutter","packageStatus":"","packageVersion":"0.x"},{"sdkId":"kotlin","framework":"kotlin","language":"kotlin","rawCodeSnippet":"cloudinary.image {\n\tpublicId(\"beach_huts.jpg\")\n\t resize(Resize.scale() { width(600) })\n\t delivery(Delivery.format(\n\tFormat.auto()))\n\t delivery(Delivery.quality(\n\tQuality.auto())) \n}.generate()","codeSnippet":"cloudinary.image {\n\tpublicId(\"beach_huts.jpg\")\n\t resize(Resize.scale() { width(600) })\n\t delivery(Delivery.format(\n\tFormat.auto()))\n\t delivery(Delivery.quality(\n\tQuality.auto())) \n}.generate()","status":0,"statusText":"Ok","displayName":"Kotlin","packageName":"kotlin-url-gen","packageStatus":"","packageVersion":"1.x"},{"sdkId":"jquery","framework":"jquery","language":"jquery","rawCodeSnippet":"$.cloudinary.image(\"beach_huts.jpg\", {transformation: [ {width: 600, crop: \"scale\"}, {quality: \"auto\", fetch_format: \"auto\"} ]})","codeSnippet":"$.cloudinary.image(\"beach_huts.jpg\", {transformation: [\n {width: 600, crop: \"scale\"},\n {quality: \"auto\", fetch_format: \"auto\"}\n ]})","status":0,"statusText":"Ok","displayName":"jQuery","packageName":"cloudinary-jquery","packageStatus":"","packageVersion":"2.x"},{"sdkId":"react_native","framework":"react_native","language":"react_native","rawCodeSnippet":"new CloudinaryImage(\"beach_huts.jpg\")\n .resize(scale().width(600))\n .delivery(format(auto()))\n .delivery(quality(auto()));","codeSnippet":"new CloudinaryImage(\"beach_huts.jpg\")\n .resize(scale().width(600))\n .delivery(format(auto()))\n .delivery(quality(auto()));","status":0,"statusText":"Ok","displayName":"React Native","packageName":"cloudinary-react-native","packageStatus":"","packageVersion":"0.x"}]" parsed-url="{"url":"https:\/\/res.www.agrosoland.com\/demo\/image\/upload\/w_600\/q_auto,f_auto\/beach_huts.jpg","cloud_name":"demo","host":"res.www.agrosoland.com","type":"upload","resource_type":"image","transformation":[{"width":"600"},{"quality":"auto","format":"auto"}],"transformation_string":"w_600\/q_auto,f_auto","url_suffix":"","version":"","secure":true,"public_id":"beach_huts.jpg","extension":"jpg","format":"jpg","format_code":true,"signature":"","private_cdn":false,"result_asset_type":"image"}" with-url="true" > 加载代码示例 q_auto带f_aut

组合q_autf_aut联合使用时比单独使用时强算法可能检测到PNG格式更适合包含图画等内容的具体图像对某些图像来说,连PNG8格式都可自动选择,以提供高效文件大小高超的外观结果

下URL动态生成500像素宽版绘图使用自动图像质量选择q_autf_aut)

<\/Image>","codeSnippet":" \n\t \n<\/Image>","status":0,"statusText":"Ok","displayName":"React","packageName":"cloudinary-react","packageStatus":"","packageVersion":"1.x"},{"sdkId":"vue_2","framework":"vue_2","language":"vue","rawCodeSnippet":"new CloudinaryImage(\"flowers_and_birds.jpg\")\n .resize(scale().width(500))\n .delivery(quality(auto()));","codeSnippet":"new CloudinaryImage(\"flowers_and_birds.jpg\")\n .resize(scale().width(500))\n .delivery(quality(auto()));","status":0,"statusText":"Ok","displayName":"Vue.js","packageName":"@cloudinary\/vue","packageStatus":"","packageVersion":"1.x"},{"sdkId":"vue","framework":"vue","language":"vue","rawCodeSnippet":" <\/cld-image>","codeSnippet":" \n\t \n<\/cld-image>","status":0,"statusText":"Ok","displayName":"Vue.js","packageName":"cloudinary-vue","packageStatus":"legacy","packageVersion":"1.x"},{"sdkId":"angular_2","framework":"angular_2","language":"angular","rawCodeSnippet":"new CloudinaryImage(\"flowers_and_birds.jpg\")\n .resize(scale().width(500))\n .delivery(quality(auto()));","codeSnippet":"new CloudinaryImage(\"flowers_and_birds.jpg\")\n .resize(scale().width(500))\n .delivery(quality(auto()));","status":0,"statusText":"Ok","displayName":"Angular","packageName":"@cloudinary\/ng","packageStatus":"","packageVersion":"1.x"},{"sdkId":"angular","framework":"angular","language":"angular","rawCodeSnippet":" <\/cl-transformation> <\/cl-image>","codeSnippet":" \n\t \n\t<\/cl-transformation>\n<\/cl-image>","status":0,"statusText":"Ok","displayName":"Angular","packageName":"@cloudinary\/angular-5.x","packageStatus":"legacy","packageVersion":"1.x"},{"sdkId":"js_2","framework":"js_2","language":"js","rawCodeSnippet":"new CloudinaryImage(\"flowers_and_birds.jpg\")\n .resize(scale().width(500))\n .delivery(quality(auto()));","codeSnippet":"new CloudinaryImage(\"flowers_and_birds.jpg\")\n .resize(scale().width(500))\n .delivery(quality(auto()));","status":0,"statusText":"Ok","displayName":"JS","packageName":"@cloudinary\/url-gen","packageStatus":"","packageVersion":"1.x"},{"sdkId":"js","framework":"js","language":"js","rawCodeSnippet":"cloudinary.imageTag('flowers_and_birds.jpg', {width: 500, quality: \"auto\", crop: \"scale\"}).toHtml();","codeSnippet":"cloudinary.imageTag('flowers_and_birds.jpg', {width: 500, quality: \"auto\", crop: \"scale\"}).toHtml();","status":0,"statusText":"Ok","displayName":"JS","packageName":"cloudinary-core","packageStatus":"legacy","packageVersion":"2.x"},{"sdkId":"python","framework":"python","language":"python","rawCodeSnippet":"CloudinaryImage(\"flowers_and_birds.jpg\").image(width=500, quality=\"auto\", crop=\"scale\")","codeSnippet":"CloudinaryImage(\"flowers_and_birds.jpg\").image(width=500, quality=\"auto\", crop=\"scale\")","status":0,"statusText":"Ok","displayName":"Python","packageName":"cloudinary","packageStatus":"","packageVersion":"1.x"},{"sdkId":"php_2","framework":"php_2","language":"php","rawCodeSnippet":"(new ImageTag('flowers_and_birds.jpg'))\n\t->resize(Resize::scale()->width(500))\n\t->delivery(Delivery::quality(\n\tQuality::auto()));","codeSnippet":"(new ImageTag('flowers_and_birds.jpg'))\n\t->resize(Resize::scale()->width(500))\n\t->delivery(Delivery::quality(\n\tQuality::auto()));","status":0,"statusText":"Ok","displayName":"PHP","packageName":"cloudinary_php","packageStatus":"","packageVersion":"2.x"},{"sdkId":"php","framework":"php","language":"php","rawCodeSnippet":"cl_image_tag(\"flowers_and_birds.jpg\", array(\"width\"=>500, \"quality\"=>\"auto\", \"crop\"=>\"scale\"))","codeSnippet":"cl_image_tag(\"flowers_and_birds.jpg\", array(\"width\"=>500, \"quality\"=>\"auto\", \"crop\"=>\"scale\"))","status":0,"statusText":"Ok","displayName":"PHP","packageName":"cloudinary_php","packageStatus":"legacy","packageVersion":"1.x"},{"sdkId":"java","framework":"java","language":"java","rawCodeSnippet":"cloudinary.url().transformation(new Transformation().width(500).quality(\"auto\").crop(\"scale\")).imageTag(\"flowers_and_birds.jpg\");","codeSnippet":"cloudinary.url().transformation(new Transformation().width(500).quality(\"auto\").crop(\"scale\")).imageTag(\"flowers_and_birds.jpg\");","status":0,"statusText":"Ok","displayName":"Java","packageName":"cloudinary","packageStatus":"","packageVersion":"1.x"},{"sdkId":"ruby","framework":"ruby","language":"ruby","rawCodeSnippet":"cl_image_tag(\"flowers_and_birds.jpg\", :width=>500, :quality=>\"auto\", :crop=>\"scale\")","codeSnippet":"cl_image_tag(\"flowers_and_birds.jpg\", :width=>500, :quality=>\"auto\", :crop=>\"scale\")","status":0,"statusText":"Ok","displayName":"Ruby","packageName":"cloudinary","packageStatus":"","packageVersion":"1.x"},{"sdkId":"csharp","framework":"csharp","language":"csharp","rawCodeSnippet":"cloudinary.Api.UrlImgUp.Transform(new Transformation().Width(500).Quality(\"auto\").Crop(\"scale\")).BuildImageTag(\"flowers_and_birds.jpg\")","codeSnippet":"cloudinary.Api.UrlImgUp.Transform(new Transformation().Width(500).Quality(\"auto\").Crop(\"scale\")).BuildImageTag(\"flowers_and_birds.jpg\")","status":0,"statusText":"Ok","displayName":".NET","packageName":"CloudinaryDotNet","packageStatus":"","packageVersion":"1.x"},{"sdkId":"dart","framework":"dart","language":"dart","rawCodeSnippet":"cloudinary.image('flowers_and_birds.jpg').transformation(Transformation()\n\t.resize(Resize.scale().width(500))\n\t.delivery(Delivery.quality(\n\tQuality.auto())));","codeSnippet":"cloudinary.image('flowers_and_birds.jpg').transformation(Transformation()\n\t.resize(Resize.scale().width(500))\n\t.delivery(Delivery.quality(\n\tQuality.auto())));","status":0,"statusText":"Ok","displayName":"Dart","packageName":"cloudinary_dart","packageStatus":"","packageVersion":"0.x"},{"sdkId":"swift","framework":"swift","language":"swift","rawCodeSnippet":"imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setWidth(500).setQuality(\"auto\").setCrop(\"scale\")).generate(\"flowers_and_birds.jpg\")!, cloudinary: cloudinary)","codeSnippet":"imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setWidth(500).setQuality(\"auto\").setCrop(\"scale\")).generate(\"flowers_and_birds.jpg\")!, cloudinary: cloudinary)","status":0,"statusText":"Ok","displayName":"iOS","packageName":"cloudinary","packageStatus":"","packageVersion":"3.x"},{"sdkId":"android","framework":"android","language":"android","rawCodeSnippet":"MediaManager.get().url().transformation(new Transformation().width(500).quality(\"auto\").crop(\"scale\")).generate(\"flowers_and_birds.jpg\");","codeSnippet":"MediaManager.get().url().transformation(new Transformation().width(500).quality(\"auto\").crop(\"scale\")).generate(\"flowers_and_birds.jpg\");","status":0,"statusText":"Ok","displayName":"Android","packageName":"cloudinary-android","packageStatus":"","packageVersion":"1.x"},{"sdkId":"flutter","framework":"flutter","language":"flutter","rawCodeSnippet":"cloudinary.image('flowers_and_birds.jpg').transformation(Transformation()\n\t.resize(Resize.scale().width(500))\n\t.delivery(Delivery.quality(\n\tQuality.auto())));","codeSnippet":"cloudinary.image('flowers_and_birds.jpg').transformation(Transformation()\n\t.resize(Resize.scale().width(500))\n\t.delivery(Delivery.quality(\n\tQuality.auto())));","status":0,"statusText":"Ok","displayName":"Flutter","packageName":"cloudinary_flutter","packageStatus":"","packageVersion":"0.x"},{"sdkId":"kotlin","framework":"kotlin","language":"kotlin","rawCodeSnippet":"cloudinary.image {\n\tpublicId(\"flowers_and_birds.jpg\")\n\t resize(Resize.scale() { width(500) })\n\t delivery(Delivery.quality(\n\tQuality.auto())) \n}.generate()","codeSnippet":"cloudinary.image {\n\tpublicId(\"flowers_and_birds.jpg\")\n\t resize(Resize.scale() { width(500) })\n\t delivery(Delivery.quality(\n\tQuality.auto())) \n}.generate()","status":0,"statusText":"Ok","displayName":"Kotlin","packageName":"kotlin-url-gen","packageStatus":"","packageVersion":"1.x"},{"sdkId":"jquery","framework":"jquery","language":"jquery","rawCodeSnippet":"$.cloudinary.image(\"flowers_and_birds.jpg\", {width: 500, quality: \"auto\", crop: \"scale\"})","codeSnippet":"$.cloudinary.image(\"flowers_and_birds.jpg\", {width: 500, quality: \"auto\", crop: \"scale\"})","status":0,"statusText":"Ok","displayName":"jQuery","packageName":"cloudinary-jquery","packageStatus":"","packageVersion":"2.x"},{"sdkId":"react_native","framework":"react_native","language":"react_native","rawCodeSnippet":"new CloudinaryImage(\"flowers_and_birds.jpg\")\n .resize(scale().width(500))\n .delivery(quality(auto()));","codeSnippet":"new CloudinaryImage(\"flowers_and_birds.jpg\")\n .resize(scale().width(500))\n .delivery(quality(auto()));","status":0,"statusText":"Ok","displayName":"React Native","packageName":"cloudinary-react-native","packageStatus":"","packageVersion":"0.x"}]" parsed-url="{"url":"https:\/\/res.www.agrosoland.com\/demo\/image\/upload\/w_500,q_auto\/flowers_and_birds.jpg","cloud_name":"demo","host":"res.www.agrosoland.com","type":"upload","resource_type":"image","transformation":[{"width":"500","quality":"auto"}],"transformation_string":"w_500,q_auto","url_suffix":"","version":"","secure":true,"public_id":"flowers_and_birds.jpg","extension":"jpg","format":"jpg","format_code":true,"signature":"","private_cdn":false,"result_asset_type":"image"}" with-url="true" > 加载代码示例 自动质量选择卡通

结果是JPEG图像(41KB),如果你仔细看,你可以看到JPEG格式的损耗性质导致一些视觉人工品下例同绘,将两者并举q_autf_aut:

<\/Image>","codeSnippet":" \n\t \n<\/Image>","status":0,"statusText":"Ok","displayName":"React","packageName":"cloudinary-react","packageStatus":"","packageVersion":"1.x"},{"sdkId":"vue_2","framework":"vue_2","language":"vue","rawCodeSnippet":"new CloudinaryImage(\"flowers_and_birds.jpg\")\n .resize(scale().width(500))\n .delivery(format(auto()))\n .delivery(quality(auto()));","codeSnippet":"new CloudinaryImage(\"flowers_and_birds.jpg\")\n .resize(scale().width(500))\n .delivery(format(auto()))\n .delivery(quality(auto()));","status":0,"statusText":"Ok","displayName":"Vue.js","packageName":"@cloudinary\/vue","packageStatus":"","packageVersion":"1.x"},{"sdkId":"vue","framework":"vue","language":"vue","rawCodeSnippet":" <\/cld-image>","codeSnippet":" \n\t \n<\/cld-image>","status":0,"statusText":"Ok","displayName":"Vue.js","packageName":"cloudinary-vue","packageStatus":"legacy","packageVersion":"1.x"},{"sdkId":"angular_2","framework":"angular_2","language":"angular","rawCodeSnippet":"new CloudinaryImage(\"flowers_and_birds.jpg\")\n .resize(scale().width(500))\n .delivery(format(auto()))\n .delivery(quality(auto()));","codeSnippet":"new CloudinaryImage(\"flowers_and_birds.jpg\")\n .resize(scale().width(500))\n .delivery(format(auto()))\n .delivery(quality(auto()));","status":0,"statusText":"Ok","displayName":"Angular","packageName":"@cloudinary\/ng","packageStatus":"","packageVersion":"1.x"},{"sdkId":"angular","framework":"angular","language":"angular","rawCodeSnippet":" <\/cl-transformation> <\/cl-image>","codeSnippet":" \n\t \n\t<\/cl-transformation>\n<\/cl-image>","status":0,"statusText":"Ok","displayName":"Angular","packageName":"@cloudinary\/angular-5.x","packageStatus":"legacy","packageVersion":"1.x"},{"sdkId":"js_2","framework":"js_2","language":"js","rawCodeSnippet":"new CloudinaryImage(\"flowers_and_birds.jpg\")\n .resize(scale().width(500))\n .delivery(format(auto()))\n .delivery(quality(auto()));","codeSnippet":"new CloudinaryImage(\"flowers_and_birds.jpg\")\n .resize(scale().width(500))\n .delivery(format(auto()))\n .delivery(quality(auto()));","status":0,"statusText":"Ok","displayName":"JS","packageName":"@cloudinary\/url-gen","packageStatus":"","packageVersion":"1.x"},{"sdkId":"js","framework":"js","language":"js","rawCodeSnippet":"cloudinary.imageTag('flowers_and_birds.jpg', {width: 500, quality: \"auto\", fetchFormat: \"auto\", crop: \"scale\"}).toHtml();","codeSnippet":"cloudinary.imageTag('flowers_and_birds.jpg', {width: 500, quality: \"auto\", fetchFormat: \"auto\", crop: \"scale\"}).toHtml();","status":0,"statusText":"Ok","displayName":"JS","packageName":"cloudinary-core","packageStatus":"legacy","packageVersion":"2.x"},{"sdkId":"python","framework":"python","language":"python","rawCodeSnippet":"CloudinaryImage(\"flowers_and_birds.jpg\").image(width=500, quality=\"auto\", fetch_format=\"auto\", crop=\"scale\")","codeSnippet":"CloudinaryImage(\"flowers_and_birds.jpg\").image(width=500, quality=\"auto\", fetch_format=\"auto\", crop=\"scale\")","status":0,"statusText":"Ok","displayName":"Python","packageName":"cloudinary","packageStatus":"","packageVersion":"1.x"},{"sdkId":"php_2","framework":"php_2","language":"php","rawCodeSnippet":"(new ImageTag('flowers_and_birds.jpg'))\n\t->resize(Resize::scale()->width(500))\n\t->delivery(Delivery::format(\n\tFormat::auto()))\n\t->delivery(Delivery::quality(\n\tQuality::auto()));","codeSnippet":"(new ImageTag('flowers_and_birds.jpg'))\n\t->resize(Resize::scale()->width(500))\n\t->delivery(Delivery::format(\n\tFormat::auto()))\n\t->delivery(Delivery::quality(\n\tQuality::auto()));","status":0,"statusText":"Ok","displayName":"PHP","packageName":"cloudinary_php","packageStatus":"","packageVersion":"2.x"},{"sdkId":"php","framework":"php","language":"php","rawCodeSnippet":"cl_image_tag(\"flowers_and_birds.jpg\", array(\"width\"=>500, \"quality\"=>\"auto\", \"fetch_format\"=>\"auto\", \"crop\"=>\"scale\"))","codeSnippet":"cl_image_tag(\"flowers_and_birds.jpg\", array(\"width\"=>500, \"quality\"=>\"auto\", \"fetch_format\"=>\"auto\", \"crop\"=>\"scale\"))","status":0,"statusText":"Ok","displayName":"PHP","packageName":"cloudinary_php","packageStatus":"legacy","packageVersion":"1.x"},{"sdkId":"java","framework":"java","language":"java","rawCodeSnippet":"cloudinary.url().transformation(new Transformation().width(500).quality(\"auto\").fetchFormat(\"auto\").crop(\"scale\")).imageTag(\"flowers_and_birds.jpg\");","codeSnippet":"cloudinary.url().transformation(new Transformation().width(500).quality(\"auto\").fetchFormat(\"auto\").crop(\"scale\")).imageTag(\"flowers_and_birds.jpg\");","status":0,"statusText":"Ok","displayName":"Java","packageName":"cloudinary","packageStatus":"","packageVersion":"1.x"},{"sdkId":"ruby","framework":"ruby","language":"ruby","rawCodeSnippet":"cl_image_tag(\"flowers_and_birds.jpg\", :width=>500, :quality=>\"auto\", :fetch_format=>:auto, :crop=>\"scale\")","codeSnippet":"cl_image_tag(\"flowers_and_birds.jpg\", :width=>500, :quality=>\"auto\", :fetch_format=>:auto, :crop=>\"scale\")","status":0,"statusText":"Ok","displayName":"Ruby","packageName":"cloudinary","packageStatus":"","packageVersion":"1.x"},{"sdkId":"csharp","framework":"csharp","language":"csharp","rawCodeSnippet":"cloudinary.Api.UrlImgUp.Transform(new Transformation().Width(500).Quality(\"auto\").FetchFormat(\"auto\").Crop(\"scale\")).BuildImageTag(\"flowers_and_birds.jpg\")","codeSnippet":"cloudinary.Api.UrlImgUp.Transform(new Transformation().Width(500).Quality(\"auto\").FetchFormat(\"auto\").Crop(\"scale\")).BuildImageTag(\"flowers_and_birds.jpg\")","status":0,"statusText":"Ok","displayName":".NET","packageName":"CloudinaryDotNet","packageStatus":"","packageVersion":"1.x"},{"sdkId":"dart","framework":"dart","language":"dart","rawCodeSnippet":"cloudinary.image('flowers_and_birds.jpg').transformation(Transformation()\n\t.resize(Resize.scale().width(500))\n\t.delivery(Delivery.format(\n\tFormat.auto()))\n\t.delivery(Delivery.quality(\n\tQuality.auto())));","codeSnippet":"cloudinary.image('flowers_and_birds.jpg').transformation(Transformation()\n\t.resize(Resize.scale().width(500))\n\t.delivery(Delivery.format(\n\tFormat.auto()))\n\t.delivery(Delivery.quality(\n\tQuality.auto())));","status":0,"statusText":"Ok","displayName":"Dart","packageName":"cloudinary_dart","packageStatus":"","packageVersion":"0.x"},{"sdkId":"swift","framework":"swift","language":"swift","rawCodeSnippet":"imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setWidth(500).setQuality(\"auto\").setFetchFormat(\"auto\").setCrop(\"scale\")).generate(\"flowers_and_birds.jpg\")!, cloudinary: cloudinary)","codeSnippet":"imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setWidth(500).setQuality(\"auto\").setFetchFormat(\"auto\").setCrop(\"scale\")).generate(\"flowers_and_birds.jpg\")!, cloudinary: cloudinary)","status":0,"statusText":"Ok","displayName":"iOS","packageName":"cloudinary","packageStatus":"","packageVersion":"3.x"},{"sdkId":"android","framework":"android","language":"android","rawCodeSnippet":"MediaManager.get().url().transformation(new Transformation().width(500).quality(\"auto\").fetchFormat(\"auto\").crop(\"scale\")).generate(\"flowers_and_birds.jpg\");","codeSnippet":"MediaManager.get().url().transformation(new Transformation().width(500).quality(\"auto\").fetchFormat(\"auto\").crop(\"scale\")).generate(\"flowers_and_birds.jpg\");","status":0,"statusText":"Ok","displayName":"Android","packageName":"cloudinary-android","packageStatus":"","packageVersion":"1.x"},{"sdkId":"flutter","framework":"flutter","language":"flutter","rawCodeSnippet":"cloudinary.image('flowers_and_birds.jpg').transformation(Transformation()\n\t.resize(Resize.scale().width(500))\n\t.delivery(Delivery.format(\n\tFormat.auto()))\n\t.delivery(Delivery.quality(\n\tQuality.auto())));","codeSnippet":"cloudinary.image('flowers_and_birds.jpg').transformation(Transformation()\n\t.resize(Resize.scale().width(500))\n\t.delivery(Delivery.format(\n\tFormat.auto()))\n\t.delivery(Delivery.quality(\n\tQuality.auto())));","status":0,"statusText":"Ok","displayName":"Flutter","packageName":"cloudinary_flutter","packageStatus":"","packageVersion":"0.x"},{"sdkId":"kotlin","framework":"kotlin","language":"kotlin","rawCodeSnippet":"cloudinary.image {\n\tpublicId(\"flowers_and_birds.jpg\")\n\t resize(Resize.scale() { width(500) })\n\t delivery(Delivery.format(\n\tFormat.auto()))\n\t delivery(Delivery.quality(\n\tQuality.auto())) \n}.generate()","codeSnippet":"cloudinary.image {\n\tpublicId(\"flowers_and_birds.jpg\")\n\t resize(Resize.scale() { width(500) })\n\t delivery(Delivery.format(\n\tFormat.auto()))\n\t delivery(Delivery.quality(\n\tQuality.auto())) \n}.generate()","status":0,"statusText":"Ok","displayName":"Kotlin","packageName":"kotlin-url-gen","packageStatus":"","packageVersion":"1.x"},{"sdkId":"jquery","framework":"jquery","language":"jquery","rawCodeSnippet":"$.cloudinary.image(\"flowers_and_birds.jpg\", {width: 500, quality: \"auto\", fetch_format: \"auto\", crop: \"scale\"})","codeSnippet":"$.cloudinary.image(\"flowers_and_birds.jpg\", {width: 500, quality: \"auto\", fetch_format: \"auto\", crop: \"scale\"})","status":0,"statusText":"Ok","displayName":"jQuery","packageName":"cloudinary-jquery","packageStatus":"","packageVersion":"2.x"},{"sdkId":"react_native","framework":"react_native","language":"react_native","rawCodeSnippet":"new CloudinaryImage(\"flowers_and_birds.jpg\")\n .resize(scale().width(500))\n .delivery(format(auto()))\n .delivery(quality(auto()));","codeSnippet":"new CloudinaryImage(\"flowers_and_birds.jpg\")\n .resize(scale().width(500))\n .delivery(format(auto()))\n .delivery(quality(auto()));","status":0,"statusText":"Ok","displayName":"React Native","packageName":"cloudinary-react-native","packageStatus":"","packageVersion":"0.x"}]" parsed-url="{"url":"https:\/\/res.www.agrosoland.com\/demo\/image\/upload\/w_500,q_auto,f_auto\/flowers_and_birds.jpg","cloud_name":"demo","host":"res.www.agrosoland.com","type":"upload","resource_type":"image","transformation":[{"width":"500","quality":"auto","format":"auto"}],"transformation_string":"w_500,q_auto,f_auto","url_suffix":"","version":"","secure":true,"public_id":"flowers_and_birds.jpg","extension":"jpg","format":"jpg","format_code":true,"signature":"","private_cdn":false,"result_asset_type":"image"}" with-url="true" > 加载代码示例 自动质量和格式选择卡通

算法决定用PNG8格式编码图像图像看起来更好,没有文物,比重更少-只有34.8KB

自动格式选择文档页面获取更多细节

选择优化质量设置质量选择算法.特征也可以合并自动格式选择强势动态解决方案使用提供所有图像最小带宽和最大视觉质量.

试一下自动质量交互演示页并看到自动质量编码设置文档获取更多细节所有图像操作和传送功能均可用,云式所有图例均免收费,包括云式图例自由计划.


回顶

特征邮箱

Baidu
map