Java生成png文件字体不清晰,java操作字体生成png图片,该怎么解决
java操作字体生成png图片
java生成png图片,前提不能固定图片大小,根据文字和文字字号 自动生成png图片。
网上找了一些方法都是需要固定图片大小然后生成图片的。有没有办法解决自动生成文字png图片的。图片实例如:
要求:随便输入文字,选择字体、字号、颜色等信息生成png图片。
各位大侠有做过类似例子吗?请赐教实例,谢谢
java操作字体png 不固定图片大小
分享到:
------解决方案--------------------
这可以自己写,很容易实现。根据字体和字号以及需要输出的字符串可以获取图片需要的大小。
使用FontMetrica对象可以获取图片需要的高度和宽度。
------解决方案--------------------
引用:生成验证码 前提是固定图片大小。各位能看明白我说的吧。最好给出例子,百度、google搜索谁都知道。
要根据Font和传入的字符串生成图片只要得到此font应用到String的width和height就可以了
public static void main(String[] args) throws Exception {
createImage("中华人民共和国",new Font("宋体",Font.BOLD,18),new File("e:/a.png"));
createImage("中华人民",new Font("黑体",Font.BOLD,30),new File("e:/a1.png"));
createImage("中华人民共和国",new Font("黑体",Font.PLAIN,24),new File("e:/a2.png"));
}
//根据str,font的样式以及输出文件目录
public static void createImage(String str,Font font,File outFile) throws Exception{
//获取font的样式应用在str上的整个矩形
Rectangle2D r=font.getStringBounds(str, new FontRenderContext(AffineTransform.getScaleInstance(1, 1),false,false));
int unitHeight=(int)Math.floor(r.getHeight());//获取单个字符的高度
//获取整个str用了font样式的宽度这里用四舍五入后+1保证宽度绝对能容纳这个字符串作为图片的宽度
int width=(int)Math.round(r.getWidth())+1;
int height=unitHeight+3;//把单个字符的高度+3保证高度绝对能容纳字符串作为图片的高度
//创建图片
BufferedImage image=new BufferedImage(width,height,BufferedImage.TYPE_INT_BGR);
Graphics g=image.getGraphics();
g.setColor(Color.WHITE);
g.fillRect(0, 0, width, height);//先用白色填充整张图片,也就是背景
g.setColor(Color.black);//在换成黑色
g.setFont(font);//设置画笔字体
g.drawString(str, 0, font.getSize());//画出字符串
g.dispose();
ImageIO.write(image, "png", outFile);//输出png图片
}
Java生成png文件字体不清晰,java操作字体生成png图片,该怎么解决相关推荐
- Freemarker生成word文件,打开后页眉和页脚图片不显示
Freemarker生成word文件,打开后页眉和页脚图片不显示 在我们开发过程中通常会把模板文件Ctrl+Alt+L格式化,方便处理.这样就造成word的标签格式产生多余的换行或者空白,但是word ...
- 用C#生成Excel文件的方法和Excel.dll组件生成的方法
NET Framework1.0和1.1 都没有实现OleContainer组件.查遍MSDN,最后得了一个提示:可以使用IEBrowser来模拟OleContainer.这绝对是一个超重的实现,不过 ...
- eclipse编译java项目class文件_动态编译 Java 代码以及生成 Jar 文件
导读: 最近在看 Flink 源码的时候发现到一段实用的代码,该代码实现了 java 动态编译以及生成 jar 文件.将其进行改进后可以应用到我们的平台上,实现在平台页面上编写 java 代码语句,提 ...
- oxygen 生成java对象_利用oxygen编辑并生成xml文件,并使用JAVA的JAXB技术完成xml的解析...
首先下载oxygen软件(Oxygen XML Editor),目前使用的是试用版(可以安装好软件以后get trial licence,获得免费使用30天的权限,当然这里鼓励大家用正版软件!!!) ...
- java txt数据导入excel,java导入excle文件《如何用java 将txt数据导入excel》
如何用java 将txt数据导入excel 代码如下: import java.io.*; import jxl.*; import jxl.write.*; public class CreateX ...
- demo1—java读取Excel文件到数据库、java制作准考证
文章目录 读取Excel数据到数据库 由模板制作准考证(word文档处理) 总结 读取Excel数据到数据库 项目用到的jar包: <!-- https://mvnrepository.com/ ...
- linux java调用so文件路径_Linux平台Java调用so库-JNI使用例子
1.确保gcc编译器已安装 2.编写HelloJNI.java代码,用native声明需要用C实现的函数. 如果源程序是包含在package里的话,应该建立同样的文件夹结构,比如/home/swan/ ...
- java中打开文件显示_从java程序中打开任何文件
在 java中打开文件似乎有点棘手 – 对于.txt文件,必须将File对象与Scanner或BufferedReader对象结合使用 – 对于图像IO,必须使用 ImageIcon类 – 如果要打开 ...
- java hdfs创建文件_使用HDFS java api 创建文件出错。
//创建文件核心代码 public static void createNewHDFSFile(String toCreateFilePath, String content) throws IOEx ...
最新文章
- 【Linux】27.Markdown的用法
- Android ListView与Arrayadapter之间的搭配使用
- 安卓scrollview无法滑动_安卓上线前,小光有话想对你们说
- opengl游戏引擎源码_跨平台渲染引擎之路:拨云见日
- 微型计算机引脚,微型计算机硬件基础8086引脚.doc
- http长/短轮询和WebSocket 的介绍和比较
- 论文浅尝 | 主题驱动的分子图表示对比学习
- html的音频播放,HTML5 音频播放 audio
- 使用开源软件 Mantis 实施缺陷跟踪的成功实践
- appnode报错_appnode
- 微信小程序:好看的表格样式
- Apache Hudi的编译及安装
- MOOS-ivp app发布车辆位置及控制车辆运动
- echarts3实现世界地图
- TCP/IP:使用wireshark进行网络数据分析
- IDEA插件系列(92):Rainbow Fart插件——吹彩虹屁
- HTML+CSS练习案例
- MCE | 肿瘤微环境在癌症中的作用
- 腾讯计算机视觉实习面经
- 腾讯arttemplate模板官方介绍