步骤一,下载优速水印工厂后安装打开,点击左边三个功能中的【图片水印】功能,然后点击【添加文件】按钮或软件空白处,将需要添加水印的图片导入到软件中,如果批量导入一起加水印,提高效率
步骤二,接下来设置水印,水印类型选择“文字水印”或“图片水印”,数量为“多个”。然后设置水印文字或图片,再设置参数。想要水印铺满图片,就调整水印的密度,通过行数和列数来调整水印的数量。可以在上面对设置的水印效果进行预览,点击图片可放大预览。
步骤三,预览没有问题的话,就点击【开始转换】按钮,启动软件程序,当所有图片成功添加好水印后,软件会d出成功的提示框,点击提示框上的蓝色按钮就能查看添加水印后的图片了。
步骤四,可以看到图片成功加上了设置的文字水印,并且铺满了整个图片,非常的整齐。
拿到源图片,根据源图片尺寸调用UIGraphicsBeginImageContext方法将源图片绘制在画布上。
要想绘制出倾斜任意角度的文字首先我们需要将画布倾斜,这样画出来的文字可以和没有倾斜的图片形成角度对比,给人感官上文字是倾斜的。
Demo中采用CGContextConcatCTM方法旋转画布,但是笔者查阅资料发现该方法并不是绕着中心点旋转,而是绕着绘制原点(也就是初始值0,0)旋转。所以转出来是这样的效果。
如果在这样的画布上绘制水印很明显不是我们想要的。所以我们先将绘制原点平移到源图片区域的中心点,然后旋转角度,最后在按照之前平移的X轴,Y轴数据反方向平移回去。这样就能保证旋转完画布的中心点和源图片的中心点在同一位置。
注意:在旋转过后当前画布的X轴,Y轴方向也跟着旋转,所以再次平移可以回到中心点。
这样我们得到了一个倾斜的画布开始绘制文字就可以了,还需注意如果我们还按照源图片大小的区域去绘制水印文字难免会有空白的地方(我们不知道水印要旋转多少度),所以我们要保证不出现空白,采用以源图片中心点,长宽为源图片对角线长度的绘制区域。这样无论旋转多少度都不会出现空白。如下图:
Core Graphics是一个古老的基于C的绘图专用API,也被称为QuartZ或QuartZ 2D,是一个二维绘图引擎。真如我们所知UIView底层都是覆盖着一层CALayer,而这个CALayer正是在/System/Library/Frameworks/QuartzCore.framework中定义,所以几乎所有的UI控件都是基于Core Graphics完成的。想要自定制UI组件Core Graphics是个很不错的选择。当然还有基于它封装的上层API UIBezierPath。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)