21xrx.com
2025-03-26 08:48:37 Wednesday
文章检索 我的文章 写文章
Java图像处理教程:用Java制作图片
2023-06-17 08:04:25 深夜i     12     0
Java 图像处理 图片制作

Java作为一门强大的编程语言,可以用于图像处理和制作方面。本教程将介绍如何使用Java制作图片,并提供代码案例指导你完成制作。让我们来探索一下Java制作图片的奥秘吧!

代码案例:

1. 创建一个图片对象

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class CreateImageObject {
  public static void main(String[] args) {
   int width = 250;
   int height = 250;
   BufferedImage img = null;
   File file = null;
   // 创建一个黑色图片,并将其写入到文件中
   img = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
   file = new File("black.png");
   try {
     ImageIO.write(img, "png", file);
   } catch (IOException e) {
     e.printStackTrace();
   }
   // 创建一个红色图片,并将其写入到文件中
   img = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
   for (int i = 0; i < height; i++) {
     for (int j = 0; j < width; j++) {
      int a = 255; // 透明度值
      int r = 255; // 红色值
      int g = 0; // 绿色值
      int b = 0; // 蓝色值
      int p = (a<<24) | (r<<16) | (g<<8) | b; // 创建一个argb像素值
      img.setRGB(j, i, p); // 设置像素值
     }
   }
   file = new File("red.png");
   try {
     ImageIO.write(img, "png", file);
   } catch (IOException e) {
     e.printStackTrace();
   }
   System.out.println("Images created successfully.");
  }
}

2. 在图片上添加文字

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class AddTextToImage {
  public static void main(String[] args) {
   int width = 300;
   int height = 100;
   BufferedImage img = null;
   File file = null;
   // 创建一个白色图片,并将其写入到文件中
   img = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
   Graphics g = img.getGraphics();
   g.setColor(Color.WHITE);
   g.fillRect(0, 0, width, height);
   g.dispose();
   file = new File("white.png");
   try {
     ImageIO.write(img, "png", file);
   } catch (IOException e) {
     e.printStackTrace();
   }
   // 在图片上添加文字,并将其写入到文件中
   img = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
   g = img.getGraphics();
   g.setColor(Color.BLACK);
   g.fillRect(0, 0, width, height);
   g.setColor(Color.WHITE);
   Font font = new Font("Serif", Font.BOLD, 36);
   g.setFont(font);
   String message = "Hello, World!";
   int x = 10;
   int y = 50;
   g.drawString(message, x, y);
   g.dispose();
   file = new File("message.png");
   try {
     ImageIO.write(img, "png", file);
   } catch (IOException e) {
     e.printStackTrace();
   }
   System.out.println("Images created successfully.");
  }
}

3. 改变图片的大小

import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class ResizeImage {
  public static void main(String[] args) {
   int newWidth = 200;
   int newHeight = 200;
   BufferedImage originalImg = null;
   BufferedImage resizedImg = null;
   File file = null;
   // 读取图片文件
   try {
     originalImg = ImageIO.read(new File("original.png"));
   } catch (IOException e) {
     e.printStackTrace();
   }
   // 改变图片大小
   resizedImg = new BufferedImage(newWidth, newHeight, originalImg.getType());
   Graphics2D g = resizedImg.createGraphics();
   g.drawImage(originalImg, 0, 0, newWidth, newHeight, null);
   g.dispose();
   // 将新的图片写入到文件中
   file = new File("resized.png");
   try {
     ImageIO.write(resizedImg, "png", file);
   } catch (IOException e) {
     e.printStackTrace();
   }
   System.out.println("Image resized successfully.");
  }
}

  
  

评论区

    相似文章