编程之美5,图片右上角加上1,java版本

个人水平比较次,没太计算好数字的位置,但看了大家写的都不是java版本的就写了一个残次的java版本,总比一个帖子下没有java写的强一点。
效果图


代码如下:
package years.year2016.months11;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Date;

import javax.imageio.ImageIO;

public class Day29 {
	public static void main(String[]args){
		System.out.println("---start---");
		Date start = new Date();
		String srcImagePath = "D:\\图片整理\\test\\t1.jpg";
		String toPath="D:\\图片整理\\test\\t1_2.jpg";
		try {
			drawImageToTopRight(srcImagePath, toPath, 15);
		} catch (Exception e) {
			e.printStackTrace();
		}
		Date end = new Date();
		System.out.println("---end---运行时间:"+(end.getTime()-start.getTime()));
	}
	/**
	 * 在图片右上方画一个直径为图片高度四分之一的圆,并在圆的***写上数字或者其他把内容
	 * @param srcImagePath
	 * @param toPath
	 * @param content
	 * @throws IOException 
	 */
	public static void drawImageToTopRight(String srcImagePath, String toPath,
			int num) throws IOException {
		if(num>9){
			System.out.println("比较笨只会1到9");
			return;
		}
		String content = num+"";
		
		FileOutputStream fos = null;
		try {
			//获取原图片
			BufferedImage image = ImageIO.read(new File(srcImagePath));
			Graphics2D g2d = image.createGraphics();
			g2d.setColor(Color.RED);//红色圆
			int diameter = image.getHeight()/4;//圆的直径
			int fontSize = diameter;//字体大小
			int image_width = image.getWidth();
			int x = image_width-diameter;//圆圈的起始点x坐标
			int y = 0;//圆圈的起始点x坐标
			int f_x = image_width-diameter/2-diameter/4;//文字的起点x坐标
			int f_y = diameter*5/6;//文字的起点y坐标
			g2d.fillOval(x, y, diameter, diameter);//画圆圈
			g2d.setFont(new Font("宋体",Font.PLAIN,fontSize));//设置文字样式
			g2d.setColor(Color.WHITE);//设置文字颜色
			g2d.drawString(content, f_x, f_y);//写字
			fos = new FileOutputStream(toPath);//输出文件
			ImageIO.write(image, "jpg", fos);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			if(fos != null){
				fos.close();
			}
		}
	}
} 


#Java工程师#
全部评论
数字没居中啊
点赞 回复 分享
发布于 2016-11-29 18:52
6666666
点赞 回复 分享
发布于 2016-11-29 18:20
棒!
点赞 回复 分享
发布于 2016-11-29 17:35

相关推荐

我就是0offer糕手:北大不乱杀
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务