- 浏览: 442248 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (168)
- Hibernate (17)
- MySQL (7)
- struts2 (14)
- Spring (12)
- Javascript (20)
- CSS (8)
- ajax/jquery (11)
- HttpClient (6)
- HTTP (1)
- java小知识 (23)
- Servlet/JSP (5)
- Oracle (0)
- Quartz (3)
- Lucene/Nutch (12)
- c# winform (2)
- J2ME (1)
- POI (5)
- php5 (2)
- DWR(Ajax) (1)
- log4j (1)
- dom4j (3)
- 獲取郵件聯系人 (2)
- 随意 (5)
- Heritrix (1)
- ireport+jasper (1)
- 算法 (2)
- java虚拟机 (1)
- maven (2)
最新评论
-
janrick:
太感谢了,我正需要加密的函数呢
java中DES加密解密例子 -
xuganggogo:
suyang119 写道请教一下,补充的三级的可以用吗?当然可 ...
关于条件查询detachedCriteria的注意的地方 -
suyang119:
请教一下,补充的三级的可以用吗?
关于条件查询detachedCriteria的注意的地方 -
xuganggogo:
大江帅 写道var name="attriName& ...
有关在JavaScript中使用EL表达式的问题 -
大江帅:
var name="attriName"; ...
有关在JavaScript中使用EL表达式的问题
功能:直接在一张已有的图片上写字,可指定文字颜色。
如果背景图片是空,生成一张白图片,根据文本信息,来决定图片的长度和宽度。
package pictures;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import javax.imageio.ImageIO;
public class Draw {
private static Font mFont = new Font("宋体",Font.PLAIN,20);
public static void main(String[] args) {
File f1 = new File("C:\\Documents and Settings\\xugang\\桌面\\t.txt");
File f2 = new File("C:\\Documents and Settings\\xugang\\桌面\\testPictrue.JPEG");
File f3 = new File("C:\\Documents and Settings\\xugang\\桌面\\1.jpg");
draw2(f1,f2,f3,true);
}
//直接在一张已有的图片上写字,可指定文字颜色。如果背景图片参数为空或者"",则写张白图
public static void draw2( File content , File outPictrue , File background , boolean b ){
FileReader f = null ;
try {
f = new FileReader(content);
} catch (FileNotFoundException e1) {
e1.printStackTrace();
}
BufferedReader br = new BufferedReader(f);
String line = "";
int lineNum = 0 ; //一共有多少行
List<String> list = new ArrayList<String>();
try {
while( (line = br.readLine()) != null){
System.out.println(line);
list.add(line);
++lineNum;
}
} catch (IOException e1) {
e1.printStackTrace();
}
int[] iArray = new int[list.size()];
int length = list.size();
for(int k = 0 ; k < length ; k++){
iArray[k] = format1(list.get(k));
}
Arrays.sort(iArray);
int lineLength = iArray[length-1];
System.out.println("文本中最长的一行的长度是:"+lineLength);
System.out.println("一共的行数是:"+lineNum);
BufferedImage image = null;
if( background.equals("") || background == null){
double h = 256/16;
double w = 85/10;
int width=(int) (w*lineLength)+ 40 , height=(int) (h*lineNum);
image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
}else{
try {
image = ImageIO.read(background);
} catch (IOException e1) {
e1.printStackTrace();
}
}
Graphics g = image.getGraphics();
// g.setColor(getRandColor(200,250));
// g.fillRect(1, 1, width-1, height-1);
if( b == false){
g.setColor(new Color(102,102,102)); //设字体为黑色,否则就是白色
}
// g.drawRect(0, 0, width-1, height-1);
g.setFont(mFont);
int k = 0;
Iterator<String> it = list.iterator();
while(it.hasNext()){
g.drawString(it.next(), 30, 15 + 20*k);
++k;
}
try {
ImageIO.write(image, "JPEG", outPictrue);
} catch (IOException e) {
e.printStackTrace();
}
}
//返回占位符的长度。
public static int format1( String s){
int length = 0 ;
for(int t = 0; t < s.length() ; t++){
if( s.charAt(t)> 255){
length = length + 2;
}else{
length = length + 1 ;
}
}
System.out.println(length);
return length;
}
//生成一张白图片,根据文本信息,来决定图片的长度和宽度。
//缺点:字体不同,字体样式不同,都会影响整个图片。
public static void draw1(){
FileReader f = null ;
try {
f = new FileReader("C:\\Documents and Settings\\xugang\\桌面\\t.txt");
} catch (FileNotFoundException e1) {
e1.printStackTrace();
}
BufferedReader br = new BufferedReader(f);
String line = "";
int lineNum = 0 ; //一共有多少行
List<String> list = new ArrayList<String>();
try {
while( (line = br.readLine()) != null){
System.out.println(line);
list.add(line);
++lineNum;
}
} catch (IOException e1) {
e1.printStackTrace();
}
int[] iArray = new int[list.size()];
int length = list.size();
for(int k = 0 ; k < length ; k++){
iArray[k] = format1(list.get(k));
}
Arrays.sort(iArray);
int lineLength = iArray[length-1];
System.out.println("文本中最长的一行的长度是:"+lineLength);
System.out.println("一共的行数是:"+lineNum);
double h = 256/16;
double w = 85/10;
int width=(int) (w*lineLength)+ 40 , height=(int) (h*lineNum);
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics g = image.getGraphics();
// g.setColor(getRandColor(200,250));
g.fillRect(1, 1, width-1, height-1);
g.setColor(new Color(102,102,102));
g.drawRect(0, 0, width-1, height-1);
g.setFont(mFont);
int k = 0;
Iterator<String> it = list.iterator();
while(it.hasNext()){
g.drawString(it.next(), 30, 15+15*k);
++k;
}
try {
ImageIO.write(image, "JPEG", new File("C:\\Documents and Settings\\xugang\\桌面\\testPictrue.JPEG"));
} catch (IOException e) {
e.printStackTrace();
}
}
}
发表评论
-
正则替换标点符号的方法。解决方式还不错
2011-01-28 11:08 3256地址:http://topic.csdn.net/u/2008 ... -
hadoop环境搭建问题记录
2010-10-12 17:11 12261,错误 org.apache.hadoop.hdfs.se ... -
Java 正则表达式
2010-07-16 11:52 13021. 正则表达式规则 1.1 普通字符 字母、数字 ... -
字符串转换为Date
2010-04-24 11:04 1712查看了下SimpleDateFomart这个类。 用字符串转 ... -
正则表达式替换掉字符串中的重复字符
2009-12-11 17:51 2309str = str.replaceAll("( ... -
JFreeChart 部分API说明
2009-08-15 11:55 932http://amozon.iteye.com/blog/ ... -
反编译工具
2009-08-14 14:46 1176jad及常用命令 一、基本用法 Usage:jad ... -
JFreeChart
2009-08-10 18:35 11541,柱状图 package xu.chart.demo; ... -
java生成缩略图
2009-07-17 11:02 2313转自:http://wing929.iteye.com/blo ... -
jstl 时间处理
2009-06-24 14:06 1564jstl 中的日期格式化! [转贴 2005-10-25 1 ... -
Java Properties类
2009-05-31 14:26 2065全文转自:http://twtmnm1314.iteye.co ... -
java 的pass by value(传值)
2009-05-13 15:21 1140这里写一下java的值传递 参数是基本类型的时候: cla ... -
快速修改本機局域網IP信息
2009-05-09 13:07 2019在開發過程中,遇到需要頻繁的切換IP的問題。每次手動修改IP需 ... -
double:保留几位小数点
2009-03-06 10:03 2256java.text.DecimalFormat myforma ... -
增加环境内存--java
2009-02-13 14:50 997在eclipse中,在虚拟机环境变量VM arguments中 ... -
javaIO流读繁体中文网页的乱码问题
2009-02-01 17:09 1604IDE:eclipse IDE的编码是UTF-8(开发需要) ... -
学习java.lang.ProcessBuilder类
2009-02-01 17:08 5481近来的工作中,了 ... -
java中DES加密解密例子
2009-02-01 17:07 4176最近在学习一些关于加 ... -
Servlets/JSP开发技术问答
2009-02-01 17:06 924学习J2EE,需要学习很多 ... -
jdk1.5新特性 ConcurrentHashMap
2009-02-01 17:06 7136曾经研究过jkd1.5新特性,其中ConcurrentHash ...
相关推荐
java:在图片中写字。java:在图片中写字。java:在图片中写字。
工具:Eclipse 4.2.1 功能:实现在本地一张图片上加文字(调整字体,可以做成水印)。
Java实现在图片上添加水印图片和水印文字.docJava实现在图片上添加水印图片和水印文字.docJava实现在图片上添加水印图片和水印文字.docJava实现在图片上添加水印图片和水印文字.doc
JAVA实现给图片增加图片水印或者文字水印相关依赖包。
基于java实现的手写识别软件,字库是特征点字库,通过KNN算法计算,汉字的特征点通过递归方法得到,核心代码量300行左右,识别效果良好。直接使用eclipse导入工程即可,单击startframe.java开始运行
对图片进行水印处理,利用TESS4J识别图片并提取信息生成excel表格。里面有字库文件所以占用空间较大。 说明:https://blog.csdn.net/xlantian/article/details/80789115
java实现word表格指定位置盖章,并且设置章悬浮于文字之上,达到跟用实体章在A4纸上盖章一样的效果
java实现图片上传并添加水印效果(文字水印,蒙版,logo图片),自动进行文字大小行数位置匹配,文字自动换行
利用java将图片加上水印 只需要设置图片属性就行了·
java实现word表格指定位置盖章,并且设置印章悬浮于文字之上,达到跟用实体印章在A4纸上盖章一样的效果
主要为大家详细介绍了java如何实现在pdf模板的指定位置插入图片,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
Java实现ocr图片识别(PaddleOCR)飞桨
3.1.JAVA掌握AWT的BufferedImage、Graphics2D、Font;Redis;图片生成随机位置 随机中文文字、随机抠图、拼图都只需要用到BufferedImage和Graphics2D。 3.2.前端熟悉点击事件,根据点击事件的坐标位置、图片的位置...
javacv对图片进行文字提取,定位指定文字在图片的位置坐标,提高识别速度
java手写识别超级准确,界面很好看,swing实现,j
主要通过java实现图片编辑,给图片增加样式以及文字信息
水印 java Graphics2D实现文字图片水印 实现水印四个角水印
java的DES算法实现,可以加密文字以及图片,引用java加密的包
JAVA WORD中实现电子印章效果 文字浮于印章上面