且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

开源)Java生成二维码分享海报(4)

更新时间:2022-03-15 14:39:35

07、利用 Graphics2D 在海报上绘制个人专属二维码


有了前面绘制海报封面的经验,绘制二维码就变得轻而易举了。


// 二维码

File qrcodeFile = FileUtil.read("qrcode_", ".jpg", "default_qrcodeimg.jpg");

qrcodeFile.deleteOnExit();


BufferedImage qrcodeImage = ImageIO.read(qrcodeFile);

// 二维码起始坐标

int qrcode_x = bgImage.getWidth() - qrcodeImage.getWidth() - MARGIN;

int qrcode_y = bgImage.getHeight() - qrcodeImage.getHeight() - MARGIN;

graphics2dPoster.getGraphics2d().drawImage(qrcodeImage, qrcode_x, qrcode_y, qrcodeImage.getWidth(),

 qrcodeImage.getHeight(), null);


此时的海报效果如下图所示。

开源)Java生成二维码分享海报(4)



是不是感觉海报的左下角比较空白,整体的对称性不够自然,那就在左下角追加一些二维码的描述文本吧。


graphics2d.setColor(new Color(71, 71, 71));
Font font = new Font(USE_FONT_NAME, Font.PLAIN, 22);
graphics2d.setFont(font);
FontDesignMetrics metrics = FontDesignMetrics.getMetrics(graphics2d.getFont());
graphics2d.drawString("沉默王二", MARGIN, bgImage.getHeight() - MARGIN - metrics.getHeight() * 2);
graphics2d.drawString("一个幽默的程序员", MARGIN, bgImage.getHeight() - MARGIN - metrics.getDescent());


此时的海报效果如下图所示。


开源)Java生成二维码分享海报(4)


08、使用 Swing 构建图形化界面


Swing 是一个用于 Java GUI 编程(图形界面设计)的工具包(类库);换句话说,Java 之所以可以用来开发带界面的 PC 软件,就是因为 Swing 的存在。


Swing 使用纯粹的 Java 代码来模拟各种控件,没有使用本地操作系统的内在方法,所以 Swing 是跨平台的。也正是因为 Swing 的这种特性,人们通常把 Swing 控件称为轻量级控件。


Eclipse 默认是不支持可视化的 Swing 编程的,但 Eclipse 的插件市场上有这样一个好插件——WindowBuilder,使用它可以大幅度地降低开发难度,迅速地提升开发效率。


下载地址:https://marketplace.eclipse.org/content/windowbuilder


可直接拖拽到 Eclipse 进行安装,如下图。

开源)Java生成二维码分享海报(4)



注意,Eclipse 的版本要求为:


2018-09 (4.9), Photon (4.8), Oxygen (4.7), Neon (4.6), 2018-12 (4.10), 2019-03 (4.11)

拖拽到 Eclipse 后的效果如下:

开源)Java生成二维码分享海报(4)



安装完成后,会提醒你重启 Eclipse。


温馨提示:安装的过程大约持续 3 分钟的时间,中间可能会失败,重试几次即可。不用担心,Eclipse 会智能地保存失败前的进度。


安装成功后,就可以使用可视化工具设计界面了


09、将项目打成 jar 包发行


在将应用程序进行打包时,使用者都希望开发者只提供一个单独的文件,而不是包含大量源码的文件夹。jar 包存在的目的正源于此。


将项目打成 jar 包也很简单,在 Eclipse 中,可依次右键项目→Export→Runnable JAR file。你将会看到以下界面。


开源)Java生成二维码分享海报(4)


选择 main 方法所在类,指定导出目标,选择 Copy required libraries 选项,点击「Finish」即可。在指定的目录下可找到生成的 jar 包文件。


开源)Java生成二维码分享海报(4)


10、运行 jar 包,填写必要信息后生成海报


如果电脑上安装了 Java 的运行环境,双击该 jar 包文件就可以运行。运行后的界面,如下图所示。可以填写中文、英文、海报封面路径,然后点击按钮生成海报。


开源)Java生成二维码分享海报(4)


PS:为了便于大家的学习,我已经将源码放在了 GitHub 上,地址如下。


https://github.com/qinggee/poster/tree/jinshanciba


赶快去 star 吧!