最近在调试的时候,发现打印出来的图片中,文字水印本来应该是中文名的地方,结果出现了三个方框。初步怀疑是再给图片加水印的时候乱码了(原本服务器是Windows的,后面换成Linux)。经过排查,发现代码中有调用Graphics2D加水印的方法。网络上借鉴了一下前辈的经验,发现是Linux上没有安装中文字体。随后在Linux系统中安装中文字体,问题得以解决。

下面列出Linux下安装中文字体的详细步骤。

  1. 拷贝本地Windows系统的字体
    Windows下字体的存放位置为C:\Windows\Fonts,里面有很多字体。网上推荐选择自己喜欢的字体进行安装,我选择更为简单粗暴的方式,直接拷贝整个文件夹,打算把所有字体都安装上去。拷贝出来之后,发现也就几百兆,就这么干了。
    字体文件夹拷贝出来之后,重命名为WinFronts,直接拷贝出来的文件夹应该是没有相关权限的。我也就没有去给文件夹设置权限什么的,直接通过WinS C P将文件加移动到目标Linux服务器上。将WinFronts文件夹复制到目标Linux服务器/usr/share/fonts下。
    2.执行命令,安装字体
    下面就是执行一系列的命令安装字体即可。
    a: 去向字体文件目录,命令:cd /usr/share/fonts/WinFonts
    b: 执行:mkfontscale ,(如果提示 mkfontscale: command not found,要自己安装,安装命令: yum install mkfontscale,提示安装内容是否正确的话,敲Y,回车就好),安装完成要重新执行:mkfontscale
    c: 执行:mkfontdir
    d: 执行:fc-cache -fv (如果提示 fc-cache: command not found,要自己安装,安装命令: yum install fontconfig ,提示安装内容是否正确的话,敲Y,回车就好),安装完成要重新执行:fc-cache -fv
    e.可以用:fc-list :lang=zh 命令,查看安装的中文字体,fc-list 命令查看linux的所有字体。

原文链接:https://my.oschina.net/u/3081344/blog/3142241

解决Linux图片加水印(Graphics2D)出现方框的问题相关推荐

  1. Bug消灭记:透明 png 图片加水印后变成黑问题

    背景 本周四晚下班后,领导火急火燎地电话我,说公司某个产品的系统配置模块在配置登录 Logo 的时候,上传一个透明底色的 png 图片,结果变成了黑色背景色,让我修复一下这个 Bug . 领导初步怀疑 ...

  2. 给图片加水印的代码java_Java为图片加水印的代码

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. import java.awt.AlphaComposite; import java.a ...

  3. Java图片处理(二)图片加水印

    图片加水印,是通过图片重叠绘制实现的.实现代码如下: public static void press(String pressImg, String pressText, String target ...

  4. java 水印 位置_Java实现图片加水印且控制位置和透明度

    Java实现图片加水印且控制位置和透明度 昨天要做一个给图片加水印的功能,不想使用一些插件,就在网上转了一会儿,经过改装成了我需要的功能,代码如下: package org.guhao; import ...

  5. java 图片加水印不失真_java实现图片加水印效果

    图片加水印代码,这些代码不常用,但是用到的时候需要注意的地方也挺多的,每次都重写比较麻烦,记下来备忘.代码是图片加水印的一般流程,可根据实际项目需要自行修改. 注:代码在JPG和PNG格式图片下测试通 ...

  6. Java为图片加水印

    Java为图片加水印工具类 一.简介 使用Java在图片上加上水印,可以添加文字.图片 编写一个工具类的代码优化和整理 使用建造者模式提高工具类的可配置性 二.效果图 三.基本参数 // ++++++ ...

  7. JAVA实现图片加水印及Base64图片字符串加水印

    JAVA实现图片加水印及Base64图片字符串加水印 可将根据不同需求选择场景一,场景二来实现家水印操作,个人感觉比我上一遍文章<base64字符串加水印 >实在 场景一: 涉及上送过来的 ...

  8. 图片水印怎么加?图片加水印方法分享

    相信大家在日常生活中,都会在各个平台上分享自己拍摄的照片吧,但大家在收到网友的好评和点赞的同时,是不是会因为担心图片被别人转发或者是拿去做一些不好的事情而感到烦恼呢?其实要解决这个烦恼很简单,那就是给 ...

  9. java图片加水印上传工具类_基于Spring Boot实现图片上传/加水印一把梭操作

    文章共537字,阅读大约需要 2分钟 ! 概述 很多网站的图片为了版权考虑都加有水印,尤其是那些图片类网站.自己正好最近和图片打交道比较多,因此就探索了一番基于 Spring Boot这把利器来实现从 ...

最新文章

  1. C 语言编程 — 结构化程序流的汇编代码与 CPU 指令集
  2. fdisk 磁盘分区命令
  3. hdu 4747 mex 线段树+思维
  4. 今日恐慌与贪婪指数为91 贪婪程度有所缓解
  5. Js之History对象
  6. 什么是反射,为什么要用反射,反射的知识讲解
  7. C3P0连接池配置参数讲解
  8. Java中文姓名拆分
  9. MRI_Made_Easy 磁共振成像原理-物理基础5
  10. 程序员记录之人性弱点
  11. c语言函数初始化,c语言初始化输入和输出函数
  12. ceph 代码分析 读_Ceph代码分析-OSD篇
  13. 苹果充电器怎么辨别真假_如何快速辨别苹果充电器数据线耳机等配件真假和是否正品问题...
  14. 2020华为软件精英挑战赛历程总结——复赛篇
  15. 淘宝王琤:Taobao JVM的性能优势与价值体现
  16. Apache Kudu 与 Impala Shell 的结合使用文档(创建表、删、改、查)
  17. 【多线程与高并发】JMM内存模型 基础
  18. 大家不用买无线路由器了也可以让手机上WIFI
  19. C 语言教程详解——入门到精通
  20. 简单的几句PHP生成美团3周年砸金蛋抽奖代码

热门文章

  1. 苹果开发者账户续费,支付授权失败,真正的解决办法
  2. Linux 永久修改主机名(转载)
  3. 错误一大堆,为什么机器翻译还有人用?
  4. 将HEX文件通过Keil软件进行下载
  5. CNS数据链测试模拟平台——POCKET
  6. 抖音有这样一个姑娘她活成了大家都想要的样子
  7. js原生后代选择器_js 后代选择器
  8. macbook远程控制CentOS服务器
  9. 自建Kubernetes集群如何使用阿里云CSI存储组件
  10. [c语言]在程序中检测键盘按键