Java 图片剪切、水印、旋转、格式转换

Java 图片剪切、水印、旋转、格式转换


首先对于刚刚接触Java的朋友们,图片的处理可能是一个难点,因为可能大家在之前的培训或者工作经历中没有接触过相似的需求,这里我为大家总结了一些关于图片处理的一些代码。

<!-- 首先我们使用了net.coobird.thumbnailator的jar包 -->
<dependency>
	<groupId>net.coobird</groupId>
	<artifactId>thumbnailator</artifactId>
	<version>0.4.8</version>
</dependency>

/**
 * TODO:在这里我是将这个图片处理写成工具类的形式,方便以后使用的时候方便调用
 * ImgUtils
 * @author Mr.Zhang  
 * @date 2019年10月8日  
 * @version 1.0
 */
public class ImgUtils {
   
	/**
	 * @ClassName SpecifiedSize 指定图片大小进行剪切修改
	 * @param imgPath 需要修改的图片路径&nbsp;(此处需要加上图片名称。例: C:/img/SpecifiedSize.png)
	 * @param outPath 输出到指定位置&nbsp;(此处需要加上图片名称。例: C:/img/SpecifiedSize.png)
	 * @param height 指定图片高度
	 * @param width 指定图片宽度
	 * @throws IOException
	 */
	private void SpecifiedSize(String imgPath,String outPath,int height,int width) throws IOException {
   
		/*
		 * size(width,height) 若图片横比width小,高比height小,不变 若图片横比width小,高比height大,高缩小到height,图片比例不变
		 * 若图片横比width大,高比height小,横缩小到width,图片比例不变 若图片横比width大,高比height大,图片按比例缩小,横为width或高为height
		 */
		Thumbnails.of(imgPath).size(width, height).toFile
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
是的,Java可以通过Java 2D API中的AffineTransform类来实现图片旋转。该类可以用于对复杂的变换进行建模,其中包括旋转,平移,缩放和剪切等变换。 下面是一个简单的Java代码示例,演示如何将一张图片旋转指定角度: ```java import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.File; import javax.imageio.ImageIO; public class ImageRotationExample { public static void main(String[] args) { try { // 读取原始图片 BufferedImage originalImage = ImageIO.read(new File("path/to/image.jpg")); // 创建一个空白的旋转后的图片 BufferedImage rotatedImage = new BufferedImage(originalImage.getWidth(), originalImage.getHeight(), BufferedImage.TYPE_INT_ARGB); // 获取旋转对象 Graphics2D g2d = rotatedImage.createGraphics(); // 旋转角度(单位:弧度) double rotationAngle = Math.toRadians(45); // 计算旋转中心点 int centerX = originalImage.getWidth() / 2; int centerY = originalImage.getHeight() / 2; // 创建变换对象并进行旋转 AffineTransform transform = new AffineTransform(); transform.rotate(rotationAngle, centerX, centerY); g2d.setTransform(transform); // 在旋转后的图片上绘制原始图片 g2d.drawImage(originalImage, 0, 0, null); g2d.dispose(); // 将旋转后的图片保存到磁盘 File output = new File("path/to/rotated-image.jpg"); ImageIO.write(rotatedImage, "jpg", output); } catch (Exception ex) { System.out.println("发生了一个错误:" + ex.getMessage()); } } } ``` 上面的代码将读取一张图片,将其旋转45度,然后将旋转后的图片保存到磁盘上。您可以根据需要修改代码中的旋转角度和图片路径。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值