Java 利用Graphics2D在图片上画出竖排文字与横排文字
2017-05-09 09:07
906 查看
package com;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.HashMap;
import java.util.Random;
import javax.imageio.ImageIO;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
public class TestQrCode {
public static void main(String[] args) {
String path = TestQrCode.createQrcode("gsdw—2017");
File f = new File(path);
new TestQrCode().addtext_QRCode(f,"");
}
public void addtext_QRCode(File qrPic, String test) {
try {
if (!qrPic.isFile()) {
System.out.print("file not find !");
System.exit(0);
}
/**
* 读取二维码图片,并构建绘图对象
*/
BufferedImage image = ImageIO.read(qrPic);
Graphics2D g = image.createGraphics();
//设置字体颜色
g.setColor(Color.BLACK);
//设置字体为系统字体
g.setFont(g.getFont());
//画竖排文字
int x=20,y=50;
String str = "激光与光纤通讯演示仪";
addText_ShuPaiWenzi(x,y,str,g);
int k=50,j=270;
addText_hengpaiwenzi(k,j,str,g);
g.dispose();
ImageIO.write(image, "jpeg", new File("F:\\qrcode\\"+"133.jpg"));
} catch (Exception e) {
e.printStackTrace();
}finally{
if(qrPic!=null){
qrPic.delete();
}
}
}
/**
* 横排文字
* @param x
* @param y
* @param str
* @param g
*/
public void addText_hengpaiwenzi(int x,int y,String str,Graphics2D g){
g.drawString(str, x, y);
}
public void addText_ShuPaiWenzi(int x,int y,String str,Graphics2D g){
int strlength = str.length();
//获取字体宽度
int t = g.getFontMetrics().stringWidth("str");
//竖排文字
for(int i=0;i<strlength;i++){
g.drawString(String.valueOf(str.charAt(i)), x, y);
y +=t;
}
}
}
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.HashMap;
import java.util.Random;
import javax.imageio.ImageIO;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
public class TestQrCode {
public static void main(String[] args) {
String path = TestQrCode.createQrcode("gsdw—2017");
File f = new File(path);
new TestQrCode().addtext_QRCode(f,"");
}
public void addtext_QRCode(File qrPic, String test) {
try {
if (!qrPic.isFile()) {
System.out.print("file not find !");
System.exit(0);
}
/**
* 读取二维码图片,并构建绘图对象
*/
BufferedImage image = ImageIO.read(qrPic);
Graphics2D g = image.createGraphics();
//设置字体颜色
g.setColor(Color.BLACK);
//设置字体为系统字体
g.setFont(g.getFont());
//画竖排文字
int x=20,y=50;
String str = "激光与光纤通讯演示仪";
addText_ShuPaiWenzi(x,y,str,g);
int k=50,j=270;
addText_hengpaiwenzi(k,j,str,g);
g.dispose();
ImageIO.write(image, "jpeg", new File("F:\\qrcode\\"+"133.jpg"));
} catch (Exception e) {
e.printStackTrace();
}finally{
if(qrPic!=null){
qrPic.delete();
}
}
}
/**
* 横排文字
* @param x
* @param y
* @param str
* @param g
*/
public void addText_hengpaiwenzi(int x,int y,String str,Graphics2D g){
g.drawString(str, x, y);
}
public void addText_ShuPaiWenzi(int x,int y,String str,Graphics2D g){
int strlength = str.length();
//获取字体宽度
int t = g.getFontMetrics().stringWidth("str");
//竖排文字
for(int i=0;i<strlength;i++){
g.drawString(String.valueOf(str.charAt(i)), x, y);
y +=t;
}
}
}
相关文章推荐
- 利用java的Graphics2D在图片上写字
- java生成竖排文字图片
- Android(java)学习笔记139:在TextView组件中利用Html插入文字或图片
- java图片动态添加水印(利用Graphics2D)
- java实现给图片添加水印和文字
- JAVA给图片上添加水印文字
- 利用java在oracle数据库中存取图片的例子
- (源码实例)通过层DIV实现,当鼠标放在链接上面,显示图片及文字 - 流星絮语 JAVA学习笔记 - CSDNBlog
- 在JAVA的GUI上放置图片,并在图片上输出半透明文字
- java-图片加水印,文字水印
- java实现给图片添加水印和文字
- java图片处理 文字水印 图片水印 缩放 补白
- Java输出竖排古典文字
- java实现给图片添加水印和文字
- 如何利用java io stream把读出的byte[] buffer写入一个图片文件中?
- [导入]利用PIL生成水印图片或文字
- java给图片加水印,文字水印
- 在java的GUI上放置图片,并在图片上输出半透明文字
- 用Java实现在图片上添加水印图片和水印文字
- Java给图片添加水印(图标和文字)