多数开发商都熟悉图像Magick功能性强开源软件套件可管理并变换图像
图像Magick功能通常从命令行使用,但包件是为广选编程语言写成的,使图像Magick成为开发者中非常受欢迎的选择
程序员常使用imageMagick简单操作,如缩放或拉伸图像以适应特定维度高端技术可供使用,虚构等像素混合法等能实现更多复杂和极实用效果
使用图像变换的三个例子马吉克Ruby打包图像Magick开始使用Sepia特效并发图像并发并发并发并发并发并发并发并发并发并发并发式复杂变换,如创建纹理和像素面像等对每一个例子,我会比较用云处理相同挑战需要什么贝斯特2200娱乐云平台消除编码复杂性和安装故障云化还节省开发者时间,使他们能够利用单行代码完成图像变换
查找全源代码博客文章云端官方存放库.安装依存实例并非无关紧要任务,多半是因为OpenCV但为简洁起见,我存储图像Magick和OpenCV依赖关系嵌入器安装
首例描述常用实例:将摄影师名添加到图像右下角
令例子更有趣,我们首先想应用sepia效果
最终结果应该看起来像:
例子使用两个主要方法构建
add_author_to_image!
接收Magick:图像
对象和写者
并返回新名称Magick:图像
内含生成图像对象-原创图像与作者名叠加应用
sepiatize_image!
接收Magick:图像
对象并返回应用sepia效果修改图像对象
先描述一下add_author_to_image!
:
使用图像Magick画图
对象,它能让我把文本放入原创图像
并选择字体大小
文本=magick:Draw新建文本.fill=白字文本.font_form=武术类文本.pointsize=30码文本重力=魔力:Center重力
代码语言PHP高山市php)
叠装图像尺寸应匹配文本维度, 所以我需要计算文本维度后再创建叠装图像
矩阵s = text.get_type_deass
并置背景色为半透明黑以确保文本在图像上方可见
作者-重叠=magik:image新建度量宽度宽度宽度自定义.fackround_color=万千80}
代码语言PHP高山市php)
接下去,我画文本半透明背景
文本翻译.注解高山市作者_迭代0000写者)
代码语言CSS系统高山市sss)
后我定位作者覆盖图像上方
使用复合式
方法组合二图以某种方式目的地图像即输入图像我必须告诉MimageMagick,我想定位作者覆盖图像的东南边缘Magick::OverCompositeOp
告诉图像Magick源图像作者_迭代
)应该用源图像像素覆盖目的地图像(我们输入图像),从而使作者名可见图像顶部
图像显示.复合....作者_迭代,魔术师::SouthEastGravity,魔术师::OverCompositeOp)
代码语言CSS系统高山市sss)
最终步骤正在销毁作者图像对象叠加清理任何临时图像对象很重要我不再需要叠加,因为我综合图像并扁平摧毁图像对象使用毁灭
方法 :
作者_迭代.droy脱机
代码语言CSS系统高山市sss)
所缺的是sepia效果sepiatize_image!
方法问题)
图像Magick提供一种方法 设置sepia语调, 所以我选择sepia级别并设置期望效果
SEPIA_level=magik:QuantumRange60码/百元sepiatone(SEPIA_level)端
代码语言PHP高山市php)
定义两种方法后,我们需要同时应用原图像并写出结果文件
add_author_to_image....spiatize图像....源图像)写者). write高山市脱机)
代码语言CSS系统高山市sss)
呼出汗了点 但我想方设法得到我想要的结果
如果这是你第一次使用云形注册账号上传API上传图像网站API使用无需安装或下载安装SDK用于最喜爱框架(需要几度快速配置)
ible_tulip.png文件上传到云中账号时使用RubySDK:
Cloudinary::Uploader.upload('yellow_tulip.png'..公共标识=>黄柳图利)
代码语言JavaScript高山市javascript)
现在让我们看看用什么方法 提供Sepia图像 角落内有摄影师名非称盾
sepia和Overlayhttps://res.www.aaaalireno.com/demo/image/upload/e_sepia:60/l_text:Arial_30:John%20Doe%20Photography%20%C2%AE,co_white,g_south_east,b_rgb:00000090/yellow_tulip.png带图像:假
成交
#2实例2:文本纹理例例例比前例复杂点一点,我将使用源图像对带选定字体的特定文本产生纹理效果,以便它看起来像:
图像Magick方式:我将使用概念掩蔽举此例子
以我们期望文本和字体的形状创建图像mask我用它做create_text_mask
方法接收文本成字符串并返回a图像显示
对象.
以下是短路遍历
和前例相似,我创建画图
对象,正用于文本
并获取类型度量来用我计算到的维度创建我们的图像对象
之后我创建新图像显示
对象并设置后台透明
绘图=magick:Draw新建画.fill=白字画.font_family=武术类画取点度=百元.font_量值=magic:BoldWightdraw.grigity=magic:CentreGrity度量数s=drap.get_type_destrictss/text新建度量宽度宽度宽度自定义.fackround_color=透明性}
代码语言PHP高山市php)
和前例相似,我使用绘图对象注解法 实际画出我所创建图像上文本
画图.注解高山市掩码0000文本翻译)
代码语言CSS系统高山市sss)
结果是半透明图像文本本身完全透明化“white”等-完全透明化
开始吧cut_image_to_text!
方法调用create_text_mask
:
后创建掩码图像调用create_text_mask
中使用复合式
方法,我综合图像和输入图像,但这次依赖不同类型复合运算符CopyOpacityCompositeOp
.
这样做会改变输入图像中非文本字母区域所有像素不透明值完全透明隐藏像素并产生字体纹理效果
图像显示.复合....掩码,魔术师CenterGrightity,魔术师::CopyOpacityCompositeOp)
代码语言CSS系统高山市sss)
接下去,我不得不清理 通过销毁掩码
图像,它不再需要
掩码.droy脱机
代码语言CSS系统高山市sss)
整理剩余透明边界并收紧图像与文本本身
图像显示.trim脱机
代码语言CSS系统高山市sss)
此时我几乎完成, 但有最后一件事 处理
多格式-像JPEG-没有 alpha信道支持不透明性即刻导出非alpha格式图像后, 会看到原创图像, 因为所有“隐藏式”和“完全透明性”像素从我们最后一步无法保持透明性结果,我需要把透明像素都转成不透明白, 保证我得到一致结果 不论理想格式是什么使用简单程序完成不透明化
方法论
后台颜色设置为白
Offacific=magik:image新建{image.cluns,image.rows/自定义.fackround_color=白字}
代码语言PHP高山市php)
之后我把上步所制作的逐字图像加新图像上加白背景色这使得透明像素从前转白
不透明化.复合....图像显示,魔术师CenterGrightity,魔术师::OverCompositeOp)
代码语言CSS系统高山市sss)
定义相关方法后,我应用原创图像并写结果文件
不透明化....cut_image_to_text....源码,文本翻译). write高山市脱机)
代码语言CSS系统高山市sss)
令人印象深刻我们成功了
云化方式:你认为这个例子比前一个多花点力气,即使在云化并用文本叠加能力切割机
国旗,这里就是我们需要做的
<\/Image>","codeSnippet":"
\n\t
\n<\/Image>","status":0,"statusText":"Ok","displayName":"React","packageName":"cloudinary-react","packageStatus":"","packageVersion":"1.x"},{"sdkId":"vue_2","framework":"vue_2","language":"vue","rawCodeSnippet":"new CloudinaryImage(\"yellow_tulip.png\").reshape(\n cutByImage(text(\"Flowers\", new TextStyle(\"Arial\", 100).fontWeight(\"bold\")))\n);","codeSnippet":"new CloudinaryImage(\"yellow_tulip.png\").reshape(\n cutByImage(text(\"Flowers\", new TextStyle(\"Arial\", 100).fontWeight(\"bold\")))\n);","status":0,"statusText":"Ok","displayName":"Vue.js","packageName":"@cloudinary\/vue","packageStatus":"","packageVersion":"1.x"},{"sdkId":"vue","framework":"vue","language":"vue","rawCodeSnippet":"
<\/cld-image>","codeSnippet":"
\n\t
\n<\/cld-image>","status":0,"statusText":"Ok","displayName":"Vue.js","packageName":"cloudinary-vue","packageStatus":"legacy","packageVersion":"1.x"},{"sdkId":"angular_2","framework":"angular_2","language":"angular","rawCodeSnippet":"new CloudinaryImage(\"yellow_tulip.png\").reshape(\n cutByImage(text(\"Flowers\", new TextStyle(\"Arial\", 100).fontWeight(\"bold\")))\n);","codeSnippet":"new CloudinaryImage(\"yellow_tulip.png\").reshape(\n cutByImage(text(\"Flowers\", new TextStyle(\"Arial\", 100).fontWeight(\"bold\")))\n);","status":0,"statusText":"Ok","displayName":"Angular","packageName":"@cloudinary\/ng","packageStatus":"","packageVersion":"1.x"},{"sdkId":"angular","framework":"angular","language":"angular","rawCodeSnippet":"
<\/cl-transformation> <\/cl-image>","codeSnippet":"
\n\t
\n\t<\/cl-transformation>\n<\/cl-image>","status":0,"statusText":"Ok","displayName":"Angular","packageName":"@cloudinary\/angular-5.x","packageStatus":"legacy","packageVersion":"1.x"},{"sdkId":"js_2","framework":"js_2","language":"js","rawCodeSnippet":"new CloudinaryImage(\"yellow_tulip.png\").reshape(\n cutByImage(text(\"Flowers\", new TextStyle(\"Arial\", 100).fontWeight(\"bold\")))\n);","codeSnippet":"new CloudinaryImage(\"yellow_tulip.png\").reshape(\n cutByImage(text(\"Flowers\", new TextStyle(\"Arial\", 100).fontWeight(\"bold\")))\n);","status":0,"statusText":"Ok","displayName":"JS","packageName":"@cloudinary\/url-gen","packageStatus":"","packageVersion":"1.x"},{"sdkId":"js","framework":"js","language":"js","rawCodeSnippet":"cloudinary.imageTag('yellow_tulip.png', {overlay: new cloudinary.TextLayer().fontFamily(\"Arial\").fontSize(100).fontWeight(\"bold\").text(\"Flowers\"), flags: \"cutter\"}).toHtml();","codeSnippet":"cloudinary.imageTag('yellow_tulip.png', {overlay: new cloudinary.TextLayer().fontFamily(\"Arial\").fontSize(100).fontWeight(\"bold\").text(\"Flowers\"), flags: \"cutter\"}).toHtml();","status":0,"statusText":"Ok","displayName":"JS","packageName":"cloudinary-core","packageStatus":"legacy","packageVersion":"2.x"},{"sdkId":"python","framework":"python","language":"python","rawCodeSnippet":"CloudinaryImage(\"yellow_tulip.png\").image(overlay={'font_family': \"Arial\", 'font_size': 100, 'font_weight': \"bold\", 'text': \"Flowers\"}, flags=\"cutter\")","codeSnippet":"CloudinaryImage(\"yellow_tulip.png\").image(overlay={'font_family': \"Arial\", 'font_size': 100, 'font_weight': \"bold\", 'text': \"Flowers\"}, flags=\"cutter\")","status":0,"statusText":"Ok","displayName":"Python","packageName":"cloudinary","packageStatus":"","packageVersion":"1.x"},{"sdkId":"php_2","framework":"php_2","language":"php","rawCodeSnippet":"(new ImageTag('yellow_tulip.png'))\n\t->reshape(Reshape::cutByImage(\n\tSource::text(\"Flowers\",(new TextStyle(\"Arial\",100))\n\t->fontWeight(\n\tFontWeight::bold())\n\t)));","codeSnippet":"(new ImageTag('yellow_tulip.png'))\n\t->reshape(Reshape::cutByImage(\n\tSource::text(\"Flowers\",(new TextStyle(\"Arial\",100))\n\t->fontWeight(\n\tFontWeight::bold())\n\t)));","status":0,"statusText":"Ok","displayName":"PHP","packageName":"cloudinary_php","packageStatus":"","packageVersion":"2.x"},{"sdkId":"php","framework":"php","language":"php","rawCodeSnippet":"cl_image_tag(\"yellow_tulip.png\", array(\"overlay\"=>array(\"font_family\"=>\"Arial\", \"font_size\"=>100, \"font_weight\"=>\"bold\", \"text\"=>\"Flowers\"), \"flags\"=>\"cutter\"))","codeSnippet":"cl_image_tag(\"yellow_tulip.png\", array(\"overlay\"=>array(\"font_family\"=>\"Arial\", \"font_size\"=>100, \"font_weight\"=>\"bold\", \"text\"=>\"Flowers\"), \"flags\"=>\"cutter\"))","status":0,"statusText":"Ok","displayName":"PHP","packageName":"cloudinary_php","packageStatus":"legacy","packageVersion":"1.x"},{"sdkId":"java","framework":"java","language":"java","rawCodeSnippet":"cloudinary.url().transformation(new Transformation().overlay(new TextLayer().fontFamily(\"Arial\").fontSize(100).fontWeight(\"bold\").text(\"Flowers\")).flags(\"cutter\")).imageTag(\"yellow_tulip.png\");","codeSnippet":"cloudinary.url().transformation(new Transformation().overlay(new TextLayer().fontFamily(\"Arial\").fontSize(100).fontWeight(\"bold\").text(\"Flowers\")).flags(\"cutter\")).imageTag(\"yellow_tulip.png\");","status":0,"statusText":"Ok","displayName":"Java","packageName":"cloudinary","packageStatus":"","packageVersion":"1.x"},{"sdkId":"ruby","framework":"ruby","language":"ruby","rawCodeSnippet":"cl_image_tag(\"yellow_tulip.png\", :overlay=>{:font_family=>\"Arial\", :font_size=>100, :font_weight=>\"bold\", :text=>\"Flowers\"}, :flags=>\"cutter\")","codeSnippet":"cl_image_tag(\"yellow_tulip.png\", :overlay=>{:font_family=>\"Arial\", :font_size=>100, :font_weight=>\"bold\", :text=>\"Flowers\"}, :flags=>\"cutter\")","status":0,"statusText":"Ok","displayName":"Ruby","packageName":"cloudinary","packageStatus":"","packageVersion":"1.x"},{"sdkId":"csharp","framework":"csharp","language":"csharp","rawCodeSnippet":"cloudinary.Api.UrlImgUp.Transform(new Transformation().Overlay(new TextLayer().FontFamily(\"Arial\").FontSize(100).FontWeight(\"bold\").Text(\"Flowers\")).Flags(\"cutter\")).BuildImageTag(\"yellow_tulip.png\")","codeSnippet":"cloudinary.Api.UrlImgUp.Transform(new Transformation().Overlay(new TextLayer().FontFamily(\"Arial\").FontSize(100).FontWeight(\"bold\").Text(\"Flowers\")).Flags(\"cutter\")).BuildImageTag(\"yellow_tulip.png\")","status":0,"statusText":"Ok","displayName":".NET","packageName":"CloudinaryDotNet","packageStatus":"","packageVersion":"1.x"},{"sdkId":"dart","framework":"dart","language":"dart","rawCodeSnippet":"cloudinary.image('yellow_tulip.png').transformation(Transformation()\n\t.addTransformation(\"l_text:Arial_100_bold:Flowers,fl_cutter\"));","codeSnippet":"cloudinary.image('yellow_tulip.png').transformation(Transformation()\n\t.addTransformation(\"l_text:Arial_100_bold:Flowers,fl_cutter\"));","status":0,"statusText":"Ok","displayName":"Dart","packageName":"cloudinary_dart","packageStatus":"","packageVersion":"0.x"},{"sdkId":"swift","framework":"swift","language":"swift","rawCodeSnippet":"imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setOverlay(\"text:Arial_100_bold:Flowers\").setFlags(\"cutter\")).generate(\"yellow_tulip.png\")!, cloudinary: cloudinary)","codeSnippet":"imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setOverlay(\"text:Arial_100_bold:Flowers\").setFlags(\"cutter\")).generate(\"yellow_tulip.png\")!, cloudinary: cloudinary)","status":0,"statusText":"Ok","displayName":"iOS","packageName":"cloudinary","packageStatus":"","packageVersion":"3.x"},{"sdkId":"android","framework":"android","language":"android","rawCodeSnippet":"MediaManager.get().url().transformation(new Transformation().overlay(new TextLayer().fontFamily(\"Arial\").fontSize(100).fontWeight(\"bold\").text(\"Flowers\")).flags(\"cutter\")).generate(\"yellow_tulip.png\");","codeSnippet":"MediaManager.get().url().transformation(new Transformation().overlay(new TextLayer().fontFamily(\"Arial\").fontSize(100).fontWeight(\"bold\").text(\"Flowers\")).flags(\"cutter\")).generate(\"yellow_tulip.png\");","status":0,"statusText":"Ok","displayName":"Android","packageName":"cloudinary-android","packageStatus":"","packageVersion":"1.x"},{"sdkId":"flutter","framework":"flutter","language":"flutter","rawCodeSnippet":"cloudinary.image('yellow_tulip.png').transformation(Transformation()\n\t.addTransformation(\"l_text:Arial_100_bold:Flowers,fl_cutter\"));","codeSnippet":"cloudinary.image('yellow_tulip.png').transformation(Transformation()\n\t.addTransformation(\"l_text:Arial_100_bold:Flowers,fl_cutter\"));","status":0,"statusText":"Ok","displayName":"Flutter","packageName":"cloudinary_flutter","packageStatus":"","packageVersion":"0.x"},{"sdkId":"kotlin","framework":"kotlin","language":"kotlin","rawCodeSnippet":"cloudinary.image {\n\tpublicId(\"yellow_tulip.png\")\n\t reshape(Reshape.cutByImage(\n\tSource.text(\"Flowers\",TextStyle(\"Arial\",100) {\n\t fontWeight(\n\tFontWeight.bold())\n\t }))) \n}.generate()","codeSnippet":"cloudinary.image {\n\tpublicId(\"yellow_tulip.png\")\n\t reshape(Reshape.cutByImage(\n\tSource.text(\"Flowers\",TextStyle(\"Arial\",100) {\n\t fontWeight(\n\tFontWeight.bold())\n\t }))) \n}.generate()","status":0,"statusText":"Ok","displayName":"Kotlin","packageName":"kotlin-url-gen","packageStatus":"","packageVersion":"1.x"},{"sdkId":"jquery","framework":"jquery","language":"jquery","rawCodeSnippet":"$.cloudinary.image(\"yellow_tulip.png\", {overlay: new cloudinary.TextLayer().fontFamily(\"Arial\").fontSize(100).fontWeight(\"bold\").text(\"Flowers\"), flags: \"cutter\"})","codeSnippet":"$.cloudinary.image(\"yellow_tulip.png\", {overlay: new cloudinary.TextLayer().fontFamily(\"Arial\").fontSize(100).fontWeight(\"bold\").text(\"Flowers\"), flags: \"cutter\"})","status":0,"statusText":"Ok","displayName":"jQuery","packageName":"cloudinary-jquery","packageStatus":"","packageVersion":"2.x"},{"sdkId":"react_native","framework":"react_native","language":"react_native","rawCodeSnippet":"new CloudinaryImage(\"yellow_tulip.png\").reshape(\n cutByImage(text(\"Flowers\", new TextStyle(\"Arial\", 100).fontWeight(\"bold\")))\n);","codeSnippet":"new CloudinaryImage(\"yellow_tulip.png\").reshape(\n cutByImage(text(\"Flowers\", new TextStyle(\"Arial\", 100).fontWeight(\"bold\")))\n);","status":0,"statusText":"Ok","displayName":"React Native","packageName":"cloudinary-react-native","packageStatus":"","packageVersion":"0.x"}]" parsed-url="{"url":"https:\/\/res.www.aaaalireno.com\/demo\/image\/upload\/l_text:Arial_100_bold:Flowers,fl_cutter\/yellow_tulip.png","cloud_name":"demo","host":"res.www.aaaalireno.com","type":"upload","resource_type":"image","transformation":[{"overlay":"text:Arial_100_bold:Flowers","flags":"cutter"}],"transformation_string":"l_text:Arial_100_bold:Flowers,fl_cutter","url_suffix":"","version":"","secure":true,"public_id":"yellow_tulip.png","extension":"png","format":"png","format_code":true,"signature":"","private_cdn":false,"result_asset_type":"image"}" with-url="true" >
加载代码示例
#3实例3:像素脸
容我举最后一个例子,我将展示如何将面部检测与a合并象素变换效果真正有用 隐藏人的身份 公共图片以下是我们最后图像的模样
图像Magick方式:此示例使用OpenCV库和红宝石打开cv宝石本示例中的代码以灵活方式写成,便于将脸部检测部分换成任何其他库或实现程序(修改检测面
方法偏向于你所爱之方,但你必须确保它返回数组区域)
先让我们看一看变换表情
方法论
我正在创建Magick:图像
对象出文件,我取用户输入, 相似方式我做前二例
图像=maglek:image.read(image_file)
代码语言PHP高山市php)
之后我检测面像文件进程由图像Magick外完成,返回表情区域集合
detect_faces(image_file).each多做区域变换区域!
代码语言JavaScript高山市javascript)
下一步,对每个区域,我调用transform_region!
上图像对象上头transform_region
方法有上左
并底层右转
属性,每个带X级
,Y级
值.在此我从原创图像中裁剪新图像
cropped_region = image.crop(region.top_left.x, region.top_left.y, region.width, region.height)
之后我调用方法操作 我想用这个裁剪区域图像
裁剪区域=发送"#{operation}_image!"区域裁剪
代码语言JavaScript高山市javascript)
实例代码存储器中,我选择运算调用象素板
.可选择blur
PIXELATEFACTOR=5 defplichelateimage!
回调transform_region!
:我需要用原创图像上方设置变换区复合式
重开X级
,Y级
位置完成后,我平整图像 并清理它 通过摧毁裁剪图像区域
图像显示.复合....裁剪区域,区域.top_left.x,区域.top_left.y,魔术师::OverCompositeOp)裁剪区域.droy脱机
代码语言CSS系统高山市sss)
不错吧
云化方式:你现在可能期望 云化法单行实现相同目标对
云形自定义面部检测机制 快速像素化(或模糊化)
仿真面孔
<\/Image>","codeSnippet":"
\n\t
\n\t
\n<\/Image>","status":0,"statusText":"Ok","displayName":"React","packageName":"cloudinary-react","packageStatus":"","packageVersion":"1.x"},{"sdkId":"vue_2","framework":"vue_2","language":"vue","rawCodeSnippet":"new CloudinaryImage(\n \"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\"\n)\n .effect(pixelate().region(faces()))\n .resize(scale().width(500))\n .setDeliveryType(\"fetch\");","codeSnippet":"new CloudinaryImage(\n \"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\"\n)\n .effect(pixelate().region(faces()))\n .resize(scale().width(500))\n .setDeliveryType(\"fetch\");","status":0,"statusText":"Ok","displayName":"Vue.js","packageName":"@cloudinary\/vue","packageStatus":"","packageVersion":"1.x"},{"sdkId":"vue","framework":"vue","language":"vue","rawCodeSnippet":"
<\/cld-image>","codeSnippet":"
\n\t
\n\t
\n<\/cld-image>","status":0,"statusText":"Ok","displayName":"Vue.js","packageName":"cloudinary-vue","packageStatus":"legacy","packageVersion":"1.x"},{"sdkId":"angular_2","framework":"angular_2","language":"angular","rawCodeSnippet":"new CloudinaryImage(\n \"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\"\n)\n .effect(pixelate().region(faces()))\n .resize(scale().width(500))\n .setDeliveryType(\"fetch\");","codeSnippet":"new CloudinaryImage(\n \"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\"\n)\n .effect(pixelate().region(faces()))\n .resize(scale().width(500))\n .setDeliveryType(\"fetch\");","status":0,"statusText":"Ok","displayName":"Angular","packageName":"@cloudinary\/ng","packageStatus":"","packageVersion":"1.x"},{"sdkId":"angular","framework":"angular","language":"angular","rawCodeSnippet":"
<\/cl-transformation>
<\/cl-transformation> <\/cl-image>","codeSnippet":"
\n\t
\n\t<\/cl-transformation>\n\t
\n\t<\/cl-transformation>\n<\/cl-image>","status":0,"statusText":"Ok","displayName":"Angular","packageName":"@cloudinary\/angular-5.x","packageStatus":"legacy","packageVersion":"1.x"},{"sdkId":"js_2","framework":"js_2","language":"js","rawCodeSnippet":"new CloudinaryImage(\n \"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\"\n)\n .effect(pixelate().region(faces()))\n .resize(scale().width(500))\n .setDeliveryType(\"fetch\");","codeSnippet":"new CloudinaryImage(\n \"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\"\n)\n .effect(pixelate().region(faces()))\n .resize(scale().width(500))\n .setDeliveryType(\"fetch\");","status":0,"statusText":"Ok","displayName":"JS","packageName":"@cloudinary\/url-gen","packageStatus":"","packageVersion":"1.x"},{"sdkId":"js","framework":"js","language":"js","rawCodeSnippet":"cloudinary.imageTag('http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg', {type: \"fetch\", transformation: [ {effect: \"pixelate_faces\"}, {width: 500, crop: \"scale\"} ]}).toHtml();","codeSnippet":"cloudinary.imageTag('http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg', {type: \"fetch\", transformation: [\n {effect: \"pixelate_faces\"},\n {width: 500, crop: \"scale\"}\n ]}).toHtml();","status":0,"statusText":"Ok","displayName":"JS","packageName":"cloudinary-core","packageStatus":"legacy","packageVersion":"2.x"},{"sdkId":"python","framework":"python","language":"python","rawCodeSnippet":"CloudinaryImage(\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\").image(type=\"fetch\", transformation=[ {'effect': \"pixelate_faces\"}, {'width': 500, 'crop': \"scale\"} ])","codeSnippet":"CloudinaryImage(\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\").image(type=\"fetch\", transformation=[\n {'effect': \"pixelate_faces\"},\n {'width': 500, 'crop': \"scale\"}\n ])","status":0,"statusText":"Ok","displayName":"Python","packageName":"cloudinary","packageStatus":"","packageVersion":"1.x"},{"sdkId":"php_2","framework":"php_2","language":"php","rawCodeSnippet":"(new ImageTag('http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg'))\n\t->effect(Effect::pixelate()\n\t->region(\n\tRegion::faces())\n\t)\n\t->resize(Resize::scale()->width(500))\n\t->deliveryType(\"fetch\");","codeSnippet":"(new ImageTag('http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg'))\n\t->effect(Effect::pixelate()\n\t->region(\n\tRegion::faces())\n\t)\n\t->resize(Resize::scale()->width(500))\n\t->deliveryType(\"fetch\");","status":0,"statusText":"Ok","displayName":"PHP","packageName":"cloudinary_php","packageStatus":"","packageVersion":"2.x"},{"sdkId":"php","framework":"php","language":"php","rawCodeSnippet":"cl_image_tag(\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\", array(\"type\"=>\"fetch\", \"transformation\"=>array( array(\"effect\"=>\"pixelate_faces\"), array(\"width\"=>500, \"crop\"=>\"scale\") )))","codeSnippet":"cl_image_tag(\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\", array(\"type\"=>\"fetch\", \"transformation\"=>array(\n array(\"effect\"=>\"pixelate_faces\"),\n array(\"width\"=>500, \"crop\"=>\"scale\")\n )))","status":0,"statusText":"Ok","displayName":"PHP","packageName":"cloudinary_php","packageStatus":"legacy","packageVersion":"1.x"},{"sdkId":"java","framework":"java","language":"java","rawCodeSnippet":"cloudinary.url().transformation(new Transformation().effect(\"pixelate_faces\").chain() .width(500).crop(\"scale\")).type(\"fetch\").imageTag(\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\");","codeSnippet":"cloudinary.url().transformation(new Transformation()\n .effect(\"pixelate_faces\").chain()\n .width(500).crop(\"scale\")).type(\"fetch\").imageTag(\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\");","status":0,"statusText":"Ok","displayName":"Java","packageName":"cloudinary","packageStatus":"","packageVersion":"1.x"},{"sdkId":"ruby","framework":"ruby","language":"ruby","rawCodeSnippet":"cl_image_tag(\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\", :type=>\"fetch\", :transformation=>[ {:effect=>\"pixelate_faces\"}, {:width=>500, :crop=>\"scale\"} ])","codeSnippet":"cl_image_tag(\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\", :type=>\"fetch\", :transformation=>[\n {:effect=>\"pixelate_faces\"},\n {:width=>500, :crop=>\"scale\"}\n ])","status":0,"statusText":"Ok","displayName":"Ruby","packageName":"cloudinary","packageStatus":"","packageVersion":"1.x"},{"sdkId":"csharp","framework":"csharp","language":"csharp","rawCodeSnippet":"cloudinary.Api.UrlImgUp.Transform(new Transformation().Effect(\"pixelate_faces\").Chain() .Width(500).Crop(\"scale\")).Action(\"fetch\").BuildImageTag(\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\")","codeSnippet":"cloudinary.Api.UrlImgUp.Transform(new Transformation()\n .Effect(\"pixelate_faces\").Chain()\n .Width(500).Crop(\"scale\")).Action(\"fetch\").BuildImageTag(\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\")","status":0,"statusText":"Ok","displayName":".NET","packageName":"CloudinaryDotNet","packageStatus":"","packageVersion":"1.x"},{"sdkId":"dart","framework":"dart","language":"dart","rawCodeSnippet":"cloudinary.image('http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg').transformation(Transformation()\n\t.effect(Effect.pixelate()\n\t.region(\n\tRegion.faces())\n\t)\n\t.resize(Resize.scale().width(500))\n\t.setDeliveryType(\"fetch\"));","codeSnippet":"cloudinary.image('http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg').transformation(Transformation()\n\t.effect(Effect.pixelate()\n\t.region(\n\tRegion.faces())\n\t)\n\t.resize(Resize.scale().width(500))\n\t.setDeliveryType(\"fetch\"));","status":0,"statusText":"Ok","displayName":"Dart","packageName":"cloudinary_dart","packageStatus":"","packageVersion":"0.x"},{"sdkId":"swift","framework":"swift","language":"swift","rawCodeSnippet":"imageView.cldSetImage(cloudinary.createUrl().setType( \"fetch\").setTransformation(CLDTransformation().setEffect(\"pixelate_faces\").chain() .setWidth(500).setCrop(\"scale\")).generate(\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\")!, cloudinary: cloudinary)","codeSnippet":"imageView.cldSetImage(cloudinary.createUrl().setType( \"fetch\").setTransformation(CLDTransformation()\n .setEffect(\"pixelate_faces\").chain()\n .setWidth(500).setCrop(\"scale\")).generate(\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\")!, cloudinary: cloudinary)","status":0,"statusText":"Ok","displayName":"iOS","packageName":"cloudinary","packageStatus":"","packageVersion":"3.x"},{"sdkId":"android","framework":"android","language":"android","rawCodeSnippet":"MediaManager.get().url().transformation(new Transformation().effect(\"pixelate_faces\").chain() .width(500).crop(\"scale\")).type(\"fetch\").generate(\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\");","codeSnippet":"MediaManager.get().url().transformation(new Transformation()\n .effect(\"pixelate_faces\").chain()\n .width(500).crop(\"scale\")).type(\"fetch\").generate(\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\");","status":0,"statusText":"Ok","displayName":"Android","packageName":"cloudinary-android","packageStatus":"","packageVersion":"1.x"},{"sdkId":"flutter","framework":"flutter","language":"flutter","rawCodeSnippet":"cloudinary.image('http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg').transformation(Transformation()\n\t.effect(Effect.pixelate()\n\t.region(\n\tRegion.faces())\n\t)\n\t.resize(Resize.scale().width(500))\n\t.setDeliveryType(\"fetch\"));","codeSnippet":"cloudinary.image('http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg').transformation(Transformation()\n\t.effect(Effect.pixelate()\n\t.region(\n\tRegion.faces())\n\t)\n\t.resize(Resize.scale().width(500))\n\t.setDeliveryType(\"fetch\"));","status":0,"statusText":"Ok","displayName":"Flutter","packageName":"cloudinary_flutter","packageStatus":"","packageVersion":"0.x"},{"sdkId":"kotlin","framework":"kotlin","language":"kotlin","rawCodeSnippet":"cloudinary.image {\n\tpublicId(\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\")\n\t effect(Effect.pixelate() {\n\t region(\n\tRegion.faces())\n\t })\n\t resize(Resize.scale() { width(500) })\n\t deliveryType(\"fetch\") \n}.generate()","codeSnippet":"cloudinary.image {\n\tpublicId(\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\")\n\t effect(Effect.pixelate() {\n\t region(\n\tRegion.faces())\n\t })\n\t resize(Resize.scale() { width(500) })\n\t deliveryType(\"fetch\") \n}.generate()","status":0,"statusText":"Ok","displayName":"Kotlin","packageName":"kotlin-url-gen","packageStatus":"","packageVersion":"1.x"},{"sdkId":"jquery","framework":"jquery","language":"jquery","rawCodeSnippet":"$.cloudinary.image(\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\", {type: \"fetch\", transformation: [ {effect: \"pixelate_faces\"}, {width: 500, crop: \"scale\"} ]})","codeSnippet":"$.cloudinary.image(\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\", {type: \"fetch\", transformation: [\n {effect: \"pixelate_faces\"},\n {width: 500, crop: \"scale\"}\n ]})","status":0,"statusText":"Ok","displayName":"jQuery","packageName":"cloudinary-jquery","packageStatus":"","packageVersion":"2.x"},{"sdkId":"react_native","framework":"react_native","language":"react_native","rawCodeSnippet":"new CloudinaryImage(\n \"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\"\n)\n .effect(pixelate().region(faces()))\n .resize(scale().width(500))\n .setDeliveryType(\"fetch\");","codeSnippet":"new CloudinaryImage(\n \"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\"\n)\n .effect(pixelate().region(faces()))\n .resize(scale().width(500))\n .setDeliveryType(\"fetch\");","status":0,"statusText":"Ok","displayName":"React Native","packageName":"cloudinary-react-native","packageStatus":"","packageVersion":"0.x"}]" parsed-url="{"url":"https:\/\/res.www.aaaalireno.com\/demo\/image\/fetch\/e_pixelate_faces\/w_500\/http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg","cloud_name":"demo","host":"res.www.aaaalireno.com","type":"fetch","resource_type":"image","transformation":[{"effect":"pixelate_faces"},{"width":"500"}],"transformation_string":"e_pixelate_faces\/w_500","url_suffix":"","version":"","secure":true,"public_id":"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg","extension":"jpg","format":"jpg","format_code":true,"signature":"","private_cdn":false,"result_asset_type":"image"}" with-url="true" >
加载代码示例
模糊面孔
<\/Image>","codeSnippet":"
\n\t
\n\t
\n<\/Image>","status":0,"statusText":"Ok","displayName":"React","packageName":"cloudinary-react","packageStatus":"","packageVersion":"1.x"},{"sdkId":"vue_2","framework":"vue_2","language":"vue","rawCodeSnippet":"new CloudinaryImage(\n \"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\"\n)\n .effect(blur().region(faces()))\n .resize(scale().width(500))\n .setDeliveryType(\"fetch\");","codeSnippet":"new CloudinaryImage(\n \"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\"\n)\n .effect(blur().region(faces()))\n .resize(scale().width(500))\n .setDeliveryType(\"fetch\");","status":0,"statusText":"Ok","displayName":"Vue.js","packageName":"@cloudinary\/vue","packageStatus":"","packageVersion":"1.x"},{"sdkId":"vue","framework":"vue","language":"vue","rawCodeSnippet":"
<\/cld-image>","codeSnippet":"
\n\t
\n\t
\n<\/cld-image>","status":0,"statusText":"Ok","displayName":"Vue.js","packageName":"cloudinary-vue","packageStatus":"legacy","packageVersion":"1.x"},{"sdkId":"angular_2","framework":"angular_2","language":"angular","rawCodeSnippet":"new CloudinaryImage(\n \"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\"\n)\n .effect(blur().region(faces()))\n .resize(scale().width(500))\n .setDeliveryType(\"fetch\");","codeSnippet":"new CloudinaryImage(\n \"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\"\n)\n .effect(blur().region(faces()))\n .resize(scale().width(500))\n .setDeliveryType(\"fetch\");","status":0,"statusText":"Ok","displayName":"Angular","packageName":"@cloudinary\/ng","packageStatus":"","packageVersion":"1.x"},{"sdkId":"angular","framework":"angular","language":"angular","rawCodeSnippet":"
<\/cl-transformation>
<\/cl-transformation> <\/cl-image>","codeSnippet":"
\n\t
\n\t<\/cl-transformation>\n\t
\n\t<\/cl-transformation>\n<\/cl-image>","status":0,"statusText":"Ok","displayName":"Angular","packageName":"@cloudinary\/angular-5.x","packageStatus":"legacy","packageVersion":"1.x"},{"sdkId":"js_2","framework":"js_2","language":"js","rawCodeSnippet":"new CloudinaryImage(\n \"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\"\n)\n .effect(blur().region(faces()))\n .resize(scale().width(500))\n .setDeliveryType(\"fetch\");","codeSnippet":"new CloudinaryImage(\n \"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\"\n)\n .effect(blur().region(faces()))\n .resize(scale().width(500))\n .setDeliveryType(\"fetch\");","status":0,"statusText":"Ok","displayName":"JS","packageName":"@cloudinary\/url-gen","packageStatus":"","packageVersion":"1.x"},{"sdkId":"js","framework":"js","language":"js","rawCodeSnippet":"cloudinary.imageTag('http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg', {type: \"fetch\", transformation: [ {effect: \"blur_faces\"}, {width: 500, crop: \"scale\"} ]}).toHtml();","codeSnippet":"cloudinary.imageTag('http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg', {type: \"fetch\", transformation: [\n {effect: \"blur_faces\"},\n {width: 500, crop: \"scale\"}\n ]}).toHtml();","status":0,"statusText":"Ok","displayName":"JS","packageName":"cloudinary-core","packageStatus":"legacy","packageVersion":"2.x"},{"sdkId":"python","framework":"python","language":"python","rawCodeSnippet":"CloudinaryImage(\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\").image(type=\"fetch\", transformation=[ {'effect': \"blur_faces\"}, {'width': 500, 'crop': \"scale\"} ])","codeSnippet":"CloudinaryImage(\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\").image(type=\"fetch\", transformation=[\n {'effect': \"blur_faces\"},\n {'width': 500, 'crop': \"scale\"}\n ])","status":0,"statusText":"Ok","displayName":"Python","packageName":"cloudinary","packageStatus":"","packageVersion":"1.x"},{"sdkId":"php_2","framework":"php_2","language":"php","rawCodeSnippet":"(new ImageTag('http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg'))\n\t->effect(Effect::blur()\n\t->region(\n\tRegion::faces())\n\t)\n\t->resize(Resize::scale()->width(500))\n\t->deliveryType(\"fetch\");","codeSnippet":"(new ImageTag('http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg'))\n\t->effect(Effect::blur()\n\t->region(\n\tRegion::faces())\n\t)\n\t->resize(Resize::scale()->width(500))\n\t->deliveryType(\"fetch\");","status":0,"statusText":"Ok","displayName":"PHP","packageName":"cloudinary_php","packageStatus":"","packageVersion":"2.x"},{"sdkId":"php","framework":"php","language":"php","rawCodeSnippet":"cl_image_tag(\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\", array(\"type\"=>\"fetch\", \"transformation\"=>array( array(\"effect\"=>\"blur_faces\"), array(\"width\"=>500, \"crop\"=>\"scale\") )))","codeSnippet":"cl_image_tag(\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\", array(\"type\"=>\"fetch\", \"transformation\"=>array(\n array(\"effect\"=>\"blur_faces\"),\n array(\"width\"=>500, \"crop\"=>\"scale\")\n )))","status":0,"statusText":"Ok","displayName":"PHP","packageName":"cloudinary_php","packageStatus":"legacy","packageVersion":"1.x"},{"sdkId":"java","framework":"java","language":"java","rawCodeSnippet":"cloudinary.url().transformation(new Transformation().effect(\"blur_faces\").chain() .width(500).crop(\"scale\")).type(\"fetch\").imageTag(\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\");","codeSnippet":"cloudinary.url().transformation(new Transformation()\n .effect(\"blur_faces\").chain()\n .width(500).crop(\"scale\")).type(\"fetch\").imageTag(\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\");","status":0,"statusText":"Ok","displayName":"Java","packageName":"cloudinary","packageStatus":"","packageVersion":"1.x"},{"sdkId":"ruby","framework":"ruby","language":"ruby","rawCodeSnippet":"cl_image_tag(\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\", :type=>\"fetch\", :transformation=>[ {:effect=>\"blur_faces\"}, {:width=>500, :crop=>\"scale\"} ])","codeSnippet":"cl_image_tag(\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\", :type=>\"fetch\", :transformation=>[\n {:effect=>\"blur_faces\"},\n {:width=>500, :crop=>\"scale\"}\n ])","status":0,"statusText":"Ok","displayName":"Ruby","packageName":"cloudinary","packageStatus":"","packageVersion":"1.x"},{"sdkId":"csharp","framework":"csharp","language":"csharp","rawCodeSnippet":"cloudinary.Api.UrlImgUp.Transform(new Transformation().Effect(\"blur_faces\").Chain() .Width(500).Crop(\"scale\")).Action(\"fetch\").BuildImageTag(\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\")","codeSnippet":"cloudinary.Api.UrlImgUp.Transform(new Transformation()\n .Effect(\"blur_faces\").Chain()\n .Width(500).Crop(\"scale\")).Action(\"fetch\").BuildImageTag(\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\")","status":0,"statusText":"Ok","displayName":".NET","packageName":"CloudinaryDotNet","packageStatus":"","packageVersion":"1.x"},{"sdkId":"dart","framework":"dart","language":"dart","rawCodeSnippet":"cloudinary.image('http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg').transformation(Transformation()\n\t.effect(Effect.blur()\n\t.region(\n\tRegion.faces())\n\t)\n\t.resize(Resize.scale().width(500))\n\t.setDeliveryType(\"fetch\"));","codeSnippet":"cloudinary.image('http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg').transformation(Transformation()\n\t.effect(Effect.blur()\n\t.region(\n\tRegion.faces())\n\t)\n\t.resize(Resize.scale().width(500))\n\t.setDeliveryType(\"fetch\"));","status":0,"statusText":"Ok","displayName":"Dart","packageName":"cloudinary_dart","packageStatus":"","packageVersion":"0.x"},{"sdkId":"swift","framework":"swift","language":"swift","rawCodeSnippet":"imageView.cldSetImage(cloudinary.createUrl().setType( \"fetch\").setTransformation(CLDTransformation().setEffect(\"blur_faces\").chain() .setWidth(500).setCrop(\"scale\")).generate(\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\")!, cloudinary: cloudinary)","codeSnippet":"imageView.cldSetImage(cloudinary.createUrl().setType( \"fetch\").setTransformation(CLDTransformation()\n .setEffect(\"blur_faces\").chain()\n .setWidth(500).setCrop(\"scale\")).generate(\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\")!, cloudinary: cloudinary)","status":0,"statusText":"Ok","displayName":"iOS","packageName":"cloudinary","packageStatus":"","packageVersion":"3.x"},{"sdkId":"android","framework":"android","language":"android","rawCodeSnippet":"MediaManager.get().url().transformation(new Transformation().effect(\"blur_faces\").chain() .width(500).crop(\"scale\")).type(\"fetch\").generate(\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\");","codeSnippet":"MediaManager.get().url().transformation(new Transformation()\n .effect(\"blur_faces\").chain()\n .width(500).crop(\"scale\")).type(\"fetch\").generate(\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\");","status":0,"statusText":"Ok","displayName":"Android","packageName":"cloudinary-android","packageStatus":"","packageVersion":"1.x"},{"sdkId":"flutter","framework":"flutter","language":"flutter","rawCodeSnippet":"cloudinary.image('http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg').transformation(Transformation()\n\t.effect(Effect.blur()\n\t.region(\n\tRegion.faces())\n\t)\n\t.resize(Resize.scale().width(500))\n\t.setDeliveryType(\"fetch\"));","codeSnippet":"cloudinary.image('http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg').transformation(Transformation()\n\t.effect(Effect.blur()\n\t.region(\n\tRegion.faces())\n\t)\n\t.resize(Resize.scale().width(500))\n\t.setDeliveryType(\"fetch\"));","status":0,"statusText":"Ok","displayName":"Flutter","packageName":"cloudinary_flutter","packageStatus":"","packageVersion":"0.x"},{"sdkId":"kotlin","framework":"kotlin","language":"kotlin","rawCodeSnippet":"cloudinary.image {\n\tpublicId(\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\")\n\t effect(Effect.blur() {\n\t region(\n\tRegion.faces())\n\t })\n\t resize(Resize.scale() { width(500) })\n\t deliveryType(\"fetch\") \n}.generate()","codeSnippet":"cloudinary.image {\n\tpublicId(\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\")\n\t effect(Effect.blur() {\n\t region(\n\tRegion.faces())\n\t })\n\t resize(Resize.scale() { width(500) })\n\t deliveryType(\"fetch\") \n}.generate()","status":0,"statusText":"Ok","displayName":"Kotlin","packageName":"kotlin-url-gen","packageStatus":"","packageVersion":"1.x"},{"sdkId":"jquery","framework":"jquery","language":"jquery","rawCodeSnippet":"$.cloudinary.image(\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\", {type: \"fetch\", transformation: [ {effect: \"blur_faces\"}, {width: 500, crop: \"scale\"} ]})","codeSnippet":"$.cloudinary.image(\"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\", {type: \"fetch\", transformation: [\n {effect: \"blur_faces\"},\n {width: 500, crop: \"scale\"}\n ]})","status":0,"statusText":"Ok","displayName":"jQuery","packageName":"cloudinary-jquery","packageStatus":"","packageVersion":"2.x"},{"sdkId":"react_native","framework":"react_native","language":"react_native","rawCodeSnippet":"new CloudinaryImage(\n \"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\"\n)\n .effect(blur().region(faces()))\n .resize(scale().width(500))\n .setDeliveryType(\"fetch\");","codeSnippet":"new CloudinaryImage(\n \"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg\"\n)\n .effect(blur().region(faces()))\n .resize(scale().width(500))\n .setDeliveryType(\"fetch\");","status":0,"statusText":"Ok","displayName":"React Native","packageName":"cloudinary-react-native","packageStatus":"","packageVersion":"0.x"}]" parsed-url="{"url":"https:\/\/res.www.aaaalireno.com\/demo\/image\/fetch\/e_blur_faces\/w_500\/http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg","cloud_name":"demo","host":"res.www.aaaalireno.com","type":"fetch","resource_type":"image","transformation":[{"effect":"blur_faces"},{"width":"500"}],"transformation_string":"e_blur_faces\/w_500","url_suffix":"","version":"","secure":true,"public_id":"http:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/45\/Spain_national_football_team_Euro_2012_final.jpg","extension":"jpg","format":"jpg","format_code":true,"signature":"","private_cdn":false,"result_asset_type":"image"}" with-url="true" >
加载代码示例
##结论
图像Magick是一个软性开源软件套件,开发者用它管理并变换图像多年图片Magick比简单重定位图像多得多
Cloudinary使用ImageMagick广举使用案例,它成为工具圈中宝贵的工具之一
云式归纳图像转换、存储、管理交付的复杂性,为开发者提供易用端对端云解决方案云化使开发商能够专注于创建应用并展示最佳图像
if you haven't tryCloudinary yet, I invice you to测试它访问网站注册账号