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

学以致用是学习的目的,

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

同样,

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

在街头我们常会看到这样一种挑战,在本子上从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

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

谢谢你的阅读,

是对我们最大的支持

都是宇宙超级无敌小可爱

 
                      文字:微笑的小小刀

排版:花音

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值