币游国际平台

Ruby/Rails图像变换

最新更新:Jan-24-2024

或您的用户上传图像资产到云形后,您可以通过动态URL提供这些资产动态URL中包含指令,告诉云形使用一组变换参数变换资产云中自动实现所有变换,变换资产在快速CDN向终端用户传递最优用户经验前自动优化

举例说,您可调整大小并裁剪,添加叠加图像,模糊或像素面孔,应用各种特效和滤镜并应用设置优化图像并按需交付图像

云化铁路库简化变换URL生成,便于资产嵌入铁路应用

并见:铁路视频转换

交付变换图像

可使用生成图像标签或直接URL构建指令交付图像

CL_image_tag方法

可使用云化图向铁路视图添加图像Cl_image_taghelper方法代之以铁路标准image_tag方法方法生成全图像资源URL基于给定变换参数并内部使用image_tag

上方代码生成以下HTML图像标签

请求中也可以包括变换参数,例如提供JPEG图像加宽400像素

可直接添加变换Cl_image_tag方法(所有变换都归单平分结果URL源码,如上)或用变换参数化

外加非转换参数Cl_image_tag资产版本、配置参数和HTML5图像标签属性

例举 :

由铁路编译为:

小技巧

泛泛地说,当使用SDK时,你可能利用SDK参数名提高可读性并维护代码可选择传递araw_transformation参数值字面化URL变换定义注意字符串作为原变换值传递后会像原样(不处理或验证)附入结束任何其他变换参数传递到变换链同构件

例举 :

链式变换

云化支持强变换连多重变换并列单项变换请求,例如裁剪图像并添加边框在某些情况下,你可能想对上一个变换请求执行额外变换要做到这一点,可使用链式变换

变换URL应用链式变换包括多变换构件每种变换组件应用前一组件的结果Ruby应用多项变换变换参数变换数组下示例优先裁剪原图像到一组自定义坐标并变换结果以填充130x100矩形

简单链例

下例应用4链化变换:自定义裁剪300x200,填到130x100,旋转20度后缩放50%

复杂链例

更多图像变换信息见应用常用图像变换.

直接URL构建

上头Cl_image_tag上文描述方法生成HTML图像标签在某些条件中,你可能想直接生成变换URL,不包含图像标签仅返回 URL, 或使用Cl_image_path云化_url视图助手方法或Ruby命令使用Cloudinary::Utils.cloudinary_url.以下是几个例子:

增强图像标签

多数例子显示在此基于使用云式Cl_image_tag嵌入并变换图像可选择使用标准铁路image_tag通过设置获取相同功能enhance_image_tag真实性global配置参数

设置配置参数后,可使用标准铁路图像标签嵌入上传图像或变换图像的方法,只要你还包含类型参数(常设加载,但更多细节见存取控制文档编制)

例举 :

同一种方法可用于嵌入远程取换图像

静态文件

云端服务聚焦用户加载图像时,您可用云端管理Web应用中静态文件,例如背景图像、按钮、图标、脚本和样式表等也可以通过CDN传送,卸载服务机交付,提高网站性能

云形Ruby宝石简化过程,将静态文件上传云端并传送到CDN

向云端上传Ruby-on-Rails应用静态文件,运行以下Rake命令:

Rake任务在所有公共文件夹和铁路资产流图像资产文件夹中查找所有文件后它上传所有新修改文件上传文件及其版本使用本地.cloudinary.static文件.确定文件归源控件

上传静态文件到云端后编辑云化.yml文件并设置下列配置参数为'真':

遍历图像标签调用视图将自动检查图像上传云面.cloudinary.static)并产生远程云式CDN URL例举 :

将生成以下HTML代码

Ruby宝石自动提供CSS、SCSS或SASS文件定义的背景图像图像-url直接或云式云语url自定义指令

应用常用图像变换

本节概述并举例说明下列常用图像变换特征,并链接到这些特征的更详细的文档

记住本节仅意在向您介绍使用Rubys和Rails图像变换基础知识

综合解释如何实现各种变换见图像变换.完整列表支持图像变换及其用法见变换URLAPI引用.

裁剪裁剪

变大小和/或裁剪图像有多种方法,并控制在裁剪期间保存的图像区

下例使用填充裁剪法生成并交付图像完全填充请求 250x250大小并保留原侧比使用面部检测重力确保图像中所有面部保留并居中

面部识别裁剪前原创图像原创图像 填充刻面重力填充刻面重力

也可以使用自动重力自动判定什么保留在裁剪中

原创图像自动裁剪原创图像 填充重力a填充重力a

细节重构和裁剪选项见大小裁剪图像.

转换为另一种图像格式

可基本以图像格式向云形传送图像三种主要方式转换并交付另一种格式:

  • 指定图像公有标识并配有期望扩展
  • 使用fack_format参数化
  • 使用汽车fack_format指令云式为每个浏览器请求最优化格式提供图像

例举 :

  1. gif格式提供.jpg文件
  2. letCloudinary为每个浏览器选择最优格式举个例子,在 Chrome中,此图像可交付.avi.web格式(取决于产品环境搭建):
    上方代码生成 URLf_aut参数 :

更多细节见:

应用图像特效和滤镜

从大选择图像特效、增强和滤镜中选择应用到图像可用效果包括各种色平衡级效果、色调、模糊性效果、像素化效果、锐化效果、自动改进效果、艺术滤波、图像和文本叠加效果、变形效果、轮廓、背景、阴影等

下方代码应用卡通效果、圆角效果和背景色效果

图像多变效果

关于可用图像特效和滤镜详解见可视图像特效和增强.

添加文本图像叠加

可添加图像和文本为主图像叠加覆盖图像上可应用与所有图像相同的变换类型,并使用重力设置或x和y坐标控制重叠位置也可以对文本应用各种变换,如颜色、字体、大小、旋转等

举例说 下方代码覆盖一对情侣照片迭代照片使用面部检测调整色饱和度并应用维格特效果裁剪词爱添加成粉红色花式字体并旋转适配设计并添加气球图形外加最后图像裁剪和角角四舍五入

图像多变叠应用

图像优化

默认时云式自动执行所有变换图像的某些优化还有一些附加特性使您能够进一步优化应用中使用的图像其中包括优化图像质量、格式和大小等

举个例子,你可以使用汽车值对fack_format质量问题属性自动交付格式和质量图像,在满足质量水平要求的同时最小化文件大小下方应用这两个参数,结果产生351KBAVIF文件(Chrome),而不是1.4MBJPG质量无可见变化

50%文件尺寸优化使用汽车格式和汽车质量特征

深入审查多方法优化图像,见图像优化.

响应图像设置

响应式网络设计是一种设计网站向用户提供最优浏览经验的方法,而不论设备、视图大小、定向或分辨率如何查看它保证最优经验意味着避免发送高分辨率图像以调整客户端规模,并给小显示器用户带来显著带宽浪费取而代之的是,你应总是为每个设备提供右尺寸图像和屏幕尺寸

举个例子,你可确保每个用户接收图像大小和设备像素比汽车值对dpr宽度属性。上头汽车值代之以客户端基于屏幕属性和视图港宽度的实际值

云化提供几种选项简化响应图像传递复杂性详细指南如何实施这些选项见响应图像.

云学院

查查我们的Ruby开发者云形简介课程中云学院.自定节奏资源提供视频教程、样本脚本和其他学习素材,使你今天与Ruby和Cloudinary并发

反馈发送

评分本页 :