由服务器对图片文字进行合成,前段都好好的。服务器为linux

这边要求改用方正字体,果断乱码了,打出一溜方框。

出现问题最主要的是排查问题所在。第一想到的是因为字体名称为汉字,前端给server传的时候是不是乱码了。我是用post传的,这应该不会,跟后台后,果然不是这的原因。求救于搜索引擎。

关键字:“drawString   乱码”一搜,有几个帖子,锁定在server上没有字体这个线索上。

首先写了个程序,用于获取主机所支持字体的

import java.awt.GraphicsEnvironment;

public class GetFont {

public static void main(String[] args) {

String[] fontNames=GraphicsEnvironment.getLocalGraphicsEnvironment().

getAvailableFontFamilyNames();

for(String fontName:fontNames){

System.out.println(fontName);

}

}

}

上传到服务器上编译执行了一下,只有几个逻辑字体,没有物理字体。应该是了,又写了个测试程序先上传到服务器

import java.awt.Color;

import java.awt.Font;

import java.awt.Graphics;

import java.awt.Graphics2D;

import java.awt.Image;

import java.awt.RenderingHints;

import java.awt.image.BufferedImage;

import java.io.File;

import java.io.IOException;

import javax.imageio.ImageIO;

public class TestFont {

public static void main(String[] args) {

BufferedImage bi = new BufferedImage(800, 600, BufferedImage.TYPE_INT_RGB);

Graphics g = bi.getGraphics();

Color color = g.getColor();

System.out.println(color);

g.fillRect(0, 0, 800, 600);

((Graphics2D) g).setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);

g.setFont(new Font("方正黑体简体", Font.PLAIN, 30));

g.setColor(Color.black);

g.drawString("相见时难别亦难", 200, 50);

g.setFont(new Font("微软雅黑", Font.BOLD, 30));

g.setColor(Color.black);

g.drawString("相见时难别亦难", 200, 85);

g.setFont(new Font("方正大黑简体", Font.PLAIN, 30));

g.setColor(Color.black);

g.drawString("相见时难别亦难", 200, 120);

g.dispose();

bi.flush();

//新名字

String fname = "abc";

try {

ImageIO.write(bi, "jpg", new File("/" + fname + ".jpg"));

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} //将其保存在C:/imageSort/targetPIC

}

}

分别是方正黑体,微软雅黑,方正大黑。直接在服务器上编译执行,毫无疑问,生成的图片上仍是乱码。

查阅了一下,了解到jvm支持的字体是在%JAVA_HOME%/jvm/lib/font下,ftp上去即可了。不知道路径直接 echo $JAVA_HOME看看就知道了

注意windows里   c:/windows/font文件夹里都是已安装的字体,不能直接ftp上传,拷出去在上传到linux即可。这样传上去的字体只是java支持,不过也没必要都支持,linux作为服务器,其他程序也没有图形界面。

再次执行测试程序,这次打印出来的就对了

问题解决

java 图片文字 乱码_关于java 向图片添加文字时的乱码问题相关推荐

  1. java项目----教务管理系统_基于Java的教务管理系统

    java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...

  2. 图片在canvas中显示,给canvas添加文字,文字描边,将canvas保存成图片下载到本地

    Canvas简介 HTML5新增标签 Canvas API(画布)是在HTML5中新增的标签用于在网页实时生成图像,并且可以操作图像内容,基本上它是一个可以用JavaScript操作的位图(bitma ...

  3. java数组乱码_关于Java乱码

    乱码本质:读取二进制时采用的编码与最初将字符转成二进制时的编码不一致. 编码(获得二进制数组的过程)时不抛出异常,数据就不会被破坏. Java关于乱码(MessyCode)问题 Java使用的是Uni ...

  4. java 中文问号问题_解决java中的中文乱码问题(ZT)

    一般在传送时使用的encoding:使用GET 的方式: String test = new String((request.getParameter("test")).getBy ...

  5. java 生成pdf 乱码_利用java处理fop导出pdf的中文乱码问题解决方案

    本文的作用是,生成带中文的加密pdf格式的文件,防止被人修改. 在项目下建立docbook-xsl, fo-res, out, sample四个文件夹 docbook-xsl目录: 放从sourcef ...

  6. 用java画爱心图_用java实现 图片组成心形图案

    灵感:java2核心技术卷1(共两卷) 最近在看java2核心技术里面提到显示图片,于是就做了个心形图片组合图案...你懂得 import java.awt.*; import java.awt.ge ...

  7. java word 乱码_(word)Java乱码问题解决方案.doc

    (word)Java乱码问题解决方案 Java乱码问题解决方案 Java乱码问题一直是困扰初学者的一个难题,下面就根据笔者的经验来给大家一个解决方案.我写了一个Demo的web应用,解决了乱码问题,点 ...

  8. java http 中文乱码_关于java发送http请求时中文乱码的一种解决办法

    在jsp中常见的乱码解决办法无外乎是关于get和post两种方式的,但只有切实地在实践中使用时才会注意或者说注重到其他方式.例如,在http请求头中传送中文参数,出现乱码,如何解决? 实际场景:使用S ...

  9. java 图片的路径_【JAVA技术】如何展现绝对路径下的图片

    问题描述:通常情况下,我们在jsp页面上要想显示图片,直接用html的标签即可,但是img标签的src属性的值为图片存放的相对地址.如果图片文件没有存放在整个工程中,此时就需要访问图片文件的绝对路径, ...

  10. java oss 批量传输_软件神器 I 图片批量压缩改名工具Caesium汉化版

    要 么 有 趣,要 么 有 用 「图层实验室」 " 西瓜本身做公众号和网站,公众号还好,不是自己的服务器,上传图片视频,不需要付费,所以无所谓. 但是,网站就不一样了,素材站大量的图片,积攒 ...

最新文章

  1. tomcat启动时一闪而过的问题
  2. HTC Element Behaviors in Internet Explorer.
  3. android服务绑定音乐播放器,Android开发【04-21求助贴】使用后台服务的音乐播放器...
  4. 同一进程中同一端口如何区分不同的Socket
  5. 给Visual Studio Code的文件夹和文件替换图标
  6. 数据结构 二、向量(接口与实现and可扩容向量)
  7. linux微信公众号报警,zabbix报警媒介,微信报警,邮件报警
  8. Perl迎来25岁生日
  9. python 简历处理_按照这个方式学Python,老板把垃圾桶里的简历舔回来:月薪50000...
  10. 访谈编码怎么做_怎么才能让口才得到提升
  11. JEECG - 基于代码生成器的J2EE智能开发框架 续六: JEECG 前台页面和后台交互讲解
  12. ERC721藏品合约详解,附代码实现
  13. delphi操作xml学习笔记 之一 入门必读
  14. weblogic部署war冲突解决记录
  15. Java工程师成神之路【转】
  16. 机器学习【系列】之第六章随机森林模型
  17. 评价——TOPSIS
  18. spring cloud微服务(二)euraka服务消费者
  19. 九宫格日记-2011年11月13日
  20. node_modules中的.cache文件夹的占用空间越来越大

热门文章

  1. 计算机32位操作系统指什么,电脑操作系统的32位和64位有什么区别
  2. Kibana查询耗时
  3. 电商小程序开发要多少钱?一文看懂电商小程序开发成本
  4. 复合函数的间断点问题总结
  5. DNW使用和常见问题
  6. 出现Cannot find module 'xxx' 错误
  7. 笔记本电脑f11功能键_笔记本电脑按键功能详细图解_笔记本电脑键盘功能详细介绍是什么-win7之家...
  8. 故障处理——阿里云服务器无法向外发送邮件
  9. cad断点快捷键_CAD打断和打断于点怎么使用?CAD打断快捷键命令及操作方法
  10. string类的深拷贝和浅拷贝