|
|
@@ -13,6 +13,7 @@ import javax.imageio.ImageIO;
|
|
|
import javax.imageio.stream.ImageInputStream;
|
|
|
import javax.imageio.stream.ImageOutputStream;
|
|
|
import java.awt.AlphaComposite;
|
|
|
+import java.awt.BasicStroke;
|
|
|
import java.awt.Color;
|
|
|
import java.awt.Font;
|
|
|
import java.awt.Graphics2D;
|
|
|
@@ -20,6 +21,7 @@ import java.awt.Image;
|
|
|
import java.awt.Point;
|
|
|
import java.awt.Rectangle;
|
|
|
import java.awt.RenderingHints;
|
|
|
+import java.awt.Stroke;
|
|
|
import java.awt.Toolkit;
|
|
|
import java.awt.color.ColorSpace;
|
|
|
import java.awt.geom.AffineTransform;
|
|
|
@@ -554,6 +556,45 @@ public class Img implements Serializable {
|
|
|
return this;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 描边,此方法为向内描边,会覆盖图片相应的位置
|
|
|
+ *
|
|
|
+ * @param color 描边颜色,默认黑色
|
|
|
+ * @param width 边框粗细
|
|
|
+ * @return this
|
|
|
+ * @since 5.4.1
|
|
|
+ */
|
|
|
+ public Img stroke(Color color, float width){
|
|
|
+ return stroke(color, new BasicStroke(width));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 描边,此方法为向内描边,会覆盖图片相应的位置
|
|
|
+ *
|
|
|
+ * @param color 描边颜色,默认黑色
|
|
|
+ * @param stroke 描边属性,包括粗细、线条类型等,见{@link BasicStroke}
|
|
|
+ * @return this
|
|
|
+ * @since 5.4.1
|
|
|
+ */
|
|
|
+ public Img stroke(Color color, Stroke stroke){
|
|
|
+ final BufferedImage image = ImgUtil.toBufferedImage(getValidSrcImg());
|
|
|
+ int width = image.getWidth(null);
|
|
|
+ int height = image.getHeight(null);
|
|
|
+ Graphics2D g = image.createGraphics();
|
|
|
+
|
|
|
+ g.setColor(ObjectUtil.defaultIfNull(color, Color.BLACK));
|
|
|
+ if(null != stroke){
|
|
|
+ g.setStroke(stroke);
|
|
|
+ }
|
|
|
+
|
|
|
+ g.drawRect(0, 0, width -1 , height - 1);
|
|
|
+
|
|
|
+ g.dispose();
|
|
|
+ this.targetImage = image;
|
|
|
+
|
|
|
+ return this;
|
|
|
+ }
|
|
|
+
|
|
|
// ----------------------------------------------------------------------------------------------------------------- Write
|
|
|
|
|
|
/**
|