图片处理

图片合成

使用 ImageContainer 先设置背景以确定画布尺寸,再添加元素,调用 combine() 合成,最后输出。后添加的元素覆盖先添加的元素。元素 setter 不支持链式调用。

最小示例

需要带图片、文字、水印和二维码的完整示例?请阅读合成教程。

import com.ajaxjs.image.ImageContainer;
import com.ajaxjs.image.model.TextEmbedded;
import com.ajaxjs.image.model.constant.ImageFormat;
import com.ajaxjs.image.model.constant.ZoomMode;
import java.awt.Font;

ImageContainer container = new ImageContainer();
container.setOutputFormat(ImageFormat.PNG);
container.setBackgroundImage("background.jpg", ZoomMode.Origin, 0, 0);

TextEmbedded title = new TextEmbedded();
title.setText("Hello aj-image");
title.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 32));
title.setX(30);
title.setY(40);
container.addElement(title);

container.combine();
container.save("poster.png");

示例读取已有的 background.jpg,并保存为 poster.png。实际项目可替换素材和文字;输出父目录需要预先存在。透明背景和整图圆角请使用 PNG。

能够做什么?

当前限制

使用时需要了解的行为

combine() 只有全部绘制成功后才更新结果;再次合成失败时,上一次成功结果仍可输出。模糊在副本上计算,不会修改原图,也不会因平铺而反复累积。

下一步:图片工具与输出 · 返回首页