Java用BufferedImage和Graphics画图。

问题:网上大部分内容重复,且描述简单。注:内容:将某个字生成图片,且对图片背景色和图片上字的颜色有要求的情况。

解决:先用Graphics的方法setColor设置一下颜色,然后再用该类的fillRect填充背景色,接着再用该类的setColor设置一下颜色,再接着就是用该类的drawString画字了。ImageIO.write输出图片。最后用该类的dispose释放资源。

局部代码:

int imageWidth = 200;
int imageHeight = 200;
BufferedImage image = new BufferedImage(imageWidth, imageHeight, BufferedImage.TYPE_INT_RGB);
Graphics graphics = image.getGraphics();
int fontSize = 100;
Font font = new Font("楷体", Font.PLAIN, fontSize);
graphics.setFont(font);
graphics.setColor(new Color(246, 96, 0));
graphics.fillRect(0, 0, imageWidth, imageHeight);
graphics.setColor(new Color(255, 255, 255));
int strWidth = graphics.getFontMetrics().stringWidth("好");
graphics.drawString("好", fontSize - (strWidth / 2), fontSize + 30);
ImageIO.write(image, "PNG", new File("D:\\abc.png"));
graphics.dispose();

时间: 2024-10-22 09:12:03

Java用BufferedImage和Graphics画图。的相关文章

Java SE (2)之 Graphics 画图工具

Graphics 绘图类: 提供两个方法.Paint (绘图,被系统自动调用)    repaint(重绘) Paint 调用原理(1.窗口最大化,再最小化 窗口的大小发生变化 Repaint函数被调用) package com.sunzhiyan; import java.awt.*; import javax.swing.*; public class Demo_5 extends JFrame{ /** * @param args */ public static void main(St

Java 2D API - 2. Graphics 入门

Java 2D API强大而复杂,不过大多时候我们只需使用java.awt.Graphcis类的部分功能.下面的内容将覆盖大多数的常见应用. Graphics 类中的方法大致可以分为两类: Draw and fill方法,用于绘制基本的图形.文本和图像: 属性设置方法,用于控制绘制和填充的效果.setFont()和setColor()等方法就属于这类方法. 下图显示这些方法和图像的对应关系: 1. drawString() 用于绘制文本: g.drawString("Hello", 1

java工具类之Graphics

利用重写paint()方法绘画出一个坐标轴: package huaxian; import java.awt.Color; import java.awt.FlowLayout; import java.awt.Graphics; import javax.swing.JFrame; import javax.swing.JPanel; public class huaxian2 extends JFrame { private JPanel jp; private JFrame jf; pu

JAVA中BufferedImage的用法

1.用到的包 public static void main(String[] args) { // TODO Auto-generated method stub int width = 100; int height = 100; // 1.创建一个不带透明色的BufferedImage对象 BufferedImage bimage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); // 2.创建一个带透明色的Bu

Java使用BufferedImage修改图片内容

1.修改图片的架包 <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency> 1.1   修i该图片工具类 package com.mz.usps.common.util; import com.mz.usps.common.domain.

android.apis.graphics 画图(引)

package com.example.android.apis.graphics; 23.TextAlign: 设置Path路径,贝赛尔曲线 //设置Path路径 private static void makePath(Path p) { p.moveTo(10, 0); p.cubicTo(100, -50, 200, 50, 300, 0);//贝赛尔曲线 } //mPos存的是字符串中每个字符的位置坐标 private float[] buildTextPositions(String

C#Graphics画图

public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Graphics g = this.CreateGraphics();//创建GDI对像 //创建画笔(颜色) Pen npen = new Pen(Brushes.Red); //创建两个点 Point n1 = new Point(20, 20); Point n2 = new Point(255

C# System.Drawing.Graphics 画图后,如何保存一个低质量的图片,一个占用空间较小的图片

首先要控制图片保存后硬盘后的大小(即占用硬盘的空间,而非尺寸),真正要处理的是控制 System.Drawing.Bitmap.Save 方法的参数. 具体实现如下: private void ThumbPicture(Image SourceImage, int TargetWidth,string savePath) { int IntWidth; //新的图片宽 int IntHeight; //新的图片高 try { int TargetHeight = (int)Math.Round(

用java Graphics生成验证码

以下下是API文档对Graphics的介绍! Graphics 类是所有图形上下文的抽象基类,允许应用程序在组件(已经在各种设备上实现)以及闭屏图像上进行绘制. Graphics 对象封装了 Java 支持的基本呈现操作所需的状态信息.此状态信息包括以下属性: 要在其上绘制的 Component 对象. 呈现和剪贴坐标的转换原点. 当前剪贴区. 当前颜色. 当前字体. 当前逻辑像素操作函数(XOR 或 Paint). 当前 XOR 交替颜色(参见 setXORMode(java.awt.Colo