首页 > 编程语言 >Java中可以使用Java AWT和Java Swing库来处理图片

Java中可以使用Java AWT和Java Swing库来处理图片

时间:2023-05-17 15:24:10浏览次数:41  
标签:Java image AWT BufferedImage new System File Swing import

以下是图片增删改查的示例代码:

  1. 图片的增加
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;

public class AddImage {
  public static void main(String[] args) {
    try {
      BufferedImage image = ImageIO.read(new File("original_image.jpg"));

      // 在图片上添加文字
      Graphics g = image.getGraphics();
      Font font = new Font("Arial", Font.PLAIN, 48);
      g.setFont(font);
      g.setColor(Color.RED);
      g.drawString("Hello, World!", 100, 100);

      // 保存修改后的图片
      File output_file = new File("modified_image.jpg");
      ImageIO.write(image, "jpg", output_file);
    } catch (IOException e) {
      System.out.println("Error: " + e);
    }
  }
}
  1. 图片的删除
import java.io.File;
public class DeleteImage {
  public static void main(String[] args) {
    File file = new File("image.jpg");
    if(file.delete()){
      System.out.println(file.getName() + " is deleted!");
    }else{
      System.out.println("Delete operation is failed.");
    }
  }
}
  1. 图片的修改
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;

public class ModifyImage {
  public static void main(String[] args) {
    try {
      BufferedImage image = ImageIO.read(new File("original_image.jpg"));

      // 修改图片大小
      int width = image.getWidth() / 2;
      int height = image.getHeight() / 2;
      BufferedImage resizedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
      Graphics2D g = resizedImage.createGraphics();
      g.drawImage(image, 0, 0, width, height, null);
      g.dispose();

      // 保存修改后的图片
      File output_file = new File("modified_image.jpg");
      ImageIO.write(resizedImage, "jpg", output_file);
    } catch (IOException e) {
      System.out.println("Error: " + e);
    }
  }
}
  1. 图片的查询
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;

public class QueryImage {
  public static void main(String[] args) {
    try {
      BufferedImage image = ImageIO.read(new File("image.jpg"));

      // 显示图片信息
      System.out.println("Width: " + image.getWidth());
      System.out.println("Height: " + image.getHeight());
      System.out.println("Type: " + image.getType());
    } catch (IOException e) {
      System.out.println("Error: " + e);
    }
  }
}

标签:Java,image,AWT,BufferedImage,new,System,File,Swing,import
From: https://www.cnblogs.com/rexaron/p/17408854.html

相关文章

  • 学习日记——初识JavaScript
    1.JS的组成和基本结构①JavaScript定义:(1)脚本语言(2)有一定的安全性(3)一种基于对象的一种语言(4)可以定义一堆的事件(方法/函数)并进行调用②组成部分: (1)EcmaScript:核心语法。Js前身(2)Dom(文档对象模型)(3)Bom(浏览器对象模型)③JavaScript基本结构<scripttype="text/javascript">alert();......
  • Java课程设计
    中药药效评估系统需求分析1.应用场景该系统主要应用于中药材的特性分析、成分分析、药理学研究、药效评估等领域。通过该系统,研究人员可以方便地获取中药材的相关信息,并进行数据挖掘和机器学习算法的分析,为中药药效评估提供科学的依据。2.功能需求中药材特性分析:该功能可以......
  • java设计模式【抽象工厂模式】
    java设计模式【抽象工厂模式】抽象工厂模式抽象工厂模式是对简单工厂模式的一个变种,它允许通过一个统一的接口来创建不同的产品实例,而无需指定具体的子类。在这个模式中,我们只关心产品的抽象接口,而将具体的产品实现留给子类去实现。这样,我们可以通过创建不同的工厂对象来创建不......
  • Javascript执行原理 网页引入javascript的三种方式* javascript核心语法 数据类型 Typ
    Javascript执行原理:用户端发送请求到服务器端将js解析出来的数据(用户身份表示)绑定在请求路径中服务器端获取到参数后会响应客户端客户端通过浏览器解析响应的数据并将数据展现在浏览器上网页引入javascript的三种方式*:使用script标签<scripttype=“text/javascript”>aler......
  • Java学习计划
    复习计划及学习网站的时间表如下所示:日期科目学习网站1月1日基本语法和变量类型CodecademyJava课程1月4日运算符和控制语句CourseraJava程序设计1月7日数组、集合和泛型UdemyJava基础课程1月10日类与对象PluralsightJava课程1月13日继承、抽象类......
  • java设计模式【工厂方法模式】
    java设计模式【工厂方法模式】工厂方法模式工厂方法模式(FACTORYMETHOD)是一种常用的类创建型设计模式,此模式的核心精神是封装类中变化的部分,提取其中个性化善变的部分为独立类,通过依赖注入以达到解耦、复用和方便后期维护拓展的目的。它的核心结构有四个角色,分别是抽象工厂;具......
  • .Net Grpc Client调用Java Grpc Server
    1.JavaGrpcServer参考地址:grpc-javaos-maven-pluginprotobuf-maven-plugin1.新建SpringBoot项目[略]2.POM引入相关依赖<dependencies><dependency><groupId>io.github.lognet</groupId><artifactId>grpc......
  • Java中十个常见的违规编码
    摘要:作者VeeraSundar在清理代码工作时发现一些常见的违规编码,因此,VeeraSundar把针对常见的一些违规编码总结成一份列表,以便帮助Java爱好者提高代码的质量和可维护性。最近,我给Java项目做了一次代码清理工作。经过清理后,我发现一组常见的违规代码(指不规范的代码并不表示代码错......
  • 高吞吐高并发Java NIO服务的架构(NIO架构及应用之一)
    JavaNIO成功的应用在了各种分布式、即时通信和中间件Java系统中。证明了基于NIO构建的通信基础,是一种高效,且扩展性很强的通信架构。基于Reactor模式的高可扩展性架构这个架构的基本思路在“基于高可用性NIO服务器架构”(http://today.java.net/pub/a/today/2007/02/13/architectur......
  • 浅谈Javascript 中几种克隆(clone)方式
    一:在Javascript里,如果克隆对象是基本类型,我们直接赋值就可以了:Js代码varsStr="kingwell";varcStr=sStr;alert(cStr);//输出kingwellsStr="abc";alert(cStr);//输出kingwell; 把一个值赋给另一个变量时,当那个变量的值改变的时候,另一个值不会受到影响。 ......