{"id":22211,"date":"2020-11-03T01:35:17","date_gmt":"2020-11-03T01:35:17","guid":{"rendered":"http:\/\/image_resizing_manually_with_css_and_automatically_with_cloudinary"},"modified":"2025-02-21T14:16:29","modified_gmt":"2025-02-21T22:16:29","slug":"image_resizing_manually_with_css_and_automatically_with_cloudinary","status":"publish","type":"post","link":"https:\/\/cloudinary.com\/blog\/image_resizing_manually_with_css_and_automatically_with_cloudinary","title":{"rendered":"Image Resizing: Manually With CSS and Automatically With Cloudinary"},"content":{"rendered":"<div class=\"wp-block-cloudinary-markdown \"><p>With <a href=\"https:\/\/cloudinary.com\/blog\/working_with_css_images\">Cascading Style Sheets (CSS)<\/a>, you can change the size and aspect ratio of images and backgrounds. Three resizing options are available: absolute resizing, retention of the aspect ratio, and relative resizing. You can also scale and fill backgrounds. However, those are all manual chores that take time, skill, and effort.<\/p>\n<p>In CSS, specific properties such as <code>background-size<\/code> with the value <code>cover<\/code> can be used to effectively resize the background images of div elements. This method ensures that the background image covers the entire area of the div, adjusting itself proportionally. Additionally, the <code>max-width<\/code> property, when set to 100%, allows images to adjust their size while maintaining the aspect ratio, fitting perfectly within their parent container. This approach is particularly useful for responsive design, ensuring that images look consistent across different devices.<\/p>\n<p>Another important aspect is the use of the <code>width<\/code> attribute, which can be set relative to the parent container. This ensures uniform dimensions of images on all devices. Combining <code>width: auto;<\/code> with <code>max-height: 100%;<\/code> can prevent distortions in the image while respecting its original proportions. It\u2019s worth noting that while the <code>max-width<\/code> and <code>max-height<\/code> properties are highly effective, they may not be supported in all browsers, which is an important consideration for cross-browser compatibility.<\/p>\n<p>With Cloudinary, you can easily transform images, including resizing them and their backgrounds. This article explains how to manually do those tasks with CSS and through an automated, AI-based process in Cloudinary.<\/p>\n<p>This is part of a series of articles about <a href=\"https:\/\/cloudinary.com\/guides\/bulk-image-resize\/bulk-image-resize-in-css-javascript-python-java-node-js-and-other-languages\">Bulk Image Resize<\/a>.<\/p>\n<p>Here are the topics:<\/p>\n<ul>\n<li>\n<a href=\"#resize-images\">Resize images with CSS3<\/a>\n<\/li>\n<li>\n<a href=\"#resize-background\">Resize backgrounds with CSS3<\/a>\n<\/li>\n<li>\n<a href=\"#crop\">Crop images automatically with Cloudinary<\/a>\n<\/li>\n<li>\n<a href=\"#rescale\">Resize and rescale images automatically with Cloudinary<\/a>\n<\/li>\n<li>\n<a href=\"#cloudinary\">Learn more about Cloudinary<\/a>\n<\/li>\n<li>\n<a href=\"#css-images\">Check out the details of CSS images<\/a>\n<\/li>\n<\/ul>\n<h2 id=\"resize-images\">Resize Images With CSS3<\/h2>  \n<p>You can resize images with CSS3, the latest CSS version, in one of three ways, as described below. Pick your choice according to the values of the <code>height<\/code> and <code>width<\/code> properties you desire.<\/p>\n<h3>Absolute Resizing<\/h3>\n<p>With absolute resizing, you specify the <code>height<\/code> and <code>width<\/code> values along with the static ones in pixels (<code>px<\/code>), ems (<code>em<\/code>), or another absolute-size format. See this example:<\/p>\n<pre class=\"js-syntax-highlighted\"><code>img{\n  height: 100px;\n  width: 200px;\n}\n<\/code><\/pre>\n<h3>Retention of Aspect Ratio<\/h3>\n<p>To retain the aspect ratio, statically modify either the <code>height<\/code> or <code>width<\/code> value and set <code>auto<\/code> for the other property to enable automatic sizing, as in this example:<\/p>\n<pre class=\"js-syntax-highlighted\"><code>img{\n  height: 100px;\n  width: auto;\n}\n<\/code><\/pre>\n<h3>Relative Sizing<\/h3>\n<p>Relative sizing means sizing images according to the parent <code>&lt;div&gt;<\/code> or the size of the client viewport. If you apply that property to an image as the only element, the parent container is the viewport. Setting <code>object-fit: contain<\/code> retains the image\u2019s original dimensions. CSS then sizes to the point at which the entire image is visible.<\/p>\n<p>This example sizes an image to fit the space available in the parent container:<\/p>\n<pre class=\"js-syntax-highlighted\"><code>img{\n  height: 100%;\n  width: 100%;\n  object-fit: contain;\n}\n<\/code><\/pre>\n<h2 id=\"resize-backgrounds\">Resize Backgrounds With CSS3<\/h2>\n<p>Say you want to resize a background image to better fit an element or your page. The <code>background-size<\/code> property would come in handy. See the examples below.<\/p>\n<h3>Absolute Resizing<\/h3>\n<p>Similar to resizing with standard images, absolute resizing changes the background dimensions to match the height and width you specify. Keep in mind that manually setting values also changes the aspect ratio.<\/p>\n<p>To resize backgrounds, specify the width first and then the height. Omitting the height defaults it to <code>auto<\/code>. For example, the three codelines below produce the same image size, assuming that the image starts as 200px by 200px:<\/p>\n<pre class=\"js-syntax-highlighted\"><code>background-size: 100px 100px;\n\nbackground-size: 100px;\n\nbackground-size: 100px auto;\n<\/code><\/pre>\n<h3>Relative Sizing<\/h3>\n<p>Relative sizing works in the same way as absolute resizing, as described above, except that, here, you specify the value for the <code>background-size<\/code> property instead of the values for <code>height<\/code> and <code>width<\/code>. For example:<\/p>\n<pre class=\"js-syntax-highlighted\"><code>  background-size: 50% auto;\n<\/code><\/pre>\n<h3>Maximum Scaling<\/h3>\n<p>To automatically resize your background to the maximum that the parent element can hold, specify the <code>contain<\/code> value\u2014just like what you do for <code>object-fit<\/code>. The background then automatically tiles to fill any remaining space.<\/p>\n<p>To stop that behavior, add the <code>background-repeat<\/code> property. However, such a setup leaves any space that cannot be filled with the single-image blank.<\/p>\n<p>Here\u2019s an example:<\/p>\n<pre class=\"js-syntax-highlighted\"><code>background-size: contain;\nBackground-repeat: no-repeat;\n<\/code><\/pre>\n<h3>Background Filling<\/h3>\n<p>To apply an effect similar to <code>contain<\/code> but with no blank space, specify the <code>cover<\/code> value to fill the container element of the background but crop off any excess image outside the container, like this:<\/p>\n<pre class=\"js-syntax-highlighted\"><code>background-size: cover;\n<\/code><\/pre>\n<p>For more ways to transform images in CSS, see our article on <a href=\"https:\/\/cloudinary.com\/blog\/css_image_effects_five_simple_examples_and_a_quick_animation_guide\">CSS\u2019s image effects<\/a> and <a href=\"https:\/\/cloudinary.com\/blog\/creating_image_filter_effects_with_css_and_riveting_transformations\">filter<\/a>.<\/p>\n<h2 id=\"crop\">Crop Images Automatically With Cloudinary<\/h2> \n<p>A cloud-based service for managing images and videos, Cloudinary offers a generous <a href=\"https:\/\/cloudinary.com\/pricing\">free-forever subscription plan<\/a>. While on that platform, you can upload your images, apply built-in effects, filters, and modifications. You can also resize images automatically, focusing on the most important elements with AI or adapt them to your website design without having to manually crop or scale them.<\/p>\n<p>Additionally, you can transform images programmatically with <a href=\"https:\/\/cloudinary.com\/documentation\">SDKs<\/a> or simple URL parameters. Cloudinary applies changes dynamically, leaving your original images intact. That means you can modify images on the fly to adapt to design changes\u2014a huge convenience and time saver.<\/p>\n<p>Related content: Read our guide to <a href=\"https:\/\/cloudinary.com\/guides\/bulk-image-resize\/resize-image-html\">resize image html<\/a>.<\/p>\n<h2 id=\"rescale\">Resize and Rescale Images Automatically With Cloudinary<\/h2> \n<p>Below are three ways to resize element or background images with Cloudinary\u2019s URL parameters. Each of the sections below links you to the <a href=\"https:\/\/cloudinary.com\/cookbook\">Cloudinary Cookbook<\/a> page with more details.<\/p>\n<h3>Limit Images to Specific Dimensions<\/h3>\n<p>To <a href=\"https:\/\/cloudinary.com\/cookbook\/limiting_an_image_by_specified_dimensions\">limit the size<\/a> of an image to certain dimensions, change the <code>crop<\/code> (<code>c<\/code> in URLs) value to <code>limit<\/code>.<\/p>\n<p>Below is an image that\u2019s been resized from 850 x 565 px. to 70 x 70 px. with <code>limit<\/code>. Due to the preserved aspect ratio, this display is 70 x 47 px.<\/p>\n<p><cld-code-widget\n      class=\" c-code-widget\"\n      snippets=\"[{&quot;sdkId&quot;:&quot;nodejs&quot;,&quot;framework&quot;:&quot;nodejs&quot;,&quot;language&quot;:&quot;nodejs&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image(\\&quot;cashew_chicken.jpg\\&quot;, {width: 70, height: 70, crop: \\&quot;limit\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(\\&quot;cashew_chicken.jpg\\&quot;, {width: 70, height: 70, crop: \\&quot;limit\\&quot;})&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Node.js&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;react_2&quot;,&quot;framework&quot;:&quot;react_2&quot;,&quot;language&quot;:&quot;react&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;cashew_chicken.jpg\\&quot;).resize(\\n  limitFit().width(70).height(70)\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;cashew_chicken.jpg\\&quot;).resize(\\n  limitFit().width(70).height(70)\\n);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/react&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;react&quot;,&quot;framework&quot;:&quot;react&quot;,&quot;language&quot;:&quot;react&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;cashew_chicken.jpg\\&quot; &gt; &lt;Transformation width=\\&quot;70\\&quot; height=\\&quot;70\\&quot; crop=\\&quot;limit\\&quot; \\\/&gt; &lt;\\\/Image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;cashew_chicken.jpg\\&quot; &gt;\\n\\t&lt;Transformation width=\\&quot;70\\&quot; height=\\&quot;70\\&quot; crop=\\&quot;limit\\&quot; \\\/&gt;\\n&lt;\\\/Image&gt;&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React&quot;,&quot;packageName&quot;:&quot;cloudinary-react&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;vue_2&quot;,&quot;framework&quot;:&quot;vue_2&quot;,&quot;language&quot;:&quot;vue&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;cashew_chicken.jpg\\&quot;).resize(\\n  limitFit().width(70).height(70)\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;cashew_chicken.jpg\\&quot;).resize(\\n  limitFit().width(70).height(70)\\n);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Vue.js&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/vue&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;vue&quot;,&quot;framework&quot;:&quot;vue&quot;,&quot;language&quot;:&quot;vue&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;cashew_chicken.jpg\\&quot; &gt; &lt;cld-transformation width=\\&quot;70\\&quot; height=\\&quot;70\\&quot; crop=\\&quot;limit\\&quot; \\\/&gt; &lt;\\\/cld-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;cashew_chicken.jpg\\&quot; &gt;\\n\\t&lt;cld-transformation width=\\&quot;70\\&quot; height=\\&quot;70\\&quot; crop=\\&quot;limit\\&quot; \\\/&gt;\\n&lt;\\\/cld-image&gt;&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Vue.js&quot;,&quot;packageName&quot;:&quot;cloudinary-vue&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;angular_2&quot;,&quot;framework&quot;:&quot;angular_2&quot;,&quot;language&quot;:&quot;angular&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;cashew_chicken.jpg\\&quot;).resize(\\n  limitFit().width(70).height(70)\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;cashew_chicken.jpg\\&quot;).resize(\\n  limitFit().width(70).height(70)\\n);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Angular&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/ng&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;angular&quot;,&quot;framework&quot;:&quot;angular&quot;,&quot;language&quot;:&quot;angular&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;cashew_chicken.jpg\\&quot; &gt; &lt;cl-transformation width=\\&quot;70\\&quot; height=\\&quot;70\\&quot; crop=\\&quot;limit\\&quot;&gt; &lt;\\\/cl-transformation&gt; &lt;\\\/cl-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;cashew_chicken.jpg\\&quot; &gt;\\n\\t&lt;cl-transformation width=\\&quot;70\\&quot; height=\\&quot;70\\&quot; crop=\\&quot;limit\\&quot;&gt;\\n\\t&lt;\\\/cl-transformation&gt;\\n&lt;\\\/cl-image&gt;&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Angular&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/angular-5.x&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;js_2&quot;,&quot;framework&quot;:&quot;js_2&quot;,&quot;language&quot;:&quot;js&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;cashew_chicken.jpg\\&quot;).resize(\\n  limitFit().width(70).height(70)\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;cashew_chicken.jpg\\&quot;).resize(\\n  limitFit().width(70).height(70)\\n);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;JS&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/url-gen&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;js&quot;,&quot;framework&quot;:&quot;js&quot;,&quot;language&quot;:&quot;js&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.imageTag(&#039;cashew_chicken.jpg&#039;, {width: 70, height: 70, crop: \\&quot;limit\\&quot;}).toHtml();&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.imageTag(&#039;cashew_chicken.jpg&#039;, {width: 70, height: 70, crop: \\&quot;limit\\&quot;}).toHtml();&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;JS&quot;,&quot;packageName&quot;:&quot;cloudinary-core&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;python&quot;,&quot;framework&quot;:&quot;python&quot;,&quot;language&quot;:&quot;python&quot;,&quot;rawCodeSnippet&quot;:&quot;CloudinaryImage(\\&quot;cashew_chicken.jpg\\&quot;).image(width=70, height=70, crop=\\&quot;limit\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;CloudinaryImage(\\&quot;cashew_chicken.jpg\\&quot;).image(width=70, height=70, crop=\\&quot;limit\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Python&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;php_2&quot;,&quot;framework&quot;:&quot;php_2&quot;,&quot;language&quot;:&quot;php&quot;,&quot;rawCodeSnippet&quot;:&quot;(new ImageTag(&#039;cashew_chicken.jpg&#039;))\\n\\t-&gt;resize(Resize::limitFit()-&gt;width(70)\\n-&gt;height(70));&quot;,&quot;codeSnippet&quot;:&quot;(new ImageTag(&#039;cashew_chicken.jpg&#039;))\\n\\t-&gt;resize(Resize::limitFit()-&gt;width(70)\\n-&gt;height(70));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;PHP&quot;,&quot;packageName&quot;:&quot;cloudinary_php&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;3.x&quot;},{&quot;sdkId&quot;:&quot;php&quot;,&quot;framework&quot;:&quot;php&quot;,&quot;language&quot;:&quot;php&quot;,&quot;rawCodeSnippet&quot;:&quot;cl_image_tag(\\&quot;cashew_chicken.jpg\\&quot;, array(\\&quot;width\\&quot;=&gt;70, \\&quot;height\\&quot;=&gt;70, \\&quot;crop\\&quot;=&gt;\\&quot;limit\\&quot;))&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;cashew_chicken.jpg\\&quot;, array(\\&quot;width\\&quot;=&gt;70, \\&quot;height\\&quot;=&gt;70, \\&quot;crop\\&quot;=&gt;\\&quot;limit\\&quot;))&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;PHP&quot;,&quot;packageName&quot;:&quot;cloudinary_php&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;java&quot;,&quot;framework&quot;:&quot;java&quot;,&quot;language&quot;:&quot;java&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().width(70).height(70).crop(\\&quot;limit\\&quot;)).imageTag(\\&quot;cashew_chicken.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().width(70).height(70).crop(\\&quot;limit\\&quot;)).imageTag(\\&quot;cashew_chicken.jpg\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Java&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;ruby&quot;,&quot;framework&quot;:&quot;ruby&quot;,&quot;language&quot;:&quot;ruby&quot;,&quot;rawCodeSnippet&quot;:&quot;cl_image_tag(\\&quot;cashew_chicken.jpg\\&quot;, width: 70, height: 70, crop: \\&quot;limit\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;cashew_chicken.jpg\\&quot;, width: 70, height: 70, crop: \\&quot;limit\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Ruby&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;csharp&quot;,&quot;framework&quot;:&quot;csharp&quot;,&quot;language&quot;:&quot;csharp&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().Width(70).Height(70).Crop(\\&quot;limit\\&quot;)).BuildImageTag(\\&quot;cashew_chicken.jpg\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().Width(70).Height(70).Crop(\\&quot;limit\\&quot;)).BuildImageTag(\\&quot;cashew_chicken.jpg\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;.NET&quot;,&quot;packageName&quot;:&quot;CloudinaryDotNet&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;dart&quot;,&quot;framework&quot;:&quot;dart&quot;,&quot;language&quot;:&quot;dart&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image(&#039;cashew_chicken.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.limitFit().width(70)\\n.height(70)));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;cashew_chicken.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.limitFit().width(70)\\n.height(70)));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Dart&quot;,&quot;packageName&quot;:&quot;cloudinary_dart&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;swift&quot;,&quot;framework&quot;:&quot;swift&quot;,&quot;language&quot;:&quot;swift&quot;,&quot;rawCodeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setWidth(70).setHeight(70).setCrop(\\&quot;limit\\&quot;)).generate(\\&quot;cashew_chicken.jpg\\&quot;)!, cloudinary: cloudinary)&quot;,&quot;codeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setWidth(70).setHeight(70).setCrop(\\&quot;limit\\&quot;)).generate(\\&quot;cashew_chicken.jpg\\&quot;)!, cloudinary: cloudinary)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;iOS&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;5.x&quot;},{&quot;sdkId&quot;:&quot;android&quot;,&quot;framework&quot;:&quot;android&quot;,&quot;language&quot;:&quot;android&quot;,&quot;rawCodeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().width(70).height(70).crop(\\&quot;limit\\&quot;)).generate(\\&quot;cashew_chicken.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().width(70).height(70).crop(\\&quot;limit\\&quot;)).generate(\\&quot;cashew_chicken.jpg\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Android&quot;,&quot;packageName&quot;:&quot;cloudinary-android&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;3.x&quot;},{&quot;sdkId&quot;:&quot;flutter&quot;,&quot;framework&quot;:&quot;flutter&quot;,&quot;language&quot;:&quot;flutter&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image(&#039;cashew_chicken.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.limitFit().width(70)\\n.height(70)));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;cashew_chicken.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.limitFit().width(70)\\n.height(70)));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Flutter&quot;,&quot;packageName&quot;:&quot;cloudinary_flutter&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;kotlin&quot;,&quot;framework&quot;:&quot;kotlin&quot;,&quot;language&quot;:&quot;kotlin&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;cashew_chicken.jpg\\&quot;)\\n\\t resize(Resize.limitFit() { width(70)\\n height(70) }) \\n}.generate()&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;cashew_chicken.jpg\\&quot;)\\n\\t resize(Resize.limitFit() { width(70)\\n height(70) }) \\n}.generate()&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Kotlin&quot;,&quot;packageName&quot;:&quot;kotlin-url-gen&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;jquery&quot;,&quot;framework&quot;:&quot;jquery&quot;,&quot;language&quot;:&quot;jquery&quot;,&quot;rawCodeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;cashew_chicken.jpg\\&quot;, {width: 70, height: 70, crop: \\&quot;limit\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;cashew_chicken.jpg\\&quot;, {width: 70, height: 70, crop: \\&quot;limit\\&quot;})&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;jQuery&quot;,&quot;packageName&quot;:&quot;cloudinary-jquery&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;react_native&quot;,&quot;framework&quot;:&quot;react_native&quot;,&quot;language&quot;:&quot;react_native&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;cashew_chicken.jpg\\&quot;).resize(\\n  limitFit().width(70).height(70)\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;cashew_chicken.jpg\\&quot;).resize(\\n  limitFit().width(70).height(70)\\n);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React Native&quot;,&quot;packageName&quot;:&quot;cloudinary-react-native&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;}]\"\n      parsed-url=\"{&quot;url&quot;:&quot;https:\\\/\\\/res.cloudinary.com\\\/demo\\\/image\\\/upload\\\/w_70,h_70,c_limit\\\/cashew_chicken.jpg&quot;,&quot;cloud_name&quot;:&quot;demo&quot;,&quot;host&quot;:&quot;res.cloudinary.com&quot;,&quot;type&quot;:&quot;upload&quot;,&quot;resource_type&quot;:&quot;image&quot;,&quot;transformation&quot;:[{&quot;width&quot;:&quot;70&quot;,&quot;height&quot;:&quot;70&quot;,&quot;crop_mode&quot;:&quot;limit&quot;}],&quot;transformation_string&quot;:&quot;w_70,h_70,c_limit&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:&quot;&quot;,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;cashew_chicken.jpg&quot;,&quot;extension&quot;:&quot;jpg&quot;,&quot;format&quot;:&quot;jpg&quot;,&quot;format_code&quot;:true,&quot;url_code&quot;:false,&quot;signature&quot;:&quot;&quot;,&quot;private_cdn&quot;:false,&quot;result_asset_type&quot;:&quot;image&quot;}\"\n      with-url=\"true\"\n    >\n      <span class=\"u-visually-hidden\">Loading code examples<\/span>\n    <\/cld-code-widget><a class=\"c-image-link\" href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_70,h_70,c_limit\/cashew_chicken.jpg\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_70,h_70,c_limit\/cashew_chicken.jpg\" alt=\"crop limit\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"70\" height=\"47\"\/><\/a><\/p>\n<h3>Crop Images With Auto Gravity<\/h3>\n<p>To focus on certain details\u2014faces, objects, color contrasts\u2014while resizing images, crop the images with Cloudinary\u2019s <a href=\"https:\/\/support.cloudinary.com\/hc\/en-us\/articles\/360024950012-How-to-Apply-Gravity-Based-Crops-on-Images-with-Cloudinary\">intelligent auto-gravity features<\/a>. The parameter to set is <code>gravity<\/code> (g in URLs), which offers an <code>auto<\/code> value that intelligently crops according to your image\u2019s content.<\/p>\n<video controls=\"controls\" muted poster=\"https:\/\/res.cloudinary.com\/demo\/video\/upload\/w_700,c_fill,f_auto,q_auto,dpr_2.0\/gravity-cropping-tutorial-final_ryy8i5.png\" src=\"https:\/\/res.cloudinary.com\/demo\/video\/upload\/vc_auto\/gravity-cropping-tutorial-final_ryy8i5.webm\">\n<\/video>\n<p>Cloudinary <a href=\"https:\/\/cloudinary.com\/blog\/smart_automatic_image_cropping_maybe_you_can_always_get_what_you_want\">automatically crops images<\/a> with content-aware, AI-based features by selecting faces, individual features, or areas of interest. To trigger that task, apply the <code>gravity<\/code> filter (<code>g<\/code>) with the features you want to preserve.<\/p>\n<p>This example with the <code>g_auto<\/code> setting crops the most interesting area, as determined by AI:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/image\/upload\/w_700,c_fill,f_auto,q_auto,dpr_2.0\/Web_Assets\/blog\/g_auto-skater-before-after.png\" alt=\"auto gravity\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"1400\" height=\"568\"\/><\/p>\n<p>Another example: to avoid irrelevant objects instead of the product in product images taking center stage, define the product as the focus. The picture on the right below has the backpack in focus.<\/p>\n<p><cld-code-widget\n      class=\" c-code-widget\"\n      snippets=\"[{&quot;sdkId&quot;:&quot;nodejs&quot;,&quot;framework&quot;:&quot;nodejs&quot;,&quot;language&quot;:&quot;nodejs&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;, {gravity: \\&quot;auto:classic\\&quot;, height: 175, width: 175, crop: \\&quot;thumb\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;, {gravity: \\&quot;auto:classic\\&quot;, height: 175, width: 175, crop: \\&quot;thumb\\&quot;})&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Node.js&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;react_2&quot;,&quot;framework&quot;:&quot;react_2&quot;,&quot;language&quot;:&quot;react&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;)\\n  .resize(\\n    thumbnail()\\n      .width(175)\\n      .height(175)\\n      .gravity(autoGravity().autoFocus(focusOn(\\&quot;classic\\&quot;)))\\n  )\\n  .setVersion(1551428220);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;)\\n  .resize(\\n    thumbnail()\\n      .width(175)\\n      .height(175)\\n      .gravity(autoGravity().autoFocus(focusOn(\\&quot;classic\\&quot;)))\\n  )\\n  .setVersion(1551428220);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/react&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;react&quot;,&quot;framework&quot;:&quot;react&quot;,&quot;language&quot;:&quot;react&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot; &gt; &lt;Transformation gravity=\\&quot;auto:classic\\&quot; height=\\&quot;175\\&quot; width=\\&quot;175\\&quot; crop=\\&quot;thumb\\&quot; \\\/&gt; &lt;\\\/Image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot; &gt;\\n\\t&lt;Transformation gravity=\\&quot;auto:classic\\&quot; height=\\&quot;175\\&quot; width=\\&quot;175\\&quot; crop=\\&quot;thumb\\&quot; \\\/&gt;\\n&lt;\\\/Image&gt;&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React&quot;,&quot;packageName&quot;:&quot;cloudinary-react&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;vue_2&quot;,&quot;framework&quot;:&quot;vue_2&quot;,&quot;language&quot;:&quot;vue&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;)\\n  .resize(\\n    thumbnail()\\n      .width(175)\\n      .height(175)\\n      .gravity(autoGravity().autoFocus(focusOn(\\&quot;classic\\&quot;)))\\n  )\\n  .setVersion(1551428220);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;)\\n  .resize(\\n    thumbnail()\\n      .width(175)\\n      .height(175)\\n      .gravity(autoGravity().autoFocus(focusOn(\\&quot;classic\\&quot;)))\\n  )\\n  .setVersion(1551428220);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Vue.js&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/vue&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;vue&quot;,&quot;framework&quot;:&quot;vue&quot;,&quot;language&quot;:&quot;vue&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot; &gt; &lt;cld-transformation gravity=\\&quot;auto:classic\\&quot; height=\\&quot;175\\&quot; width=\\&quot;175\\&quot; crop=\\&quot;thumb\\&quot; \\\/&gt; &lt;\\\/cld-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot; &gt;\\n\\t&lt;cld-transformation gravity=\\&quot;auto:classic\\&quot; height=\\&quot;175\\&quot; width=\\&quot;175\\&quot; crop=\\&quot;thumb\\&quot; \\\/&gt;\\n&lt;\\\/cld-image&gt;&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Vue.js&quot;,&quot;packageName&quot;:&quot;cloudinary-vue&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;angular_2&quot;,&quot;framework&quot;:&quot;angular_2&quot;,&quot;language&quot;:&quot;angular&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;)\\n  .resize(\\n    thumbnail()\\n      .width(175)\\n      .height(175)\\n      .gravity(autoGravity().autoFocus(focusOn(\\&quot;classic\\&quot;)))\\n  )\\n  .setVersion(1551428220);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;)\\n  .resize(\\n    thumbnail()\\n      .width(175)\\n      .height(175)\\n      .gravity(autoGravity().autoFocus(focusOn(\\&quot;classic\\&quot;)))\\n  )\\n  .setVersion(1551428220);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Angular&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/ng&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;angular&quot;,&quot;framework&quot;:&quot;angular&quot;,&quot;language&quot;:&quot;angular&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot; &gt; &lt;cl-transformation gravity=\\&quot;auto:classic\\&quot; height=\\&quot;175\\&quot; width=\\&quot;175\\&quot; crop=\\&quot;thumb\\&quot;&gt; &lt;\\\/cl-transformation&gt; &lt;\\\/cl-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot; &gt;\\n\\t&lt;cl-transformation gravity=\\&quot;auto:classic\\&quot; height=\\&quot;175\\&quot; width=\\&quot;175\\&quot; crop=\\&quot;thumb\\&quot;&gt;\\n\\t&lt;\\\/cl-transformation&gt;\\n&lt;\\\/cl-image&gt;&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Angular&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/angular-5.x&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;js_2&quot;,&quot;framework&quot;:&quot;js_2&quot;,&quot;language&quot;:&quot;js&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;)\\n  .resize(\\n    thumbnail()\\n      .width(175)\\n      .height(175)\\n      .gravity(autoGravity().autoFocus(focusOn(\\&quot;classic\\&quot;)))\\n  )\\n  .setVersion(1551428220);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;)\\n  .resize(\\n    thumbnail()\\n      .width(175)\\n      .height(175)\\n      .gravity(autoGravity().autoFocus(focusOn(\\&quot;classic\\&quot;)))\\n  )\\n  .setVersion(1551428220);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;JS&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/url-gen&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;js&quot;,&quot;framework&quot;:&quot;js&quot;,&quot;language&quot;:&quot;js&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.imageTag(&#039;veducate\\\/spencer-backman-482079-unsplash.jpg&#039;, {gravity: \\&quot;auto:classic\\&quot;, height: 175, width: 175, crop: \\&quot;thumb\\&quot;}).toHtml();&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.imageTag(&#039;veducate\\\/spencer-backman-482079-unsplash.jpg&#039;, {gravity: \\&quot;auto:classic\\&quot;, height: 175, width: 175, crop: \\&quot;thumb\\&quot;}).toHtml();&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;JS&quot;,&quot;packageName&quot;:&quot;cloudinary-core&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;python&quot;,&quot;framework&quot;:&quot;python&quot;,&quot;language&quot;:&quot;python&quot;,&quot;rawCodeSnippet&quot;:&quot;CloudinaryImage(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;).image(gravity=\\&quot;auto:classic\\&quot;, height=175, width=175, crop=\\&quot;thumb\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;CloudinaryImage(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;).image(gravity=\\&quot;auto:classic\\&quot;, height=175, width=175, crop=\\&quot;thumb\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Python&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;php_2&quot;,&quot;framework&quot;:&quot;php_2&quot;,&quot;language&quot;:&quot;php&quot;,&quot;rawCodeSnippet&quot;:&quot;(new ImageTag(&#039;veducate\\\/spencer-backman-482079-unsplash.jpg&#039;))\\n\\t-&gt;resize(Resize::thumbnail()-&gt;width(175)\\n-&gt;height(175)\\n\\t-&gt;gravity(\\n\\tGravity::autoGravity()\\n\\t-&gt;autoFocus(\\n\\tAutoFocus::focusOn(\\&quot;classic\\&quot;))\\n\\t)\\n\\t)\\n\\t-&gt;version(1551428220);&quot;,&quot;codeSnippet&quot;:&quot;(new ImageTag(&#039;veducate\\\/spencer-backman-482079-unsplash.jpg&#039;))\\n\\t-&gt;resize(Resize::thumbnail()-&gt;width(175)\\n-&gt;height(175)\\n\\t-&gt;gravity(\\n\\tGravity::autoGravity()\\n\\t-&gt;autoFocus(\\n\\tAutoFocus::focusOn(\\&quot;classic\\&quot;))\\n\\t)\\n\\t)\\n\\t-&gt;version(1551428220);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;PHP&quot;,&quot;packageName&quot;:&quot;cloudinary_php&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;3.x&quot;},{&quot;sdkId&quot;:&quot;php&quot;,&quot;framework&quot;:&quot;php&quot;,&quot;language&quot;:&quot;php&quot;,&quot;rawCodeSnippet&quot;:&quot;cl_image_tag(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;, array(\\&quot;gravity\\&quot;=&gt;\\&quot;auto:classic\\&quot;, \\&quot;height\\&quot;=&gt;175, \\&quot;width\\&quot;=&gt;175, \\&quot;crop\\&quot;=&gt;\\&quot;thumb\\&quot;))&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;, array(\\&quot;gravity\\&quot;=&gt;\\&quot;auto:classic\\&quot;, \\&quot;height\\&quot;=&gt;175, \\&quot;width\\&quot;=&gt;175, \\&quot;crop\\&quot;=&gt;\\&quot;thumb\\&quot;))&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;PHP&quot;,&quot;packageName&quot;:&quot;cloudinary_php&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;java&quot;,&quot;framework&quot;:&quot;java&quot;,&quot;language&quot;:&quot;java&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().gravity(\\&quot;auto:classic\\&quot;).height(175).width(175).crop(\\&quot;thumb\\&quot;)).imageTag(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().gravity(\\&quot;auto:classic\\&quot;).height(175).width(175).crop(\\&quot;thumb\\&quot;)).imageTag(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Java&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;ruby&quot;,&quot;framework&quot;:&quot;ruby&quot;,&quot;language&quot;:&quot;ruby&quot;,&quot;rawCodeSnippet&quot;:&quot;cl_image_tag(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;, gravity: \\&quot;auto:classic\\&quot;, height: 175, width: 175, crop: \\&quot;thumb\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;, gravity: \\&quot;auto:classic\\&quot;, height: 175, width: 175, crop: \\&quot;thumb\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Ruby&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;csharp&quot;,&quot;framework&quot;:&quot;csharp&quot;,&quot;language&quot;:&quot;csharp&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().Gravity(\\&quot;auto:classic\\&quot;).Height(175).Width(175).Crop(\\&quot;thumb\\&quot;)).BuildImageTag(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().Gravity(\\&quot;auto:classic\\&quot;).Height(175).Width(175).Crop(\\&quot;thumb\\&quot;)).BuildImageTag(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;.NET&quot;,&quot;packageName&quot;:&quot;CloudinaryDotNet&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;dart&quot;,&quot;framework&quot;:&quot;dart&quot;,&quot;language&quot;:&quot;dart&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image(&#039;veducate\\\/spencer-backman-482079-unsplash.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.thumbnail().width(175)\\n.height(175)\\n\\t.gravity(\\n\\tGravity.autoGravity()\\n\\t.autoFocus(\\n\\tAutoFocus.focusOn(\\&quot;classic\\&quot;))\\n\\t)\\n\\t)\\n\\t.version(1551428220));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;veducate\\\/spencer-backman-482079-unsplash.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.thumbnail().width(175)\\n.height(175)\\n\\t.gravity(\\n\\tGravity.autoGravity()\\n\\t.autoFocus(\\n\\tAutoFocus.focusOn(\\&quot;classic\\&quot;))\\n\\t)\\n\\t)\\n\\t.version(1551428220));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Dart&quot;,&quot;packageName&quot;:&quot;cloudinary_dart&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;swift&quot;,&quot;framework&quot;:&quot;swift&quot;,&quot;language&quot;:&quot;swift&quot;,&quot;rawCodeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setGravity(\\&quot;auto:classic\\&quot;).setHeight(175).setWidth(175).setCrop(\\&quot;thumb\\&quot;)).generate(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;)!, cloudinary: cloudinary)&quot;,&quot;codeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setGravity(\\&quot;auto:classic\\&quot;).setHeight(175).setWidth(175).setCrop(\\&quot;thumb\\&quot;)).generate(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;)!, cloudinary: cloudinary)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;iOS&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;5.x&quot;},{&quot;sdkId&quot;:&quot;android&quot;,&quot;framework&quot;:&quot;android&quot;,&quot;language&quot;:&quot;android&quot;,&quot;rawCodeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().gravity(\\&quot;auto:classic\\&quot;).height(175).width(175).crop(\\&quot;thumb\\&quot;)).generate(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().gravity(\\&quot;auto:classic\\&quot;).height(175).width(175).crop(\\&quot;thumb\\&quot;)).generate(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Android&quot;,&quot;packageName&quot;:&quot;cloudinary-android&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;3.x&quot;},{&quot;sdkId&quot;:&quot;flutter&quot;,&quot;framework&quot;:&quot;flutter&quot;,&quot;language&quot;:&quot;flutter&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image(&#039;veducate\\\/spencer-backman-482079-unsplash.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.thumbnail().width(175)\\n.height(175)\\n\\t.gravity(\\n\\tGravity.autoGravity()\\n\\t.autoFocus(\\n\\tAutoFocus.focusOn(\\&quot;classic\\&quot;))\\n\\t)\\n\\t)\\n\\t.version(1551428220));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;veducate\\\/spencer-backman-482079-unsplash.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.thumbnail().width(175)\\n.height(175)\\n\\t.gravity(\\n\\tGravity.autoGravity()\\n\\t.autoFocus(\\n\\tAutoFocus.focusOn(\\&quot;classic\\&quot;))\\n\\t)\\n\\t)\\n\\t.version(1551428220));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Flutter&quot;,&quot;packageName&quot;:&quot;cloudinary_flutter&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;kotlin&quot;,&quot;framework&quot;:&quot;kotlin&quot;,&quot;language&quot;:&quot;kotlin&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;)\\n\\t resize(Resize.thumbnail() { width(175)\\n height(175)\\n\\t gravity(\\n\\tGravity.autoGravity() {\\n\\t autoFocus(\\n\\tAutoFocus.focusOn(\\&quot;classic\\&quot;))\\n\\t })\\n\\t })\\n\\t version(1551428220) \\n}.generate()&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;)\\n\\t resize(Resize.thumbnail() { width(175)\\n height(175)\\n\\t gravity(\\n\\tGravity.autoGravity() {\\n\\t autoFocus(\\n\\tAutoFocus.focusOn(\\&quot;classic\\&quot;))\\n\\t })\\n\\t })\\n\\t version(1551428220) \\n}.generate()&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Kotlin&quot;,&quot;packageName&quot;:&quot;kotlin-url-gen&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;jquery&quot;,&quot;framework&quot;:&quot;jquery&quot;,&quot;language&quot;:&quot;jquery&quot;,&quot;rawCodeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;, {gravity: \\&quot;auto:classic\\&quot;, height: 175, width: 175, crop: \\&quot;thumb\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;, {gravity: \\&quot;auto:classic\\&quot;, height: 175, width: 175, crop: \\&quot;thumb\\&quot;})&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;jQuery&quot;,&quot;packageName&quot;:&quot;cloudinary-jquery&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;react_native&quot;,&quot;framework&quot;:&quot;react_native&quot;,&quot;language&quot;:&quot;react_native&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;)\\n  .resize(\\n    thumbnail()\\n      .width(175)\\n      .height(175)\\n      .gravity(autoGravity().autoFocus(focusOn(\\&quot;classic\\&quot;)))\\n  )\\n  .setVersion(1551428220);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;)\\n  .resize(\\n    thumbnail()\\n      .width(175)\\n      .height(175)\\n      .gravity(autoGravity().autoFocus(focusOn(\\&quot;classic\\&quot;)))\\n  )\\n  .setVersion(1551428220);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React Native&quot;,&quot;packageName&quot;:&quot;cloudinary-react-native&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;}]\"\n      parsed-url=\"{&quot;url&quot;:&quot;https:\\\/\\\/res.cloudinary.com\\\/demo\\\/image\\\/upload\\\/c_thumb,g_auto:classic,h_175,w_175\\\/v1551428220\\\/veducate\\\/spencer-backman-482079-unsplash.jpg&quot;,&quot;cloud_name&quot;:&quot;demo&quot;,&quot;host&quot;:&quot;res.cloudinary.com&quot;,&quot;type&quot;:&quot;upload&quot;,&quot;resource_type&quot;:&quot;image&quot;,&quot;transformation&quot;:[{&quot;crop_mode&quot;:&quot;thumb&quot;,&quot;gravity&quot;:&quot;auto:classic&quot;,&quot;height&quot;:&quot;175&quot;,&quot;width&quot;:&quot;175&quot;}],&quot;transformation_string&quot;:&quot;c_thumb,g_auto:classic,h_175,w_175&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:&quot;1551428220&quot;,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;veducate\\\/spencer-backman-482079-unsplash.jpg&quot;,&quot;extension&quot;:&quot;jpg&quot;,&quot;format&quot;:&quot;jpg&quot;,&quot;format_code&quot;:true,&quot;url_code&quot;:false,&quot;signature&quot;:&quot;&quot;,&quot;private_cdn&quot;:false,&quot;result_asset_type&quot;:&quot;image&quot;}\"\n      with-url=\"true\"\n    >\n      <span class=\"u-visually-hidden\">Loading code examples<\/span>\n    <\/cld-code-widget><a class=\"c-image-link\" href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/c_thumb,g_auto:classic,h_175,w_175\/v1551428220\/veducate\/spencer-backman-482079-unsplash.jpg\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/c_thumb,g_auto:classic,h_175,w_175\/v1551428220\/veducate\/spencer-backman-482079-unsplash.jpg\" alt=\"g_auto:classic Transformation Applied to It\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"175\" height=\"175\"\/><\/a>\n<em>g_auto:classic<\/em>\n<cld-code-widget\n      class=\" c-code-widget\"\n      snippets=\"[{&quot;sdkId&quot;:&quot;nodejs&quot;,&quot;framework&quot;:&quot;nodejs&quot;,&quot;language&quot;:&quot;nodejs&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;, {gravity: \\&quot;auto:backpack\\&quot;, height: 175, width: 175, crop: \\&quot;thumb\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;, {gravity: \\&quot;auto:backpack\\&quot;, height: 175, width: 175, crop: \\&quot;thumb\\&quot;})&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Node.js&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;react_2&quot;,&quot;framework&quot;:&quot;react_2&quot;,&quot;language&quot;:&quot;react&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;)\\n  .resize(\\n    thumbnail()\\n      .width(175)\\n      .height(175)\\n      .gravity(autoGravity().autoFocus(focusOn(\\&quot;backpack\\&quot;)))\\n  )\\n  .setVersion(1551428220);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;)\\n  .resize(\\n    thumbnail()\\n      .width(175)\\n      .height(175)\\n      .gravity(autoGravity().autoFocus(focusOn(\\&quot;backpack\\&quot;)))\\n  )\\n  .setVersion(1551428220);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/react&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;react&quot;,&quot;framework&quot;:&quot;react&quot;,&quot;language&quot;:&quot;react&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot; &gt; &lt;Transformation gravity=\\&quot;auto:backpack\\&quot; height=\\&quot;175\\&quot; width=\\&quot;175\\&quot; crop=\\&quot;thumb\\&quot; \\\/&gt; &lt;\\\/Image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot; &gt;\\n\\t&lt;Transformation gravity=\\&quot;auto:backpack\\&quot; height=\\&quot;175\\&quot; width=\\&quot;175\\&quot; crop=\\&quot;thumb\\&quot; \\\/&gt;\\n&lt;\\\/Image&gt;&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React&quot;,&quot;packageName&quot;:&quot;cloudinary-react&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;vue_2&quot;,&quot;framework&quot;:&quot;vue_2&quot;,&quot;language&quot;:&quot;vue&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;)\\n  .resize(\\n    thumbnail()\\n      .width(175)\\n      .height(175)\\n      .gravity(autoGravity().autoFocus(focusOn(\\&quot;backpack\\&quot;)))\\n  )\\n  .setVersion(1551428220);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;)\\n  .resize(\\n    thumbnail()\\n      .width(175)\\n      .height(175)\\n      .gravity(autoGravity().autoFocus(focusOn(\\&quot;backpack\\&quot;)))\\n  )\\n  .setVersion(1551428220);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Vue.js&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/vue&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;vue&quot;,&quot;framework&quot;:&quot;vue&quot;,&quot;language&quot;:&quot;vue&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot; &gt; &lt;cld-transformation gravity=\\&quot;auto:backpack\\&quot; height=\\&quot;175\\&quot; width=\\&quot;175\\&quot; crop=\\&quot;thumb\\&quot; \\\/&gt; &lt;\\\/cld-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot; &gt;\\n\\t&lt;cld-transformation gravity=\\&quot;auto:backpack\\&quot; height=\\&quot;175\\&quot; width=\\&quot;175\\&quot; crop=\\&quot;thumb\\&quot; \\\/&gt;\\n&lt;\\\/cld-image&gt;&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Vue.js&quot;,&quot;packageName&quot;:&quot;cloudinary-vue&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;angular_2&quot;,&quot;framework&quot;:&quot;angular_2&quot;,&quot;language&quot;:&quot;angular&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;)\\n  .resize(\\n    thumbnail()\\n      .width(175)\\n      .height(175)\\n      .gravity(autoGravity().autoFocus(focusOn(\\&quot;backpack\\&quot;)))\\n  )\\n  .setVersion(1551428220);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;)\\n  .resize(\\n    thumbnail()\\n      .width(175)\\n      .height(175)\\n      .gravity(autoGravity().autoFocus(focusOn(\\&quot;backpack\\&quot;)))\\n  )\\n  .setVersion(1551428220);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Angular&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/ng&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;angular&quot;,&quot;framework&quot;:&quot;angular&quot;,&quot;language&quot;:&quot;angular&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot; &gt; &lt;cl-transformation gravity=\\&quot;auto:backpack\\&quot; height=\\&quot;175\\&quot; width=\\&quot;175\\&quot; crop=\\&quot;thumb\\&quot;&gt; &lt;\\\/cl-transformation&gt; &lt;\\\/cl-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot; &gt;\\n\\t&lt;cl-transformation gravity=\\&quot;auto:backpack\\&quot; height=\\&quot;175\\&quot; width=\\&quot;175\\&quot; crop=\\&quot;thumb\\&quot;&gt;\\n\\t&lt;\\\/cl-transformation&gt;\\n&lt;\\\/cl-image&gt;&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Angular&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/angular-5.x&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;js_2&quot;,&quot;framework&quot;:&quot;js_2&quot;,&quot;language&quot;:&quot;js&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;)\\n  .resize(\\n    thumbnail()\\n      .width(175)\\n      .height(175)\\n      .gravity(autoGravity().autoFocus(focusOn(\\&quot;backpack\\&quot;)))\\n  )\\n  .setVersion(1551428220);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;)\\n  .resize(\\n    thumbnail()\\n      .width(175)\\n      .height(175)\\n      .gravity(autoGravity().autoFocus(focusOn(\\&quot;backpack\\&quot;)))\\n  )\\n  .setVersion(1551428220);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;JS&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/url-gen&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;js&quot;,&quot;framework&quot;:&quot;js&quot;,&quot;language&quot;:&quot;js&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.imageTag(&#039;veducate\\\/spencer-backman-482079-unsplash.jpg&#039;, {gravity: \\&quot;auto:backpack\\&quot;, height: 175, width: 175, crop: \\&quot;thumb\\&quot;}).toHtml();&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.imageTag(&#039;veducate\\\/spencer-backman-482079-unsplash.jpg&#039;, {gravity: \\&quot;auto:backpack\\&quot;, height: 175, width: 175, crop: \\&quot;thumb\\&quot;}).toHtml();&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;JS&quot;,&quot;packageName&quot;:&quot;cloudinary-core&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;python&quot;,&quot;framework&quot;:&quot;python&quot;,&quot;language&quot;:&quot;python&quot;,&quot;rawCodeSnippet&quot;:&quot;CloudinaryImage(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;).image(gravity=\\&quot;auto:backpack\\&quot;, height=175, width=175, crop=\\&quot;thumb\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;CloudinaryImage(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;).image(gravity=\\&quot;auto:backpack\\&quot;, height=175, width=175, crop=\\&quot;thumb\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Python&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;php_2&quot;,&quot;framework&quot;:&quot;php_2&quot;,&quot;language&quot;:&quot;php&quot;,&quot;rawCodeSnippet&quot;:&quot;(new ImageTag(&#039;veducate\\\/spencer-backman-482079-unsplash.jpg&#039;))\\n\\t-&gt;resize(Resize::thumbnail()-&gt;width(175)\\n-&gt;height(175)\\n\\t-&gt;gravity(\\n\\tGravity::autoGravity()\\n\\t-&gt;autoFocus(\\n\\tAutoFocus::focusOn(\\&quot;backpack\\&quot;))\\n\\t)\\n\\t)\\n\\t-&gt;version(1551428220);&quot;,&quot;codeSnippet&quot;:&quot;(new ImageTag(&#039;veducate\\\/spencer-backman-482079-unsplash.jpg&#039;))\\n\\t-&gt;resize(Resize::thumbnail()-&gt;width(175)\\n-&gt;height(175)\\n\\t-&gt;gravity(\\n\\tGravity::autoGravity()\\n\\t-&gt;autoFocus(\\n\\tAutoFocus::focusOn(\\&quot;backpack\\&quot;))\\n\\t)\\n\\t)\\n\\t-&gt;version(1551428220);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;PHP&quot;,&quot;packageName&quot;:&quot;cloudinary_php&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;3.x&quot;},{&quot;sdkId&quot;:&quot;php&quot;,&quot;framework&quot;:&quot;php&quot;,&quot;language&quot;:&quot;php&quot;,&quot;rawCodeSnippet&quot;:&quot;cl_image_tag(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;, array(\\&quot;gravity\\&quot;=&gt;\\&quot;auto:backpack\\&quot;, \\&quot;height\\&quot;=&gt;175, \\&quot;width\\&quot;=&gt;175, \\&quot;crop\\&quot;=&gt;\\&quot;thumb\\&quot;))&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;, array(\\&quot;gravity\\&quot;=&gt;\\&quot;auto:backpack\\&quot;, \\&quot;height\\&quot;=&gt;175, \\&quot;width\\&quot;=&gt;175, \\&quot;crop\\&quot;=&gt;\\&quot;thumb\\&quot;))&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;PHP&quot;,&quot;packageName&quot;:&quot;cloudinary_php&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;java&quot;,&quot;framework&quot;:&quot;java&quot;,&quot;language&quot;:&quot;java&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().gravity(\\&quot;auto:backpack\\&quot;).height(175).width(175).crop(\\&quot;thumb\\&quot;)).imageTag(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().gravity(\\&quot;auto:backpack\\&quot;).height(175).width(175).crop(\\&quot;thumb\\&quot;)).imageTag(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Java&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;ruby&quot;,&quot;framework&quot;:&quot;ruby&quot;,&quot;language&quot;:&quot;ruby&quot;,&quot;rawCodeSnippet&quot;:&quot;cl_image_tag(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;, gravity: \\&quot;auto:backpack\\&quot;, height: 175, width: 175, crop: \\&quot;thumb\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;, gravity: \\&quot;auto:backpack\\&quot;, height: 175, width: 175, crop: \\&quot;thumb\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Ruby&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;csharp&quot;,&quot;framework&quot;:&quot;csharp&quot;,&quot;language&quot;:&quot;csharp&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().Gravity(\\&quot;auto:backpack\\&quot;).Height(175).Width(175).Crop(\\&quot;thumb\\&quot;)).BuildImageTag(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().Gravity(\\&quot;auto:backpack\\&quot;).Height(175).Width(175).Crop(\\&quot;thumb\\&quot;)).BuildImageTag(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;.NET&quot;,&quot;packageName&quot;:&quot;CloudinaryDotNet&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;dart&quot;,&quot;framework&quot;:&quot;dart&quot;,&quot;language&quot;:&quot;dart&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image(&#039;veducate\\\/spencer-backman-482079-unsplash.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.thumbnail().width(175)\\n.height(175)\\n\\t.gravity(\\n\\tGravity.autoGravity()\\n\\t.autoFocus(\\n\\tAutoFocus.focusOn(\\&quot;backpack\\&quot;))\\n\\t)\\n\\t)\\n\\t.version(1551428220));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;veducate\\\/spencer-backman-482079-unsplash.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.thumbnail().width(175)\\n.height(175)\\n\\t.gravity(\\n\\tGravity.autoGravity()\\n\\t.autoFocus(\\n\\tAutoFocus.focusOn(\\&quot;backpack\\&quot;))\\n\\t)\\n\\t)\\n\\t.version(1551428220));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Dart&quot;,&quot;packageName&quot;:&quot;cloudinary_dart&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;swift&quot;,&quot;framework&quot;:&quot;swift&quot;,&quot;language&quot;:&quot;swift&quot;,&quot;rawCodeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setGravity(\\&quot;auto:backpack\\&quot;).setHeight(175).setWidth(175).setCrop(\\&quot;thumb\\&quot;)).generate(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;)!, cloudinary: cloudinary)&quot;,&quot;codeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setGravity(\\&quot;auto:backpack\\&quot;).setHeight(175).setWidth(175).setCrop(\\&quot;thumb\\&quot;)).generate(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;)!, cloudinary: cloudinary)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;iOS&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;5.x&quot;},{&quot;sdkId&quot;:&quot;android&quot;,&quot;framework&quot;:&quot;android&quot;,&quot;language&quot;:&quot;android&quot;,&quot;rawCodeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().gravity(\\&quot;auto:backpack\\&quot;).height(175).width(175).crop(\\&quot;thumb\\&quot;)).generate(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().gravity(\\&quot;auto:backpack\\&quot;).height(175).width(175).crop(\\&quot;thumb\\&quot;)).generate(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Android&quot;,&quot;packageName&quot;:&quot;cloudinary-android&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;3.x&quot;},{&quot;sdkId&quot;:&quot;flutter&quot;,&quot;framework&quot;:&quot;flutter&quot;,&quot;language&quot;:&quot;flutter&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image(&#039;veducate\\\/spencer-backman-482079-unsplash.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.thumbnail().width(175)\\n.height(175)\\n\\t.gravity(\\n\\tGravity.autoGravity()\\n\\t.autoFocus(\\n\\tAutoFocus.focusOn(\\&quot;backpack\\&quot;))\\n\\t)\\n\\t)\\n\\t.version(1551428220));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;veducate\\\/spencer-backman-482079-unsplash.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.thumbnail().width(175)\\n.height(175)\\n\\t.gravity(\\n\\tGravity.autoGravity()\\n\\t.autoFocus(\\n\\tAutoFocus.focusOn(\\&quot;backpack\\&quot;))\\n\\t)\\n\\t)\\n\\t.version(1551428220));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Flutter&quot;,&quot;packageName&quot;:&quot;cloudinary_flutter&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;kotlin&quot;,&quot;framework&quot;:&quot;kotlin&quot;,&quot;language&quot;:&quot;kotlin&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;)\\n\\t resize(Resize.thumbnail() { width(175)\\n height(175)\\n\\t gravity(\\n\\tGravity.autoGravity() {\\n\\t autoFocus(\\n\\tAutoFocus.focusOn(\\&quot;backpack\\&quot;))\\n\\t })\\n\\t })\\n\\t version(1551428220) \\n}.generate()&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;)\\n\\t resize(Resize.thumbnail() { width(175)\\n height(175)\\n\\t gravity(\\n\\tGravity.autoGravity() {\\n\\t autoFocus(\\n\\tAutoFocus.focusOn(\\&quot;backpack\\&quot;))\\n\\t })\\n\\t })\\n\\t version(1551428220) \\n}.generate()&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Kotlin&quot;,&quot;packageName&quot;:&quot;kotlin-url-gen&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;jquery&quot;,&quot;framework&quot;:&quot;jquery&quot;,&quot;language&quot;:&quot;jquery&quot;,&quot;rawCodeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;, {gravity: \\&quot;auto:backpack\\&quot;, height: 175, width: 175, crop: \\&quot;thumb\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;, {gravity: \\&quot;auto:backpack\\&quot;, height: 175, width: 175, crop: \\&quot;thumb\\&quot;})&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;jQuery&quot;,&quot;packageName&quot;:&quot;cloudinary-jquery&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;react_native&quot;,&quot;framework&quot;:&quot;react_native&quot;,&quot;language&quot;:&quot;react_native&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;)\\n  .resize(\\n    thumbnail()\\n      .width(175)\\n      .height(175)\\n      .gravity(autoGravity().autoFocus(focusOn(\\&quot;backpack\\&quot;)))\\n  )\\n  .setVersion(1551428220);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;veducate\\\/spencer-backman-482079-unsplash.jpg\\&quot;)\\n  .resize(\\n    thumbnail()\\n      .width(175)\\n      .height(175)\\n      .gravity(autoGravity().autoFocus(focusOn(\\&quot;backpack\\&quot;)))\\n  )\\n  .setVersion(1551428220);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React Native&quot;,&quot;packageName&quot;:&quot;cloudinary-react-native&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;}]\"\n      parsed-url=\"{&quot;url&quot;:&quot;https:\\\/\\\/res.cloudinary.com\\\/demo\\\/image\\\/upload\\\/c_thumb,g_auto:backpack,h_175,w_175\\\/v1551428220\\\/veducate\\\/spencer-backman-482079-unsplash.jpg&quot;,&quot;cloud_name&quot;:&quot;demo&quot;,&quot;host&quot;:&quot;res.cloudinary.com&quot;,&quot;type&quot;:&quot;upload&quot;,&quot;resource_type&quot;:&quot;image&quot;,&quot;transformation&quot;:[{&quot;crop_mode&quot;:&quot;thumb&quot;,&quot;gravity&quot;:&quot;auto:backpack&quot;,&quot;height&quot;:&quot;175&quot;,&quot;width&quot;:&quot;175&quot;}],&quot;transformation_string&quot;:&quot;c_thumb,g_auto:backpack,h_175,w_175&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:&quot;1551428220&quot;,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;veducate\\\/spencer-backman-482079-unsplash.jpg&quot;,&quot;extension&quot;:&quot;jpg&quot;,&quot;format&quot;:&quot;jpg&quot;,&quot;format_code&quot;:true,&quot;url_code&quot;:false,&quot;signature&quot;:&quot;&quot;,&quot;private_cdn&quot;:false,&quot;result_asset_type&quot;:&quot;image&quot;}\"\n      with-url=\"true\"\n    >\n      <span class=\"u-visually-hidden\">Loading code examples<\/span>\n    <\/cld-code-widget><a class=\"c-image-link\" href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/c_thumb,g_auto:backpack,h_175,w_175\/v1551428220\/veducate\/spencer-backman-482079-unsplash.jpg\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/c_thumb,g_auto:backpack,h_175,w_175\/v1551428220\/veducate\/spencer-backman-482079-unsplash.jpg\" alt=\"backback\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"175\" height=\"175\"\/><\/a>\n<em>g_auto:backpack<\/em><\/p>\n<h2 id=\"cloudinary\">Learn More About Cloudinary<\/h2> \n<p>Besides the image-resizing capability, Cloudinary offers a multitude of robust tools for web developers, including the following:<\/p>\n<ul>\n<li>\n<strong>Automated image uploads.<\/strong> You can upload images at scale anywhere from a browser, mobile app, or application back-end directly to the cloud.<\/li>\n<li>\n<strong>Generous image storage.<\/strong> Cloudinary accords you up to 25 GB free managed, secure, and cloud-based storage space with multiregion backup, revision history, and disaster recovery.<\/li>\n<li>\n<strong>Seamless asset management.<\/strong> You can efficiently manage your image library on Cloudinary by performing tasks like searching, organizing, and tagging files; controlling access; and monitoring usage and performance.<\/li>\n<li>\n<strong>Effective image transformation.<\/strong> You can transform, enhance, transcode, crop, scale, and enhance images with a URL-based API or with SDKs that support all popular programming languages.<\/li>\n<li>\n<strong>Automated image optimization.<\/strong> Cloudinary automatically selects the optimal quality and encoding settings for images, adapts the settings to any resolution or pixel density, and scales or crops images to focus on the important regions.<\/li>\n<li>\n<strong>Responsive images.<\/strong> Cloudinary automatically scales images in an art-directed manner, cropping them to fit different resolutions and viewports.<\/li>\n<li>\n<strong>Reliable and fast image delivery.<\/strong> Cloudinary delivers images through Content Delivery Networks (CDNs)\u2014Akamai, Fastly, and CloudFront\u2014with no integration or management on your part.<\/li>\n<\/ul>\n<p>Do give Cloudinary a try. To start, <a href=\"https:\/\/cloudinary.com\/pricing\">sign up<\/a> for a free account.<\/p>\n<h2 id=\"css\">Check Out the Details of CSS Images<\/h2> \n<p>Want to learn more about CSS images? These articles are an excellent resource:<\/p>\n<ul>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/working_with_css_images\">Working With CSS Images<\/a>\n<\/li>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/css_image_overlay_overlaying_text_and_images_for_visual_effect\">CSS Image Overlay: Overlaying Text and Images for Visual Effect<\/a>\n<\/li>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/image_resizing_manually_with_css_and_automatically_with_cloudinary\">Image Resizing: Manually With CSS and Automatically With Cloudinary<\/a>\n<\/li>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/css_image_effects_five_simple_examples_and_a_quick_animation_guide\">CSS Image Effects: Five Simple Examples and a Quick Animation Guide<\/a>\n<\/li>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/creating_image_filter_effects_with_css_and_riveting_transformations\">Creating Image-Filter Effects With CSS and Riveting Transformations<\/a>\n<\/li>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/rotating_images_in_javascript_three_quick_tutorials\">Rotating Images in JavaScript: Three Quick Tutorials<\/a>\n<\/li>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/cool_tricks_for_resizing_images_in_javascript\">Cool Tricks for Resizing Images in JavaScript<\/a>\n<\/li>\n<\/ul>\n<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":41,"featured_media":22212,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_cloudinary_featured_overwrite":false,"footnotes":""},"categories":[1],"tags":[25,75,227],"class_list":["post-22211","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-asset-management","tag-css","tag-performance-optimization"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.6 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Image Resizing: Manually With CSS and Automatically With Cloudinary<\/title>\n<meta name=\"description\" content=\"Learn how to manually resize images and backgrounds with CSS3 and automatically with Cloudinary.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cloudinary.com\/blog\/image_resizing_manually_with_css_and_automatically_with_cloudinary\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Image Resizing: Manually With CSS and Automatically With Cloudinary\" \/>\n<meta property=\"og:description\" content=\"Learn how to manually resize images and backgrounds with CSS3 and automatically with Cloudinary.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudinary.com\/blog\/image_resizing_manually_with_css_and_automatically_with_cloudinary\" \/>\n<meta property=\"og:site_name\" content=\"Cloudinary Blog\" \/>\n<meta property=\"article:published_time\" content=\"2020-11-03T01:35:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-02-21T22:16:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/v1649733458\/Web_Assets\/blog\/CSS-Resizing_2221221f53\/CSS-Resizing_2221221f53-png?_i=AA\" \/>\n\t<meta property=\"og:image:width\" content=\"1540\" \/>\n\t<meta property=\"og:image:height\" content=\"847\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"NewsArticle\",\"@id\":\"https:\/\/cloudinary.com\/blog\/image_resizing_manually_with_css_and_automatically_with_cloudinary#article\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/image_resizing_manually_with_css_and_automatically_with_cloudinary\"},\"author\":{\"name\":\"\",\"@id\":\"\"},\"headline\":\"Image Resizing: Manually With CSS and Automatically With Cloudinary\",\"datePublished\":\"2020-11-03T01:35:17+00:00\",\"dateModified\":\"2025-02-21T22:16:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/image_resizing_manually_with_css_and_automatically_with_cloudinary\"},\"wordCount\":9,\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/image_resizing_manually_with_css_and_automatically_with_cloudinary#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649733458\/Web_Assets\/blog\/CSS-Resizing_2221221f53\/CSS-Resizing_2221221f53.png?_i=AA\",\"keywords\":[\"Asset Management\",\"CSS\",\"Performance Optimization\"],\"inLanguage\":\"en-US\",\"copyrightYear\":\"2020\",\"copyrightHolder\":{\"@id\":\"https:\/\/cloudinary.com\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cloudinary.com\/blog\/image_resizing_manually_with_css_and_automatically_with_cloudinary\",\"url\":\"https:\/\/cloudinary.com\/blog\/image_resizing_manually_with_css_and_automatically_with_cloudinary\",\"name\":\"Image Resizing: Manually With CSS and Automatically With Cloudinary\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/image_resizing_manually_with_css_and_automatically_with_cloudinary#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/image_resizing_manually_with_css_and_automatically_with_cloudinary#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649733458\/Web_Assets\/blog\/CSS-Resizing_2221221f53\/CSS-Resizing_2221221f53.png?_i=AA\",\"datePublished\":\"2020-11-03T01:35:17+00:00\",\"dateModified\":\"2025-02-21T22:16:29+00:00\",\"description\":\"Learn how to manually resize images and backgrounds with CSS3 and automatically with Cloudinary.\",\"breadcrumb\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/image_resizing_manually_with_css_and_automatically_with_cloudinary#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cloudinary.com\/blog\/image_resizing_manually_with_css_and_automatically_with_cloudinary\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/image_resizing_manually_with_css_and_automatically_with_cloudinary#primaryimage\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649733458\/Web_Assets\/blog\/CSS-Resizing_2221221f53\/CSS-Resizing_2221221f53.png?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649733458\/Web_Assets\/blog\/CSS-Resizing_2221221f53\/CSS-Resizing_2221221f53.png?_i=AA\",\"width\":1540,\"height\":847},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cloudinary.com\/blog\/image_resizing_manually_with_css_and_automatically_with_cloudinary#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cloudinary.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Image Resizing: Manually With CSS and Automatically With Cloudinary\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\",\"url\":\"https:\/\/cloudinary.com\/blog\/\",\"name\":\"Cloudinary Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/cloudinary.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\",\"name\":\"Cloudinary Blog\",\"url\":\"https:\/\/cloudinary.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA\",\"width\":312,\"height\":60,\"caption\":\"Cloudinary Blog\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Image Resizing: Manually With CSS and Automatically With Cloudinary","description":"Learn how to manually resize images and backgrounds with CSS3 and automatically with Cloudinary.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cloudinary.com\/blog\/image_resizing_manually_with_css_and_automatically_with_cloudinary","og_locale":"en_US","og_type":"article","og_title":"Image Resizing: Manually With CSS and Automatically With Cloudinary","og_description":"Learn how to manually resize images and backgrounds with CSS3 and automatically with Cloudinary.","og_url":"https:\/\/cloudinary.com\/blog\/image_resizing_manually_with_css_and_automatically_with_cloudinary","og_site_name":"Cloudinary Blog","article_published_time":"2020-11-03T01:35:17+00:00","article_modified_time":"2025-02-21T22:16:29+00:00","og_image":[{"width":1540,"height":847,"url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/v1649733458\/Web_Assets\/blog\/CSS-Resizing_2221221f53\/CSS-Resizing_2221221f53-png?_i=AA","type":"image\/png"}],"twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/cloudinary.com\/blog\/image_resizing_manually_with_css_and_automatically_with_cloudinary#article","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/image_resizing_manually_with_css_and_automatically_with_cloudinary"},"author":{"name":"","@id":""},"headline":"Image Resizing: Manually With CSS and Automatically With Cloudinary","datePublished":"2020-11-03T01:35:17+00:00","dateModified":"2025-02-21T22:16:29+00:00","mainEntityOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/image_resizing_manually_with_css_and_automatically_with_cloudinary"},"wordCount":9,"publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/image_resizing_manually_with_css_and_automatically_with_cloudinary#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649733458\/Web_Assets\/blog\/CSS-Resizing_2221221f53\/CSS-Resizing_2221221f53.png?_i=AA","keywords":["Asset Management","CSS","Performance Optimization"],"inLanguage":"en-US","copyrightYear":"2020","copyrightHolder":{"@id":"https:\/\/cloudinary.com\/#organization"}},{"@type":"WebPage","@id":"https:\/\/cloudinary.com\/blog\/image_resizing_manually_with_css_and_automatically_with_cloudinary","url":"https:\/\/cloudinary.com\/blog\/image_resizing_manually_with_css_and_automatically_with_cloudinary","name":"Image Resizing: Manually With CSS and Automatically With Cloudinary","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/image_resizing_manually_with_css_and_automatically_with_cloudinary#primaryimage"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/image_resizing_manually_with_css_and_automatically_with_cloudinary#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649733458\/Web_Assets\/blog\/CSS-Resizing_2221221f53\/CSS-Resizing_2221221f53.png?_i=AA","datePublished":"2020-11-03T01:35:17+00:00","dateModified":"2025-02-21T22:16:29+00:00","description":"Learn how to manually resize images and backgrounds with CSS3 and automatically with Cloudinary.","breadcrumb":{"@id":"https:\/\/cloudinary.com\/blog\/image_resizing_manually_with_css_and_automatically_with_cloudinary#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudinary.com\/blog\/image_resizing_manually_with_css_and_automatically_with_cloudinary"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/image_resizing_manually_with_css_and_automatically_with_cloudinary#primaryimage","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649733458\/Web_Assets\/blog\/CSS-Resizing_2221221f53\/CSS-Resizing_2221221f53.png?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649733458\/Web_Assets\/blog\/CSS-Resizing_2221221f53\/CSS-Resizing_2221221f53.png?_i=AA","width":1540,"height":847},{"@type":"BreadcrumbList","@id":"https:\/\/cloudinary.com\/blog\/image_resizing_manually_with_css_and_automatically_with_cloudinary#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudinary.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Image Resizing: Manually With CSS and Automatically With Cloudinary"}]},{"@type":"WebSite","@id":"https:\/\/cloudinary.com\/blog\/#website","url":"https:\/\/cloudinary.com\/blog\/","name":"Cloudinary Blog","description":"","publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cloudinary.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/cloudinary.com\/blog\/#organization","name":"Cloudinary Blog","url":"https:\/\/cloudinary.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA","width":312,"height":60,"caption":"Cloudinary Blog"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":""}]}},"jetpack_featured_media_url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649733458\/Web_Assets\/blog\/CSS-Resizing_2221221f53\/CSS-Resizing_2221221f53.png?_i=AA","_links":{"self":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/22211","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/users\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/comments?post=22211"}],"version-history":[{"count":8,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/22211\/revisions"}],"predecessor-version":[{"id":36911,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/22211\/revisions\/36911"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media\/22212"}],"wp:attachment":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media?parent=22211"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/categories?post=22211"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/tags?post=22211"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}