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图片,该怎么解决相关推荐

  1. Freemarker生成word文件,打开后页眉和页脚图片不显示

    Freemarker生成word文件,打开后页眉和页脚图片不显示 在我们开发过程中通常会把模板文件Ctrl+Alt+L格式化,方便处理.这样就造成word的标签格式产生多余的换行或者空白,但是word ...

  2. 用C#生成Excel文件的方法和Excel.dll组件生成的方法

    NET Framework1.0和1.1 都没有实现OleContainer组件.查遍MSDN,最后得了一个提示:可以使用IEBrowser来模拟OleContainer.这绝对是一个超重的实现,不过 ...

  3. eclipse编译java项目class文件_动态编译 Java 代码以及生成 Jar 文件

    导读: 最近在看 Flink 源码的时候发现到一段实用的代码,该代码实现了 java 动态编译以及生成 jar 文件.将其进行改进后可以应用到我们的平台上,实现在平台页面上编写 java 代码语句,提 ...

  4. oxygen 生成java对象_利用oxygen编辑并生成xml文件,并使用JAVA的JAXB技术完成xml的解析...

    首先下载oxygen软件(Oxygen XML Editor),目前使用的是试用版(可以安装好软件以后get trial licence,获得免费使用30天的权限,当然这里鼓励大家用正版软件!!!) ...

  5. java txt数据导入excel,java导入excle文件《如何用java 将txt数据导入excel》

    如何用java 将txt数据导入excel 代码如下: import java.io.*; import jxl.*; import jxl.write.*; public class CreateX ...

  6. demo1—java读取Excel文件到数据库、java制作准考证

    文章目录 读取Excel数据到数据库 由模板制作准考证(word文档处理) 总结 读取Excel数据到数据库 项目用到的jar包: <!-- https://mvnrepository.com/ ...

  7. linux java调用so文件路径_Linux平台Java调用so库-JNI使用例子

    1.确保gcc编译器已安装 2.编写HelloJNI.java代码,用native声明需要用C实现的函数. 如果源程序是包含在package里的话,应该建立同样的文件夹结构,比如/home/swan/ ...

  8. java中打开文件显示_从java程序中打开任何文件

    在 java中打开文件似乎有点棘手 – 对于.txt文件,必须将File对象与Scanner或BufferedReader对象结合使用 – 对于图像IO,必须使用 ImageIcon类 – 如果要打开 ...

  9. java hdfs创建文件_使用HDFS java api 创建文件出错。

    //创建文件核心代码 public static void createNewHDFSFile(String toCreateFilePath, String content) throws IOEx ...

最新文章

  1. 【Linux】27.Markdown的用法
  2. Android ListView与Arrayadapter之间的搭配使用
  3. 安卓scrollview无法滑动_安卓上线前,小光有话想对你们说
  4. opengl游戏引擎源码_跨平台渲染引擎之路:拨云见日
  5. 微型计算机引脚,微型计算机硬件基础8086引脚.doc
  6. http长/短轮询和WebSocket 的介绍和比较
  7. 论文浅尝 | 主题驱动的分子图表示对比学习
  8. html的音频播放,HTML5 音频播放 audio
  9. 使用开源软件 Mantis 实施缺陷跟踪的成功实践
  10. appnode报错_appnode
  11. 微信小程序:好看的表格样式
  12. Apache Hudi的编译及安装
  13. MOOS-ivp app发布车辆位置及控制车辆运动
  14. echarts3实现世界地图
  15. TCP/IP:使用wireshark进行网络数据分析
  16. IDEA插件系列(92):Rainbow Fart插件——吹彩虹屁
  17. HTML+CSS练习案例
  18. MCE | 肿瘤微环境在癌症中的作用
  19. 腾讯计算机视觉实习面经
  20. 腾讯arttemplate模板官方介绍

热门文章

  1. 计算机无法访问需要密码,win7系统局域网访问需要密码的解决方法
  2. Java课程设计-基于网络的彩票购买程序
  3. oozie4.3.1编译
  4. 红队大量资产指纹探测工具和摄像头漏-洞渗-透和利用工具
  5. Ubuntu20.04安装graph-tool
  6. 130. 火车进出栈问题
  7. 小红书主页爬取_【小红书首页】小红书首页内容推荐依靠哪些规则?
  8. 第三十、Java面向对象之接口
  9. 26.Android 下载图片保存到相册
  10. 3D数学基础之C#实现矩阵变换