21xrx.com
2024-09-20 06:34:59 Friday
登录
文章检索 我的文章 写文章
Java图像处理教程:用Java制作图片
2023-06-17 08:04:25 深夜i     --     --
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.");

  }

}

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复
    相似文章