原来用代码给图片加文字这么简单~

学以致用是学习的目的,

不然后学了就放了那是在浪费生命。

同样,

我们学习编程也要解决现实中的出现的问题。

原来用代码给图片加文字这么简单~

在街头我们常会看到这样一种挑战,在本子上从1一直写到1000,能保证连续不出错,就可以获得奖金。挑战者不少,但实际能获奖金者就寥寥无几了,因为这样重复性很强的工作,人们很难集中注意力将其一字不差的给完成。 但这要是交给计算机来做,能写到他倒闭!

for(int i =1;i<1001;i++){

System.out.println(i);

}

现在以上的小例子并不能给我们带来奖金,它只能告诉我们,计算机的优势在于可以胜任重复性的工作!如下面这个需求:

要给每个人发张贺卡,除了名字不一样外,其他的都一样。

如果没有程序的话,我们会怎么做?

我们会打开word, 或者别的编辑工具,然后开始替换名字,然后一张张的保存。

原来用代码给图片加文字这么简单~

我就一直在想,

人在电脑上所能完成的,

我们用程序也一定可以完成!

那面上面我们人执行的步骤拆解开来,

我们需要电脑按以下流程来走:

1.读取到我们的背景图

2.循环我们的名单列表

3.对每一个名字拼出欢迎语

4.把拼好的欢迎语放到背景图指定位置

5.输出新的图片

原来用代码给图片加文字这么简单~

接着我们上期用maven创建java工程,

(链接)

在创建好的工程下,

我们把 背景图放到 resources 目录下,

如果 没有可以新建

原来用代码给图片加文字这么简单~

原来用代码给图片加文字这么简单~

然后在App.java里面开始按照我们上面整理的顺序写代码

public class App

{

    public static void main( String[] args )

    {

        //模拟名单

        List<String> names = Arrays.asList("小刀","花音");

 

        try {

            for (String name : names) {

                //读取背景图

                InputStream inputStream = App.class.getResourceAsStream("/background.png");

                BufferedImage image = ImageIO.read(inputStream);

                Graphics2D graphics = image.createGraphics();

                //设置字体

                Font font=new Font("AaFangMeng (Non-Commercial Use)",Font.PLAIN,76);

                graphics.setColor(Color.black);

                graphics.setFont(font);

                graphics.drawString("亲爱的"+name+"同学:",30,1450);

 

                String fileName = name+".png";

                //保存成图片

                ImageIO.write(image, "PNG", new File(fileName));

            }

 

        } catch (IOException e) {

            e.printStackTrace();

        }

    }

}

原来用代码给图片加文字这么简单~

运行之后,就能看到输出的两张图片


原来用代码给图片加文字这么简单~

小伙伴们可以自己试试哦~

原来用代码给图片加文字这么简单~

谁说程序员木讷的,这里有用代码写出的三行情诗,了解一下~

饭后一笑|那些年被误会的程序员们~

工作后才发现.....

原来用代码给图片加文字这么简单~

QQ群:661749608

微信群请点击公众号菜单进微信群

谢谢你的阅读,

是对我们最大的支持

都是宇宙超级无敌小可爱

原来用代码给图片加文字这么简单~

 
                      
文字:微笑的小小刀

排版:花音