澳门1495iOS 图片风格转换(CoreML)[译] 纹理网络:在前馈网络被展开纹理合成与风格化。

1. 前言

  图片风格转换最早入人们的视野,估计即使是Prisma这款来自俄罗斯之网红App。他利用神经网络(多层卷积神经网络)将图纸转换成一定风格艺术照片。利用图片风格转换算法,我们可以用一个图形放入以及教练好的神经网络模型进行预测结果得到风格大相径庭,独具特色的图样。随着iOS11苹果推出了CoreML,我们可非常自在将训练好的这些风格转换模型转换成苹果之CoreML
Model,并使是模型来开展图片风格转换。

图形风格转换 @Prisma

题目:Texture Networks: Feed-forward Synthesis of Textures and Stylized Images

2. 图片风格转换算法介绍

  2015年,德国科学家 Gatys等丁发表一篇名叫也《A Neural Algorithm of
Artistic
Style》的舆论,打开了神经网络在图像艺术创作的大门。作者以VGG16型对同一张原图(Content
Image)和平等摆放风格图(Style
Image)分别开展图像特征提取。通过使用对少栽特性构造损失函数,对同摆初始化图片展开损失价值计算并反馈重绘图像得到生成图(Generated
Image)。但是是算法每一样浅异常成一布置图都用进行相同糟网络训练,需要消耗的时日较丰富。斯坦福大学的Johnson[6]等于丁提出了飞风格转移算法,训练一个网络,对于随意一布置图纸都可转换成网络对应的品格。快速更换算法包含两个网络。一个吗图转换网络(Image
Transform Network),一个吧损失网络(Loss
Network)。在教练等采用大量图片用单薄独大网展开训练得模型,在输出等套用模型将结果进行输出得到生成图。他们得出的纱相对Gatys的型得到生成图的速度快齐三个数据级。我们在iPhone上开展图片风格转换的早晚可行使Johnson的法迅速的生成风格图片,当然使用Gatys的计呢是可以的,但是在生成图片的时会耗费又多之上。

迅猛风格迁移算法

  上图就是凡迅速风格迁移算法的完好布局图,该算法包括图形转换网络以及损失计网络。其中图片转换网络是一个大抵重合卷积神经网络,它以一律摆放输入的原图片转换成为同布置生成图片。损失计网络是一个VGG-16网络,用于计算图片转换网络生成图片对于我们输入的风格图和原图之间的损失大小。通过计算生成图与原图的情损失和生成图与风格图的作风损失大小来判断生成图的色。通过不停精打细算来减损失,反向传播及图片转换网络并对其展开优化,最终得到合格的图纸风格转换模型。而此模型就足以为我们不停用来开展图片及现实某个平作风的变。

澳门1495 1

3. CoreML介绍

  CoreML 是 Apple 今年 WWDC
新推出面向开发者的机械上框架。如果我们来一个MLModel我们好好的使Model进行结果的预计,所有的MLModel都见面时有发生以下结构。

MLModel结构

  一般一个MLModel文件会包括MLInput,MLModel,MLOutput三有的,我们拿数据封装成为Input并交给受MLModel,模型会进行结果预计并出口预测结果Output,我们再度用预计的结果转换成为我们得之数据类型。

效果图

4. 代码实现

  CoreML对图片的处理都要用图纸转换成CVPixelBufferRef数码,这里提供相同段子UIImageCVPixelBufferRef的代码。

CVPixelBufferRef转换代码

  将图片转换成为CVPixelBufferRef事后放入模型进行处理生成Output并获结果,结果为是一个CVPixelBufferRef的数据。

Output

  所以这里我们尚需要以CVPixelBufferRef转回去UIImage,具体的兑现代码如下:

image.png

又多具体的代码见项目。

澳门1495 2

5. 细节优化

  • 章地址:arXiv:1603.03417.《Texture Networks: Feed-forward
    Synthesis of Textures and Stylized
    Images》
  • Github链接:https://github.com/DmitryUlyanov/texture\_nets
5.1 合成图生成效应转换

奇迹我们见面看合成图的效力并无乐意,如下面的演示图1跟2,我们可以看2就跟1差异颇之死了,一定程度上我会觉得风格过度了。这个时咱们好透过调整合成图的意义来换取整体构图之完整性,比如说图3的风骨才发生50%。我们得以看到图3成如会更具体而而生非常风味。此外还好透过调整对比度,颜色饱和度来调整构图,这里就需要依据图片消耗又多之日了。

示例图 @Fzliu

(转载请注明出处:[译] 纹理网络:在前馈网络被展开纹理合成与作风化
(zhwhong) )

5.2 合成图颜色转换

图表风格转换在我看来有几许凡例外而呢是致命的,那就算是颜色之迁。我么可以望在示例图2受到,合成图是利用梵高的星空转换出来的图纸,整体图片纹理以及颜色进行了变更。这个时节要我们想保留原图的水彩如未知合成图的纹理,就得使用YUV颜色空间进行更换。

示例图2

YUV是图片的同一种多少格式,YUV中的“Y”表示图片的知程度;“U”代表色度,也号称饱和度;“V”代表浓度。从YUV的示例图我们可以充分懂得的看他们的求实意思。

YUV示例

以此间我们可见见中U以及V可以生好代表图片的颜色,而Y代表了图片的大多数内容。因此我们得移植原图的U以及V到合成图上,就好获得示例图2受的水彩转换合成图了。


6. 运行条件

  • Mac OS 10.12.6
  • Xcode 9 beta 6
  • Python 3.1
  • Tensorflow 1.0
  • Keras 2
  • Coremltools 0.4.0

Abstract

摘要:Gatys
等人多年来认证,深度网络可生出良好的纹路,也可以为此纯的纹理样例来风格化一布置图纸。然而,他们的措施需要通过一个经久而太占内存的梯度下降优化过程。我们以是提出一个替的方式,可以把计算的担当转移至一个单独的读书阶段。给一定一个纹理样例,我们的点子能够训练一个紧凑的前面馈卷积网络来挺成多只同之纹理任意大小的样品,并以一个加以的图像转换成所有艺术风格的另一个图像。此结论的网是可怜轻量级的,但好生出质媲美
gatys
等人的纹路,且提升了数百倍之速。宽泛的游说,我们强调的故繁体且具有表现力的代价函数来训练前馈网络模型就等同方,是老有力以及享有灵活性的。

7. Demo

此我拿长存的品格转换模型集合在一起写了一个品格转换Demo,具体可以展现截图:

shoot1.jpeg

shoot2.jpeg

shoot3.jpeg

shoot4.jpeg

shoot5.jpeg

shoot6.jpeg

Demo地址:https://github.com/kingandyoga/StyleTransfer-iOS

一.简介

一些以来的办事证明深度神经网络在面临图像方面的挑战时凡怀有得天独厚能力的。大部分底变通网络是用随意种子开始开前馈计算,而Gatys等人察觉了酷让人触动的结果,通过对网进行描述性的钻,比如图像统计。他们之底想法是减图像生成的自由取样以配合确定的统计特征。在纹理合成这块,参考数据是一个纯粹的可见纹理图,目标是生一个欠纹理的样例图。在风格化这块,目标是又兼容的首先图像的品格,(用一些小级别之统计数据来捕获),和亚图像的情节(用高档别的统计数据来捕获)。通过这种办法,一个图像的作风好以匪转移内容之前提下被其他一个风格取代。

相当统计特征的行事在实践中表现对,概念上是略的,且实验验证,用在图像分类等问题及之备的神经网络(如VGG)可以直接以来开图像的出。然而Gatys等丁纪念的此方式吧是发生短板的,建立在梯度下降漫长迭代的基本功及的方案,必须借助反向传播之过程来逐步改变像素点的价值,直到出现期望之布。这样迭代的经过还是在GPU上且待几秒钟去有一个挺有点尺码的图,换成特别尺寸图片后尚可能面临内存不够用的题材,需要占用更多之内存。而同之并行对立,本文提出的前馈网络生成器则还胜似效率,因为它仅仅需要一个简便的简便的对纱求值,不需负反向传播时的昂扬代价。

每当当时首论文被,我们要关注前馈网络生成器在纹理合成和图像风格化方面的力。我们的办事至关重要汇集在三单部分,第一,我们首涂鸦验证前馈网络生成器的方式会生出质及多样性和Gatys等人口提出的法子相媲美的效力。第二,我们提出的更动方法会做到少只数据级的涨价与一个数量级的内存效率提升。用一个纯的严谨的前馈网络带来的胜性能,促使我们来力量去用风格化转移到视频及手机采用达到。第三,我们设计了一个非常适合风格化任务的多尺寸生成器结构。

透过有的了卷积网络(即我们誉为纹理网络)可以转变任意大小的纹路和拍卖任意大小的图像。我们的办法吧象征了一个有趣的训练概念,即简单的前馈架构配上复杂且有表现力的损失函数。我们信任,其他组成部分有意思之结果,可以运用这个条件来闹。

这篇论文里之另外部分,讲述了图像以及纹理生成技巧的概述(Sect2),详细描述了咱们的不二法门(Sect3)提供了以大面积的发出挑战性的纹理集图片上的恢弘(Sect4)

8. 参考文献

  • [1]. Ethan Chan and Rishabh Bhargava. Show, Divide and Neural:
    Weighted Style Transfer[D]. Stanford University,2016
  • [2]. Leon A. Gatys, Alexander S. Ecker,Matthias Bethge. A Neural
    Algorithm of Artistic Style[D]. Germany,2015
  • [3]. Justin Johnson, Alexandre Alahi, Li Fei-Fei. Perceptual
    Losses for Real-Time Style Transfer and Super-Resolution[D].
    Stanford University,2016
  • [4]. Leon A.Gatys, Matthias Bethge, Aaron Hertzmann, Eli
    Shechtman.Preserving Color in Neural Artistic Style
    Transfer[D].Germany,2016
  • [5]. Apple Core ML documentation
    (https://developer.apple.com/documentation/coreml)
  • [6]. Style Transfer
    Sample(https://github.com/fzliu/style-transfer)
  • [7]. MLModelZoo

二. 背景与有关工作

1.用神经网络产生图片

相似景象下,生成一个图像x的过程,可以当做从一个特定的分布P(x)开始之样品绘制问题。在纹理合成部分,一个分布是出于同样摆放纹理样例x0确定的,因此我们可以拿纹理合成的进程写作:

澳门1495 3

以作风转换上,这个一定的遍布是出于同摆放表示风格的图像X0和第二布置表示可见内容的图像X1共同决定的,所以可以用作风转换的历程记否:

澳门1495 4

(Mahendran & Vedaldi,2015;Gatys et
al.,2015a;b)将是题材简化成一个找到一个具有特征的优先图片,构成一个梯度下降之问题。尤其是,为了从一个样例图片X0综合一个纹理,预图片可以象征也:

澳门1495 5

关键的凡先期图片:

澳门1495 6

反复不是唯一的,预采样是满载多样性的,在实践中,样品采用部分优化算法从随机初始化Z出发,生成的图像就是函数的输出:

澳门1495 7

如此的结果是一个遍布:

澳门1495 8

深不便描述,但挺易采样,有大好统计特征,能起让人欢乐的视觉效果和多元化的图像。(Mahendran
& Vedaldi,2015)和(Gatys et
al.,2015a;b)都将她的统计数据建立以深度神经网络层的响应上。我们的不二法门复用了Gatys提出的因特征图谱之间联系的方式。

2. 描述性纹理建模

其一措施所讲述的点子和博老牌的视觉纹理模型产生很强的联络。对于纹理,它是广阔的假设—-P(x)是一个永恒的马尔可夫以机场(MRF)。既然这样,纹理是遍历的,人们呢会见设想当地空间不变换统计。

澳门1495 9

内i表示空间坐标,F通常是相同组线性滤波器的输出。ψ是一个直方图算子。然后,空间平均本地统计的原型纹理x0接近该样本平均数:

澳门1495 10

Zhu等丁得框架模型用了是谜底归纳出最为酷接力熵分布

澳门1495 11

λ是参数,来配合他们之经验估计。

澳门1495 12

这个框架的败笔在于从极度深熵分布取样很窘迫,要缓解这个限制,需通过直接找到匹配所要的统计的图像X来配合。
zhu等丁采用线性滤波器,小波和直方图来建他们的纹路统计,(Mahendran&Vedaldi,2015;Gatys
et
al.,2015a;a)通过预训练的吃水网络取统计信息,不同的凡,他们当风格化不是纹理合成的题目。

3. 生成器网络

一个选项是以神经网络作为描述器,构建生成器网络X =
G(z)直接将一个即兴或显参数Z向量当作输入来发图片。如(dosovitskiy
et
al.,2015)的艺术,学习之投从明确参数Z(例如拍摄对象的品类以及见地)的图像,这是通过尽量拟合神经网络来减少

澳门1495 13

的区别,对于已经知晓之图片参数组(Xi,Zi),虽然就或许出视觉上颇有吸引力的结果,但它们用提前了解(x,

z)之间的涉并无能够支撑多样性。另一样种方法是考虑一个函数g(Z),参数Z是雾里看花之,并从(简单)随机分布着采样。网络的目标是以这些随机值映射到如同是如果不的图像x

G(Z)。这虽用我们衡量样品的质量,这一般表示为X和同一组示例图像X1之间的距离X1~Xn。关键之挑战是离开要能包括明显可用的例证,以护样本的多样性。生成对抗网络(GAN;(Goodfellow
et
al.,2014))解决了是问题,通过训练,结合生成器网络g(z),第二相持网络f(x),试图区分样本g(z)和当图像样本。然后f可以叫用来作一个权质量之样品,
g可以让教练来优化其。LAPGAN(Denton et
al.,2015)把GAN以以及了一个卷积网络的拉普拉斯金字塔,DCGAN(Radford et
al., 2015) 进一步优化了转移对抗网络GAN,从杀大的数量集中学习。

4. 矩匹网络

最为可怜熵模型(Zhu et
al.,1998)与无限可怜的平分差(MMD)的价值观密切相关(MMD)在(Gretton et
al.,2006)中兼有介绍。关键是着眼某个确定分布之预期值

澳门1495 14

找寻有独一无二的规定分布p,从她派生的损失函数通过比网络样本的统计平均值

澳门1495 15

的章程来顶替GAN。他们之所以其失去训练矩匹配纱(MMN)并且采用它产生多少的图纸(例如手写数字集),我们的网络接近于矩匹配网络,不过用了十分突出之统计并且考虑了跟Li等人全不同的行使。

三.纹理网络

俺们今天详细描述本文所提出的道。在比高层次来拘禁(见图2),我们的措施是训练一个前馈的生成器网络G(generator
network),采用噪声样本Z作为输入并生成纹理样本g(z)作为出口。对于作风的转换,我们扩张这个纹理网络,同时用噪声采样Z和内容图像Y,然后输出一个初的图像g(y,
z)此时纹理已被下到Y作为一个凸现的风骨。每一个纹理要风格都设训练一个独的的生成器网络,一旦训练好,它好经一个灵光之前馈的法,合成任意数量的妄动大小的图像。在训练之生成网络g时之一个重中之重挑战就是是构建一个损失函数,可以自行评估所产生的图像的品质。例如,GAN的核心思想是透过生成器网络来读之损失。我们以Sect
3.1显示了一个颇强大的损失函数可以自预先训练好的一定网络被引入统计描述来赢得,正如(gatys
et
al.,2015a;B)中所显示。考虑到损失,我们对接下讨论生成器网络的架,用于纹理合成(Sect
3.2)并拿该推广至图像风格化(Sect 3.3)。

澳门1495 16

祈求2所提出的架构的概述(纹理网络)。我们训练一个生成器网络(左),使用的代价函数是根据一个原则性的事先训练的叙述符网络(右)的超强大的代价函数。在少独网被,只有左手的生成器网络以叫更新,并且于以后被用于纹理要图像合成。卷积块包含多只卷积层和非线性激活和采样及通道的连续。生成器网络的差分支操作以不同的局面,是由于尺寸不同之噪声张量激活而来。

3.1 纹理和内容代价函数

我们的代价函数来自于Gatys等人之舆论,比较图像数据是经一个预先训练好之CNN(一般是VGG系列的同缓)来衡量的,这个预训练好之CNN本来是供图像分类的。这个描述器CNN在这所以来衡量纹理原型x0和生成图片x之间的免配合程度。用

澳门1495 17

表示第i单特征通道,通过描述器中第l重叠的卷积层在图片x上之变现得出。矩阵

澳门1495 18

被定义为特点图片的内积

澳门1495 19

设想到此网络是一个卷积网络,要算而针对性另岗位的特征i, j 做计算。因此

澳门1495 20

富有一致的貌似结构,作为当地固定特点的无序的统计,是得当作纹理描述符存在的。在尝试中,Gatys等丁就此饱含VGG中一些交汇的矩阵集合来衡量纹理特征,这样于图x和纹理x0之间的底代价就是因此下式计算:

澳门1495 21

除却纹理上之反差(texture loss),Gatys还因此了一个content
loss(由Mahendran& Vedaldi,2015蒙受提出),这个content
loss比较了图以某某确定的卷积层上之出口(不计进一步的统计数据如矩阵)

澳门1495 22

Nl是特色通道在VGG第l层的通道数,与纹理差距相比最要紧之不同之处在于:内容差距保留了原图的上空位置信息,因此这种Loss函数更称代表内容信息一旦休是纹理信息。类似于Gatys等人口,我们将祭纹理损失(style
loss)配合训练纹理合成用的生成器网络,我们采取一个纹理损失(style
loss)和内容损失(content
loss)的加权澳门1495组合,配合训练用来开图像风格化的生成器网络。在后世的状况下,内容层不应当保留与纹理层一样浅层的物,只有高层的始末应受保留。

3.2 生成器网络的纹理合成

咱现谈论用于纹理合成的生成器的布局以及教练过程,把生成器网络的参数记为θ,这个网络让教练成用来讲一个噪音向量z转换成为一个出于纹理确定的分布Z。

澳门1495 23

网络布局:咱们尝试了一些栽结构用来举行生成器网络g。最简单易行的凡如出一辙串卷积,非线性激活和及采样层,从一个噪声向量z起点,终止于打造产生同张图片。虽然这种类型的范能出合理的结果,我们发现,多规格架构的结果具有更粗的纹路损失以及另行好之感知质量,同时采取比较少的参数以至于训练进度又快。图2涵盖了咱们的多规格架构的一个赛层次之代表,将以后详细介绍。纹理X0凡一个tensor,shape=(M,M,3)包含了三独颜色通道,为了计算简单,假而分辨率M是2之幂,输入的噪声z是出于K个随机tensor
zi组成,

澳门1495 24

,我们一再用M=256
K=5,这个K个tensor都是独立与分布之,均匀分布的抽样。每个随机噪声张量是由于同样排列卷积和非线性激活层首先处理,然后简单少达到采样,再作附加通道连接于同,最后都分辨率的张量最终用一个1×1之滤镜映射到RGB图像x上。在图2丁,每一个卷积块都带有了三个卷积层,每个层都跟着一个Relu激活层,这些卷积层分别吗3×3,
3×3
和1×1底感受野。步长stride为1,用循环卷积来解决边缘问题,这个非常抱用来纹理。特征图谱的数量,等于filter的数量,从太小8通道及绝深40坦途,参数个数为65K横,可以减小至占300kb内存。上采样层之所以了简易的太接近插值(我们尝试了咸卷积,效果不好),我们发现批量刚则化层能大酷之助力训练。就置身每个卷积层的末端,重要之是,还要在连接层前面,因为沿着不同网络来的梯度需要经过批量正则化来平衡一下。学习:念优化的长河用了随机梯度下降(SGD)算法,在各级一样软迭代时,SGD绘制一个稍稍批量之噪声向量zk,对转移的纱展开前为评估,得到相应的图像

澳门1495 25

,利用描述器网络对那个进行评估,获取纹理矩阵

澳门1495 26

,最终计算Loss。(要明了

澳门1495 27

)是原则性的)在此之后开始倒转往传播,生成器的参数在倒为传来时做计算,根据纹理损失及的梯度用来更新参数。LAPGAN也就此了大半规格的法门,不过大凡分段进行训练之,然而我们的生成器是端到端的于教练。

3.3图像风格化

为了将这艺术运用至图像风格化上,我们举行了片转移,第一,这个生成器网络

澳门1495 28

会晤受修改成:输入一个噪音变量z和一个图片y的叠加,网络让教练成输出一个图像x,x在内容上靠近y,在作风及靠近x0。举个例子,y可以是某的肖像,x0可以是均等布置印象使名画。网布局:组织跟用来开纹理合成的凡同样的,唯一的重中之重区别就在,噪声向量zi,i=1K,要把输入图片y做为额外的通道联结上去(对y进行下采样获取不同尺寸),我们后来发现,把K从5改成6会带来更好的结果。\*\*学习:\*\*学习的过程是采样噪声向量ziZ自然图像yi~Y,然后调整生成器的参数θ,使得content
Loss和 style loss的同无限小:

澳门1495 29

此地Z是和纹理合成时同样分布之一个噪声。Y是当图像的阅历分布,α是一个百分比参数,为texture/style和content的比重。在训练中,我们发现上令人奇怪之非常容易过拟合,而且其可近似于本图像y的分布,在一个生小的图像池中。事实上,我们的结果负比较有质之且因此了众的样例图片,我们拿这么的实归纳为:卷积结构以当地操作,因为有着同样之一对组织,只是图像Y、内容风格比例在转变,所以对地方操作来说,想只要配合有的纹理会非常的困难。尽管发生如此的范围,所来的风格化的图像通常发生大好的感知质量,虽然小风格我们真正不容许通过优化原有的措施来得到好结果。

澳门1495 30

Figure 3  与Gatys的法力比

四. 实验记录还多的技术细节

生成器网络的权重用Xavier的办法初始化,训练用Torch7实现Adam,迭代2000次于,初始的读书速率为0.1,迭代1000差后开始因为各国200差0.7的比重衰减。batch-size设置也16。和Gatys的论文被说的一律,纹理损失texture
loss用{‘relu1_1′,’relu2_1′,’relu3_1′,’relu4_1′,’relu5_1’},VGG19模,内容损失用{‘relu4_2’}。完全训练好一个模需要少独小时,用NVIDIA
Tesla
K40,如果一味待取可接受的结果,则需要之时刻另行缺乏,只待很少的迭代。

纹理合成:咱拿咱的方以及Gatys做了一些比,我们还和DCGAN比了,还同还同Portilla比了。图4展现了当下四栽方式较过后的结果,从质量达到的话,我们的生成器CNN和Gatys的结果是差不多的,比另外两栽方式发生的成色而好。然而生成器CNN更加的大效率(看Sect4.1),图1连了重复多之于(生成器网络及Gatys及其余办法的相比)

澳门1495 31

Figure 4  四栽方法在纹理合成上之自查自纠

作风转换:训练集,自然图像是由ImageNet
ILSVRC2012底多寡集中随机抽取的。至于Gatys等人口得俗方法,我们发现风格化的结果是指向α比例不行灵动的(style/content的比重)。在测试的时候是参数在咱们的法子被不可知调整,但是我们发现这比例仍然可以透过调整输入噪声z的轻重缓急来调动(看图5)

澳门1495 32

Figure 5  输入噪声z占比的调动

咱俩拿咱的计和Gatys比较了,用了片作风与情节图片,发现结果是很有可比性的。有代表性的于,包括固定参数,是包括以图3受的,更多之补偿材料,其他质量报告的结果记录在了图7中。

4.1 速度及内存消耗

咱俩管我们的道及迭代优化的计较快,通过权到达指定loss时每艺术要多少时间。图6亮了迭代优化的不二法门需要横10秒钟去出一个样品x,而我辈的方法就需要20ms,达成了500加倍提速,这能怪好的支持部分就算经常以比如视频拍卖。产生这样斐然的差异有少单因:1.生成器大网比VGG19微太多,所以每次迭代的时如果尽早之大半,我们的方要一个独立的网来评估,通过避免倒朝传来,我们的道吗减少了很多内存需求,我们的措施变256×256底图形消耗256MB,
Gatys消耗1100MB。

澳门1495 33

五. 讨论

咱俩提出了一个新的深度上方法的纹理合成和图像化的合计,显而易见的,这个点子可以用来闹有繁杂纹理及图片,用前馈网络的艺术。能跟运用反向传播的Gatys的方式有同样搞得色。这个思路的打响在于突出了前馈网络以纷繁数据变动、复杂问题迎刃而解及之合适性。这无异于成功的根本是使用复杂的损失函数,设计不同之前馈架构,作为“专家”评估的前馈生成器的性。因为我们的艺术赢得了起良好职能的纹路合成,今后咱们计划研究更好之损失函数来被纹路质量更好,实现了又使得人印象深刻的结果。

澳门1495 34

Reference

澳门1495 35

澳门1495 36

澳门1495 37

补给资料

澳门1495 38

生成器结构

澳门1495 39

澳门1495 40

澳门1495 41

澳门1495 42

澳门1495 43

左手第一排列是style,上方第一实践是content

澳门1495 44

256×256怪小训练的,但足就此来转任意尺寸的图

澳门1495 45


(注:感谢您的开卷,希望本文对您拥有助。如果以为对欢迎分享转载,但要先点击
这里
获取授权。本文由
版权印
提供保护,禁止其他款式之莫授权违规转载,谢谢!)

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图