BufferedImage&Graphics2D简谈
来源:互联网 发布:java游戏大全百度网盘 编辑:程序博客网 时间:2024/05/01 15:42
类结构
java.lang.Object |____ java.awt.Image |____ java.awt.image.BufferedImage
java.lang.Object |____ java.awt.Graphics |____ java.awt.Graphics2D
API链接
BufferedImage
Graphics2D
简介
public class BufferedImage extends Image implements WritableRenderedImage, Transparency
BufferedImage 子类描述具有可访问图像数据缓冲区的 Image。BufferedImage 由图像数据的 ColorModel 和 Raster 组成。Raster 的 SampleModel 中 band 的数量和类型必须与 ColorModel 所要求的数量和类型相匹配,以表示其颜色和 alpha 分量。所有 BufferedImage 对象的左上角坐标都为 (0, 0)。因此,用来构造 BufferedImage 的任何 Raster 都必须满足:minX=0 且 minY=0。
此类依靠 Raster 的数据获取方法、数据设置方法,以及 ColorModel 的颜色特征化方法。
public abstract class Graphics2D extends Graphics
此 Graphics2D 类扩展 Graphics 类,以提供对几何形状、坐标转换、颜色管理和文本布局更为复杂的控制。它是用于在 Java(tm) 平台上呈现二维形状、文本和图像的基础类。
具体实现
import java.awt.Color;import java.awt.Font;import java.awt.Graphics2D;import java.awt.Image;import java.awt.image.BufferedImage;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import javax.swing.ImageIcon;import com.sun.image.codec.jpeg.ImageFormatException;import com.sun.image.codec.jpeg.JPEGCodec;import com.sun.image.codec.jpeg.JPEGImageEncoder;public class Test2 { /** * @param args */ public static void main(String[] args) { ImageIcon vmImageIcon = new ImageIcon("D:/jpg/template.jpg"); Image image = vmImageIcon.getImage(); int width = image.getWidth(null); int height = image.getHeight(null); BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics2D graphics2d = bufferedImage.createGraphics(); graphics2d.drawImage(image, 0, 0, null); graphics2d.setColor(Color.BLACK); graphics2d.setFont(new Font(null, Font.ITALIC, 30)); graphics2d.drawString("123", 680, 200); graphics2d.dispose(); try { FileOutputStream outPic = new FileOutputStream("D:/jpg/done.jpg"); JPEGImageEncoder imageEncoder = JPEGCodec.createJPEGEncoder(outPic); imageEncoder.encode(bufferedImage); outPic.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (ImageFormatException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }}
阅读全文
0 0
- BufferedImage&Graphics2D简谈
- Java-ImageObserver,BufferedImage,Graphics2D,Graphics
- BufferedImage 和 Graphics2D 画图,背景色透明
- Java之BufferedImage简谈
- Java之BufferedImage简谈
- Java之BufferedImage简谈
- Java之BufferedImage简谈
- BufferedImage
- BufferedImage
- Graphics2D渲染
- Graphics2D渲染
- Graphics2D学习
- Graphics2D & Shape
- Graphics2D渲染(Rendering with Graphics2D)
- BufferedImage.getRGB
- BufferedImage()函数
- BufferedImage是什么意思?
- Graphics2D渲染(Rendering with Graphics2D)上
- 《简明Python教程》之运算符与表达式
- iOS 自定义滚动条,可展示交互 —— HERO博客
- 视频大小计算
- TOWARDS AN AUTOMATIC TURING TEST: LEARNING TO EVALUATE DIALOGUE RESPONSES
- 一些问题
- BufferedImage&Graphics2D简谈
- 【个人笔记重点,不作为参考】主题:node版本不匹配
- HackerRank Pattern Count 题解
- Ubuntu下安装FFmpeg
- Android中creatNewfile一些认识
- Android小技巧——LinearLayout巧妙的平均分配空间
- Android之使用WebView的那些事儿
- 用户权限管理数据库设计
- JS放大图片