java制作海报工具类,java操作图片贴图,java给图片添加文字,调整字体颜色大小间距

工具类

java操作图片,给一个大图片贴小图片,给图片添加文字并调整文字颜色,大小,字体间距,把本地图片或者网络图片加载到缓冲区
主要方法:

  • imageIoRead方法,把图片加载到缓冲区
  • mergeImage方法,给一张图片贴 图片,并生成新图片
  • drawTextInImg给图片上写多行文字文字,自动居中,并可以调整字体间距。
    drawString调整字体间距
package com.img;

import java.awt.Color;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URL;

import javax.imageio.ImageIO;
import javax.swing.JLabel;
/**
 * 
 * 类名称:ImageUtil   
 * 类描述:   图片操作工具类    	把图片加载到内存,给图片 贴图,给图片添加文字
 * 创建时间:2021年7月30日 上午10:27:13   
 * @version
 */
public class ImageUtil {
   
   

	/**
	 * 解析本地图片或者http网络图片,并把图片加载到缓冲区
	 * @param path 图片路径(本地路径或者网络图片http访问路径)
	 * @throws IOException 抛出异常
	 */
	public BufferedImage imageIoRead(String path) throws IOException {
   
   
		BufferedImage bufferedImage;
		if(path.contains("http")){
   
   
			//网络图片
            bufferedImage = ImageIO.read(new URL(path));
        }else{
   
   
        	//本地图片
        	bufferedImage = ImageIO.read(new File(path));
        }
		return bufferedImage;
	}
	
	/**
	 * 给一张图片贴 图片,并生成新图片
	 * @param bigPath  底图路径
	 * @param smallPath 要贴的图片路径
	 * @param outPath  合成输出图片路径
	 * @param x 贴图的位置
	 * @param y 贴图的位置
	 * @param smallWidth 要贴的图片宽度
	 * @param smallHeight 要贴的图片高度
	 * @throws IOException 抛出io异常
	 */
	public void mergeImage( String bigPath,
							String smallPath,
							String outPath,
							String x,
							String y,
							int smallWidth,
							int smallHeight ) throws IOException {
   
   
        try {
   
   
        	//加载图片
            BufferedImage small = imageIoRead(smallPath);
            BufferedImage big = imageIoRead(bigPath);
            //得到2d画笔对象
            Graphics2D g = big.createGraphics();
            float fx = Float.parseFloat(x);
            float fy = Float.parseFloat(y);
            int x_i = (int)fx;
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

成年人的苦衷

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值