精华内容
下载资源
问答
  • 下面小编就来为大家讲解一下微信图文排版怎么在图片上加文字?首先,进入秀米排版工具,到布局板块,添加一个空白的布局。然后,点击这个布局边框,点击下面这个倒三角选择背景。接着,调整这个背景位置大小以及...

    微信图文排版怎么在图片上加文字?

    在大家编辑微信公众号的时候怎样在微信公众号里面的图片上添加文字呢?下面小编就来为大家讲解一下微信图文排版怎么在图片上加文字?

    首先,进入秀米排版工具,到布局板块,添加一个空白的布局。

    4e7d7f3431e1003461864ed958d76417.png

    然后,点击这个布局边框,点击下面这个倒三角选择背景图。

    872444d1c64df467f03308f94fa7ec8f.png

    接着,调整这个背景图位置大小以及是否重复。

    d9247f2f5791164e13c3638e34b53b76.png

    最后,图片设置好后,就可以在图片上添加其他任意的板块,文字也好,图片也好,对话模板也好.....然后把这个复制到微信公众号后台就可以了。使用中大家可能会发现图片只显示一部分,那是因为这个布局框就这么大,所以需要输入文字后通过回车输入空行,把背景图延长到合适大小。

    81c77e34e0f304dc01b698dd3845d7a3.png

    当然,除了加图片,加文字,你也可以加音乐,如下:

    路,在远方

    另外,在图片加文字,往往为了好看,都会用到布局功能,什么叫布局功能,不用多解释,大家肯定很熟悉,如下就是这样的效果:

    39ce27f3bdfd48c0ca542eacd3c4617b.png

    这种图文混排的模式在我们早在用word的时候就经常用到了,在微信编辑里面用起来也很简单,在秀米后台布局板块里面就直接提供了几种布局方式,选定你想要的,后面的相信也不用多说了。

    ee269eaabe6feedd8f81e1f878ecb8d8.png

    最后,其实不管是微信图文排版图片上加文字,还是让微信图文布局更好看,重要的是能够用多种排版方式组合起来使用,效果更加!

    要强调的是,这里告诉大家的只是一个排版小技巧,并不是什么微信运营解决反感,排版效果再好看也只是辅助手段,最重要的依旧是服务、功能和内容,建议大家经过多方尝试之后逐渐形成自己的排版风格,并固定下来长期使用,这样能更好的统一公众号形象,更好的培养用户的记忆。

    以上就是小编为大家整理的关于微信图文排版怎么在图片上加文字的内容。

    展开全文
  • 段时间做了个项目,要基于图片模板生成票据凭证。下面总结一下使用Graphics2D写图片的方法。简单说,就是要下面的票据模板png图片上打印上数字,生成个真的...2. src/main/resources下面添加模板图片,...

    前一段时间做了一个项目,要基于图片模板生成票据凭证。下面总结一下使用Graphics2D写图片的方法。

    简单说,就是要在下面的票据模板png图片上打印上数字,生成一个真的票据。

    模板是这个样子的:

    d1a536e5cb9bc96f053ce6209630ced2.png

    打上字之后是这个样子的:

    c4f9dddb876a9d7ce5d5b05380c75ed0.png

    下面贴一下代码。

    生成工程文件,添加必要的依赖。

    1. 主要的依赖是Log4j2、lombok,具体请参照前面几篇“开发入门”文章。

    2. 在src/main/resources下面添加模板图片,命名为paperCredential.png

    在图片上写字

    基础用法

                Graphics2D g2d = image.createGraphics();
                g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
                g2d.setColor(Color.RED);
                g2d.setFont(font);
                // 打印字符串,例如:g2d.drawString(text, x, y);
                g2d.dispose();

    但因为要打印的字比较多,直接打印每一个字符虽然更直接,但很难维护,所以要封装一下。

    1. 定义writeImage打印字符串到指定的位置
        private void writeImage(Graphics graphics, String name,  String text) {
            writeImage(graphics, CREDENTIAL_FIELD_MAP.get(name).x, CREDENTIAL_FIELD_MAP.get(name).y, text);
        }
    
        private void writeImage(Graphics graphics, int x, int y,  String text) {
            if (text == null) {
                log.error("The text should not be null.");
                return;
            }
    
            graphics.drawString(text, x, y);
        }

    2. 打印出了金额之外的字符串到图片

    前面定义了writeImage之后,就可以直接调用它来打印字符串了。除了金额之外,其他的字符串都可以直接打印出来。

                SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
    
                Graphics2D g2d = image.createGraphics();
                g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
                g2d.setColor(Color.RED);
    
                writeImage(g2d, "created_date", dateFormat.format(paperVo.getCreatedDate()));
                writeImage(g2d, "due_date", dateFormat.format(paperVo.getDueDate()));
                writeImage(g2d, "encode", paperVo.getEncode());
                writeImage(g2d, "holder", paperVo.getHolderEnterpriseName());
                writeImage(g2d, "origin_holder", paperVo.getPrimaryEnterpriseName());
                writeImage(g2d, "if_transfer", paperVo.getIfTransfer() > 0 ? "Y" : "N");
                writeImage(g2d, "if_delay", paperVo.getIfDelay() > 0 ? "Y" : "N");
                writeImage(g2d, "note", note);
    
                g2d.dispose()

    3. 定义每个字符串的位置

    前面打印每一个字符串的时候,都用到了打印位置的坐标(x,y),但在实际在调用writeImage打印的时候只提供了打印字符串的title,比如:“created_date”。我们需要定义数据结构,把打印字符串的title变换成具体的坐标数字。

    引入下面的数据结构来定义每一个字符串的位置:

        private final static int START_X_1 = 126;
        private final static int START_X_2 = 444;
        private final static int START_Y = 170;
        private final static float GRID_HEIGHT = 42.5f;
        private final static int TEXT_WIDTH = 16;
    
        private Map<String, Rectangle> CREDENTIAL_FIELD_MAP = new HashMap<String, Rectangle>() {
            {
                put("created_date", new Rectangle(START_X_1 + 4 * TEXT_WIDTH,START_Y, 0, 0));
                put("due_date", new Rectangle(START_X_1 + 5 * TEXT_WIDTH,(int)(START_Y + GRID_HEIGHT), 0, 0));
                put("holder", new Rectangle(START_X_1 + 5 * TEXT_WIDTH,(int)(START_Y + 2 * GRID_HEIGHT), 0, 0));
                put("amount", new Rectangle(718, (int)(START_Y + 4 * GRID_HEIGHT), 40, 42));
                put("if_transfer", new Rectangle(START_X_1 + 6 * TEXT_WIDTH,(int)(START_Y + 5 * GRID_HEIGHT), 0, 0));
                put("if_delay", new Rectangle(START_X_2 + 4 * TEXT_WIDTH,(int)(START_Y + 5 * GRID_HEIGHT), 0, 0));
    
                put("status", new Rectangle(START_X_2 + 4 * TEXT_WIDTH,START_Y, 0, 0));
                put("encode", new Rectangle(START_X_2 + 4 * TEXT_WIDTH,(int)(START_Y + GRID_HEIGHT), 0, 0));
                put("origin_holder", new Rectangle(START_X_2 + 7 * TEXT_WIDTH,(int)(START_Y + 2 * GRID_HEIGHT), 0, 0));
                put("note", new Rectangle(START_X_1 + 2 * TEXT_WIDTH,(int)(START_Y + 7 * GRID_HEIGHT), 0, 0));
            }
        };

    4. 打印金额

    定义打印金额的函数,来打印完整的数字到格子里:

        private void writeAmount(Graphics graphics, long amount) {
            for (int i = 0; i < AMOUNT_NUMBER_LENGTH && amount > 0; i++, amount /= 10) {
                writeImage(graphics, (int)(CREDENTIAL_FIELD_MAP.get("amount").x - i * CREDENTIAL_FIELD_MAP.get("amount").width) + (i / 2), CREDENTIAL_FIELD_MAP.get("amount").y, String.valueOf(amount % 10)/*BIG_NUMBER_LIST[(int)(amount % 10)]*/);
            }
        }

    最后的效果是这样的:

    05fe8043dd9714c51b89710540953bb6.png

    5. 自带字体

    之前遇到过部署的服务器上面没有中文的情况,导致所有的汉字都无法打印的问题。简单的解决方案是直接在工程里面加入字体文件,并打包发布就可以了。

    首先在src/main/resources下面添加font package,在里面添加ttf文件。然后在代码里面加载该字体:

        private final static String FONT_FILENAME = "font/simsun.ttf";
     
        private Font loadFont(float fontSize) {
            if (dynamicFont == null) {
                log.info("Try to load font.");
                InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(FONT_FILENAME);
                try {
                    dynamicFont = Font.createFont(Font.TRUETYPE_FONT, inputStream);
                } catch (Exception e) {
                    log.error(e.getMessage(), e);
                }
    
                try {
                    inputStream.close();
                } catch (Exception e) {
                    log.error(e.getMessage(), e);
                }
            }
    
            return dynamicFont == null ? null : dynamicFont.deriveFont(fontSize);
        }

    6. 添加UnitTest测试打印效果

    在src/test/java目录下的com.example.hello package里面创建GraphicUtilTest.java文件,添加测试用例来调用产品代码。

    package com.example.hello.utils;
    
    import com.example.hello.utils.GraphicUtil;
    import com.example.hello.vo.PaperVo;
    import org.junit.Before;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.beans.factory.annotation.Qualifier;
    import org.springframework.stereotype.Component;
    import org.springframework.test.context.junit4.SpringRunner;
    
    import java.util.Date;
    
    public class GraphicUtilTest {
    
        private GraphicUtil graphicUtil = new GraphicUtil();
    
        private PaperVo paperVo = null;
    
        @Before
        public void before() {
            setKingmiReqDto();
        }
    
        @Test
        public void createCredentialTest() {
            assert graphicUtil.createCertificate(paperVo) != null;
        }
    
        private void setKingmiReqDto() {
            paperVo = new PaperVo();
            paperVo.setAmount(123456789L);
            paperVo.setCreatedDate(new Date());
            paperVo.setDueDate(new Date());
            paperVo.setIfTransfer(1);
            paperVo.setIfDelay(1);
            paperVo.setHolderEnterpriseName("宇宙金融科技有限公司");
            paperVo.setNote("一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十");
        }
    }
    

    运行createCredentialTest,可能会遇到找不到%MODULE_WORKING_DIR%的错误,这是因为工作目录不匹配的问题。按下面的方法来解决:

    1. Run -> Edit Configuration
    2. 然后把working directory里面的内容改成原点(当前目录)

    4f2607155710f02be2ea6b27fb79b18b.png

    完整的工程请参考:

    zhu-/print-graphicgithub.com
    02190f4fc2aa78c8e7d5070df2991272.png
    展开全文
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼视频来自:优酷java中添加图片做动画效果,怎么一闪的运动啊?怎样才能让它不闪的连续运动呢?下面是代码,代码项目project里有两个类,个是LoadImg,个是...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

    视频来自:优酷

    在java中添加图片做动画效果,怎么一闪一闪的运动啊?怎样才能让它不闪的连续运动呢?

    下面是代码,代码项目project里有两个类,一个是LoadImg,一个是Entry

    图片放在src下的一个新建文件夹image里,调试的时候自己可以随便找个图片,在src下新建一个文件夹命名image,然后把图片房里去就行。

    第一个Entry类

    package project;

    import java.awt.Canvas;

    import java.awt.Graphics;

    import java.awt.Image;

    import java.awt.Toolkit;

    import java.awt.event.ComponentAdapter;

    import java.awt.event.ComponentEvent;

    import java.awt.event.ContainerAdapter;

    import java.awt.event.ContainerEvent;

    import javax.swing.JFrame;

    import javax.swing.JPanel;

    import org.omg.CORBA.PUBLIC_MEMBER;

    public class Entry extends Canvas{

    Image img = LoadImg.getImage("image/ball.png");

    // "image/ball.png"图片放在src下的一个新建文件夹image里

    private double degree = Math.PI/4;

    private double x = 20,y = 70;

    Entry() {

    new MyThread().start();

    }

    public void paint(Graphics g){

    g.drawImage(img, (int)x, (int)y, null);

    x += 10*Math.cos(degree);

    y += 10*Math.sin(degree);

    if(x>=660 || x<=0)

    degree = Math.PI - degree;

    if(y>=440 || y<0)

    degree = -degree;

    }

    class MyThread extends Thread{

    public void run() {

    while(true){

    repaint();

    try {

    Thread.sleep(40);

    } catch (InterruptedException e) {

    }

    }

    }

    }

    public static void main(String[] args) {

    JFrame frame = new JFrame();

    frame.setSize(800, 600);

    frame.setLocation(100, 50);

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    frame.setVisible(true);

    Entry canvas = new Entry();

    canvas.setSize(frame.getWidth(), frame.getHeight());

    frame.add(canvas);

    }

    }

    第二个LoadImg类

    package project;

    import java.awt.Image;

    import java.awt.image.BufferedImage;

    import java.io.IOException;

    import java.net.URL;

    import javax.imageio.ImageIO;

    public class LoadImg {

    private LoadImg(){}

    public static Image getImage(String path){

    URL u = Entry.class.getClassLoader().getResource(path);

    Image img = null;

    try {

    img = ImageIO.read(u);

    } catch (IOException e) {

    e.printStackTrace();

    }

    return img;

    }

    }

    展开全文
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼视频来自:优酷java中添加图片做动画效果,怎么一闪的运动啊?怎样才能让它不闪的连续运动呢?下面是代码,代码项目project里有两个类,个是LoadImg,个是...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

    视频来自:优酷

    在java中添加图片做动画效果,怎么一闪一闪的运动啊?怎样才能让它不闪的连续运动呢?

    下面是代码,代码项目project里有两个类,一个是LoadImg,一个是Entry

    图片放在src下的一个新建文件夹image里,调试的时候自己可以随便找个图片,在src下新建一个文件夹命名image,然后把图片房里去就行。

    第一个Entry类

    package project;

    import java.awt.Canvas;

    import java.awt.Graphics;

    import java.awt.Image;

    import java.awt.Toolkit;

    import java.awt.event.ComponentAdapter;

    import java.awt.event.ComponentEvent;

    import java.awt.event.ContainerAdapter;

    import java.awt.event.ContainerEvent;

    import javax.swing.JFrame;

    import javax.swing.JPanel;

    import org.omg.CORBA.PUBLIC_MEMBER;

    public class Entry extends Canvas{

    Image img = LoadImg.getImage("image/ball.png");

    // "image/ball.png"图片放在src下的一个新建文件夹image里

    private double degree = Math.PI/4;

    private double x = 20,y = 70;

    Entry() {

    new MyThread().start();

    }

    public void paint(Graphics g){

    g.drawImage(img, (int)x, (int)y, null);

    x += 10*Math.cos(degree);

    y += 10*Math.sin(degree);

    if(x>=660 || x<=0)

    degree = Math.PI - degree;

    if(y>=440 || y<0)

    degree = -degree;

    }

    class MyThread extends Thread{

    public void run() {

    while(true){

    repaint();

    try {

    Thread.sleep(40);

    } catch (InterruptedException e) {

    }

    }

    }

    }

    public static void main(String[] args) {

    JFrame frame = new JFrame();

    frame.setSize(800, 600);

    frame.setLocation(100, 50);

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    frame.setVisible(true);

    Entry canvas = new Entry();

    canvas.setSize(frame.getWidth(), frame.getHeight());

    frame.add(canvas);

    }

    }

    第二个LoadImg类

    package project;

    import java.awt.Image;

    import java.awt.image.BufferedImage;

    import java.io.IOException;

    import java.net.URL;

    import javax.imageio.ImageIO;

    public class LoadImg {

    private LoadImg(){}

    public static Image getImage(String path){

    URL u = Entry.class.getClassLoader().getResource(path);

    Image img = null;

    try {

    img = ImageIO.read(u);

    } catch (IOException e) {

    e.printStackTrace();

    }

    return img;

    }

    }

    展开全文
  • 有很多人喜欢古诗词,古文化,那么怎么给自己拍摄的图片添加上文字,边框和印章制作复古图片呢!上是直接采用的曰的复古模版,还有添加印章的功能哦,非常的方便的!也可以采用给图片留白边框的模式哦,也非常的...
  • 在编辑Word文档的时候我们可以随意的插入图片,但是同样的操作在PDF里就很难实现了,原因是PDF文件不可以随意进行编辑,想要完成这操作的话我们可以借助PDF编辑器来完成,下面看看怎么在PDF上添加图片吧。...
  • 不知道大家在使用PDF文件的时候,有没有遇到过在PDF文件中需要添加图片的情况,小编是遇到过,或许也有小伙伴遇到过但不知道该如何操作的,不要担心,今天小编就跟大家介绍怎么在PDF中添加图片起来看看下面的...
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼视频来自:优酷java中添加图片做动画效果,怎么一闪的运动啊?怎样才能让它不闪的连续运动呢?下面是代码,代码项目project里有两个类,个是LoadImg,个是...
  • 本文主要介绍的是利用Python在图片添加文字的两种方法,下面分享处理供大家参考学习,下来要看看吧、使用OpenCV在图片添加文字看上去很简单,但是如果是利用OpenCV来做却很麻烦。OpenCV中并没有使用自定义字体...
  • 我们经常会生活中工作中使用word文档来编辑一些文本信息,从而记录一些文字内容,我们使用word文档来编辑文字信息的时候,感觉都是文字内容太过于单调,我们想要文档中添加图片,那么究竟该如何操作呢?下面...
  • 用C#怎么在DotNETbar中控件superGridControl中添加图片,我现在能将图片转换成二进制或者是image类型,但是在superGridControl中就是无法显示,需要显示图片的那列已经设置成GridImageEditControl,请问下面要怎么...
  • 在手机上,给照片添加文字、诗词、歌词,用什么方法添加非常简单?...以下是两款添加文字后的图片效果:1、直接在图片添加上文字2、使用现成的设计模版给图片添加上歌词、诗词或者文字等等!3、下面...
  • 怎么在CDepart下面建那另外两个类, 点右键后如二,但是不知道怎么接着做 新手没有c币可以悬赏,求大神教一下![图片](https://img-ask.csdn.net/upload/201706/15/1497528751_20588.jpg)![图片]...
  • 制作PPT文档的时候,为了让PPT看起来更有特色,我们会给PPT添加模板。但是PowerPoint中的模板很少,联机添加模板需要购买才能使用。其实大家可以尝试着自己做PPT模板,那么PPT模板怎么做?方法很简单的。大家可以...
  • 我们办公中处理的文件文档很多,其中就有不是pdf文件,这些pdf文件要怎么去处理,其实只需下载pdf编辑器,那么pdf文档里的图片怎么添加,页面怎么修改呢? 下面小编就给大家解决以上问题,具体操作步骤如下。 ...
  • 查看API 可通过 JLabel构造函数,也可使用setIcon(Icon icon) 函数,下面给出个列子!看楼主提问,主要想知道路径怎么得来!可使用this.getClass().getResource("/")获取的是class文件编译后放置的绝对路径。this....
  • 大家都知道,GIF格式的图片都属于动图,如果想这类图片上面添加文字,需要利用相关的gif编辑器才能实现,直接按照常规的方式只会让图片变成静态的那么如何给GIF图片添加文字,而且还能保持动态效果不变呢?下面...
  • 下面给大家分享下微信怎么发文字朋友圈。感兴趣的小伙伴可以尝试下。第步:首先打开微信,然后点击“发现”页。发现页我们点击朋友圈按钮,一般情况下都页面最顶部。这个页面的功能还可以进行编辑添加,...
  • 让表单变身营销页,最核心的是什么?当然是图文并茂啦!...下面给大家介绍免费表单中添加n张图片的方法,而且没有上限要求哦~这里要用到「描述文字」或者「分隔符」字段,通过它来上传在线图片就可...
  • 添加背景音乐、背景图片等效果,该如何电脑上实现呢?今天小编给大家分享款剪辑软件——视频剪辑高手,下面一起用它来试试叭。 批量导入视频素材 首先,打开视频剪辑高手并登录 进入“批量剪辑视频”这个...
  • 由于pdf文件越用越广泛,大家已经渐渐的找到能够编辑PDF格式文件的方法,小编这个过程中也是学会了种,下面就给大家分享下如何对pdf文件进行编辑的方法吧!其实是非常的简单,下面起来看看吧! 我这里是...
  • 如何轮播的图片添加点击事件

    千次阅读 2016-11-27 21:31:59
    我想轮播的图片添加点击事件,点击图片就可以转到另个Activity,应该怎么实现呢?下面是实现图片轮播的代码,我了Fragment内(代码转载自:http://blog.csdn.net/l1028386804/article/details/48049913) ...
  • 比如编辑PDF文件的时候,需要文件中添加图片作为背景,应该怎么操作呢?对于PDF文档的修改需要用到极速PDF编辑器,首先我们用极速PDF编辑器打开文件后,选择右上角“文档”选项中的“水印”,并点击添加弹出...
  • 工作的时候,小编最讨厌做的事就是整理图片了。...所以,小编今天这里就来给大家介绍个能批量处理图片的方法,利用它你可以批量修改图片尺寸大小、美化图片添加水印等,简直不要太好用。下面马...
  • 本文采用OpenCV3和Python3 来实现静态图片的人脸识别,采用的是Haar文件级联。首先需要将OpenCV3源代码中找到data文件夹下面的haarcascades文件夹里面包含了所有的...你新建的Python脚本文件目录里面建个名为ca...
  • 1.首先github上的仓库上,创建个空的文件夹,用于上传图片看 要点击的按钮是创建新的文件,并不是创建新的文件夹,具体怎么?往下看 这个时候,下面的提交按钮才能提交     2.进入新创建的文件夹,...
  • 视频怎么在脸上p遮挡物,视频怎么添加照片等等这样那样的问题,今天小编针对这个给视频加照片的问题,用个小工具,轻松解决,一起来看下操作吧。 1、 首先我们要下载工具固乔剪辑助手。 2、 运行助手,...
  • 下面小编就和大家起来看看几何画板添加背景图片方法。 方法 取消图片被选中属性 步骤 打开几何画板,将要作为背景的图片选中并拖动到几何画板编辑区域里面,调整图片到软件窗口大小,如下所示。几何画板 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 382
精华内容 152
关键字:

怎么在图片下面添加图一