package draw;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import com.bejson.pojo.Face_list;
import com.bejson.pojo.JsonRootBean;
import test.FaceDetect;
import utils.GsonUtils;
public class drawFace {
public static void main(String[] args) throws IOException {
String url="D:\\test\\test2.jpg";
String url01="d:\\testt2.jpg";
//调用百度api获取参数
String resultkson=FaceDetect.faceDetect(url);
System.out.println(resultkson);
JsonRootBean rootBean=GsonUtils.fromJson(resultkson, JsonRootBean.class);
List<Face_list> list=rootBean.result.face_list;
int top=(int) list.get(0).getLocation().getTop();
int left=(int) list.get(0).getLocation().getLeft();
int width=list.get(0).getLocation().getWidth();
int height=list.get(0).getLocation().getHeight();
System.out.println("人脸位置:top"+top);
System.out.println("人脸位置:left"+left);
System.out.println("人脸位置:width"+width);
System.out.println("人脸位置:height"+height);
InputStream is=new FileInputStream(url);
BufferedImage image=ImageIO.read(new File(url));
Graphics g=image.getGraphics();
g.setFont(new Font("宋体",Font.BOLD,25));
g.drawString("年龄:"+list.get(0).getAge(), left,top);
g.setFont(new Font("宋体",Font.BOLD,20));
g.drawString("颜值:"+list.get(0).getBeauty(), left,top+height);
g.setColor(Color.green);
g.drawRect(left,top,width,height);
FileOutputStream out=new FileOutputStream(url01);
ImageIO.write(image, "jpg", out);
//创建窗口并显示标注好的人脸图片
JFrame f=new JFrame("FaceDetect");
f.setSize(image.getWidth(),image.getHeight());
f.setLocation(0,0);
f.setLayout(null);
JLabel label=new JLabel();
ImageIcon i=new ImageIcon(url01);
label.setIcon(i);
label.setBounds(0, 0, i.getIconWidth(),i.getIconHeight());
f.add(label);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
System.out.println("显示成功!");
}
}