批量创建+编辑图像

时间:2013-06-17 16:11:50

标签: image-processing canvas imagemagick html5-canvas photoshop

我目前使用photoshop +数据集自动创建CTA按钮,以便在客户端网站上进行测试。数据集通常包含文本和其他更改,如下划线或背景颜色,以及对齐和字体格式。

通常这些可能会遇到成千上万,photoshop处理得非常好,但任务是技术性而非图形化。对我来说,Photoshop的任务太过分了。

是否有人知道更符合代码的解决方案?我目前在HTML和fabric.js上使用canvas。这允许我操作模板图像,我希望我可以管道代码来创建一些.png输出图像。

1 个答案:

答案 0 :(得分:0)

Canvas非常适合您的自动化

首先,创建一个基本.png,然后以数千种方式以编程方式对其进行更改。

将结果保存到适当命名的.png文件。

您甚至可以创建一个动态创建数千种变体的屏幕查看器。客户端可以浏览动态创建的图像并选择他们感兴趣的变体。这将消除对数千个已保存文件的需求。

以下是可用于自动化的画布命令的开始:

应用文字:

context.font("italic 14pt Verdana");
context.textAlign = textAlign;              // left|right|center
context.fillText("anyText", x,y);

下划线只是有点棘手:

// use measureText to get the text width
var textWidth =context.measureText(text).width;    
// 1-time only, pre-calculate all the “Y” underline offsets for each font you use
var ULOffset=lookupULOffset(font,fontSize);
context.moveTo(x,y+ULOffset);
context.lineTo(textWidth,y+ULOffset);
context.stroke();

更改背景颜色或您为其创建子图层的任何其他内容!

与Photoshop Canvas一样,它拥有一套出色的合成操作。

  • 来源悬停
  • 来源型
  • 源出
  • 来源-顶上
  • 打火机
  • 异或
  • 目的地悬停
  • 目的地-在
  • 目的地出
  • 目的地-顶上
  • 较暗(由于某种原因,这已经被弃用了?)

在绘制任何画布形状时,绘制图层和alpha时也可以应用alpha。

此外,请在线查看为画布创建的许多图像过滤器。

那只是开始......

快乐自动化!