java 图片文字 乱码_关于java 向图片添加文字时的乱码问题
由服务器对图片文字进行合成,前段都好好的。服务器为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 向图片添加文字时的乱码问题相关推荐
- java项目----教务管理系统_基于Java的教务管理系统
java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...
- 图片在canvas中显示,给canvas添加文字,文字描边,将canvas保存成图片下载到本地
Canvas简介 HTML5新增标签 Canvas API(画布)是在HTML5中新增的标签用于在网页实时生成图像,并且可以操作图像内容,基本上它是一个可以用JavaScript操作的位图(bitma ...
- java数组乱码_关于Java乱码
乱码本质:读取二进制时采用的编码与最初将字符转成二进制时的编码不一致. 编码(获得二进制数组的过程)时不抛出异常,数据就不会被破坏. Java关于乱码(MessyCode)问题 Java使用的是Uni ...
- java 中文问号问题_解决java中的中文乱码问题(ZT)
一般在传送时使用的encoding:使用GET 的方式: String test = new String((request.getParameter("test")).getBy ...
- java 生成pdf 乱码_利用java处理fop导出pdf的中文乱码问题解决方案
本文的作用是,生成带中文的加密pdf格式的文件,防止被人修改. 在项目下建立docbook-xsl, fo-res, out, sample四个文件夹 docbook-xsl目录: 放从sourcef ...
- 用java画爱心图_用java实现 图片组成心形图案
灵感:java2核心技术卷1(共两卷) 最近在看java2核心技术里面提到显示图片,于是就做了个心形图片组合图案...你懂得 import java.awt.*; import java.awt.ge ...
- java word 乱码_(word)Java乱码问题解决方案.doc
(word)Java乱码问题解决方案 Java乱码问题解决方案 Java乱码问题一直是困扰初学者的一个难题,下面就根据笔者的经验来给大家一个解决方案.我写了一个Demo的web应用,解决了乱码问题,点 ...
- java http 中文乱码_关于java发送http请求时中文乱码的一种解决办法
在jsp中常见的乱码解决办法无外乎是关于get和post两种方式的,但只有切实地在实践中使用时才会注意或者说注重到其他方式.例如,在http请求头中传送中文参数,出现乱码,如何解决? 实际场景:使用S ...
- java 图片的路径_【JAVA技术】如何展现绝对路径下的图片
问题描述:通常情况下,我们在jsp页面上要想显示图片,直接用html的标签即可,但是img标签的src属性的值为图片存放的相对地址.如果图片文件没有存放在整个工程中,此时就需要访问图片文件的绝对路径, ...
- java oss 批量传输_软件神器 I 图片批量压缩改名工具Caesium汉化版
要 么 有 趣,要 么 有 用 「图层实验室」 " 西瓜本身做公众号和网站,公众号还好,不是自己的服务器,上传图片视频,不需要付费,所以无所谓. 但是,网站就不一样了,素材站大量的图片,积攒 ...
最新文章
- tomcat启动时一闪而过的问题
- HTC Element Behaviors in Internet Explorer.
- android服务绑定音乐播放器,Android开发【04-21求助贴】使用后台服务的音乐播放器...
- 同一进程中同一端口如何区分不同的Socket
- 给Visual Studio Code的文件夹和文件替换图标
- 数据结构 二、向量(接口与实现and可扩容向量)
- linux微信公众号报警,zabbix报警媒介,微信报警,邮件报警
- Perl迎来25岁生日
- python 简历处理_按照这个方式学Python,老板把垃圾桶里的简历舔回来:月薪50000...
- 访谈编码怎么做_怎么才能让口才得到提升
- JEECG - 基于代码生成器的J2EE智能开发框架 续六: JEECG 前台页面和后台交互讲解
- ERC721藏品合约详解,附代码实现
- delphi操作xml学习笔记 之一 入门必读
- weblogic部署war冲突解决记录
- Java工程师成神之路【转】
- 机器学习【系列】之第六章随机森林模型
- 评价——TOPSIS
- spring cloud微服务(二)euraka服务消费者
- 九宫格日记-2011年11月13日
- node_modules中的.cache文件夹的占用空间越来越大
热门文章
- 计算机32位操作系统指什么,电脑操作系统的32位和64位有什么区别
- Kibana查询耗时
- 电商小程序开发要多少钱?一文看懂电商小程序开发成本
- 复合函数的间断点问题总结
- DNW使用和常见问题
- 出现Cannot find module 'xxx' 错误
- 笔记本电脑f11功能键_笔记本电脑按键功能详细图解_笔记本电脑键盘功能详细介绍是什么-win7之家...
- 故障处理——阿里云服务器无法向外发送邮件
- cad断点快捷键_CAD打断和打断于点怎么使用?CAD打断快捷键命令及操作方法
- string类的深拷贝和浅拷贝