96编辑器旗下产品
找图
终身
ID:0
到期时间:永久
退出登录
您的位置:首页 > 百科管理 > 详情

java生成海报图片-做海报的软件

原创:找图网 2023-06-22 17:39:13
  • java自定义字体文字和图片生成新图片(高分)

  • 这个技术好实现,思想如下:

    用js控制;

    再根据文字与形式生成图片;

    再输出即可。

    我以前做过。

  • java在生成图片的时候,让文字竖排展示,如何实现?

  • package ;

    import ;

    import ;

    import ;

    import ;

    import ;

    import ;

    import ;

    /**

     * 图片操作类

     * 

     * @author 

     * 

     */

    public class ImageUtil {

        private BufferedImage image;

        private int width; // 图片宽度

        private int height; // 图片高度

        public ImageUtil(int width, int height) {

             = width;

             = height;

            image = new BufferedImage(width, height, _INT_ARGB);

        }

        /**

         * 创建一个含有指定颜色字符串的图片

         * 

         * @param message

         *            字符串

         * @param fontSize

         *            字体大小

         * @param color

         *            字体颜色

         * @return 图片

         */

        public BufferedImage drawString(String message, int fontSize, Color color) {

            Graphics g = ();

            g.setColor(color);

            Font f = new Font("宋体", , fontSize);

            g.setFont(f);

            int len = ();

            g.drawString(message, (width - fontSize * len) / 2,

                    (height + (int) (fontSize / 1.5)) / 2);

            g.dispose();

            return image;

        }

        /**

         * 缩放图片

         * 

         * @param scaleW

         *            水平缩放比例

         * @param scaleY

         *            垂直缩放比例

         * @return

         */

        public BufferedImage scale(double scaleW, double scaleH) {

            width = (int) (width * scaleW);

            height = (int) (height * scaleH);

            BufferedImage newImage = new BufferedImage(width, height,

                    ());

            Graphics g = ();

            g.drawImage(image, 0, 0, width, height, null);

            g.dispose();

            image = newImage;

            return image;

        }

        /**

         * 旋转90度旋转

         * 

         * @return 对应图片

         */

        public BufferedImage rotate() {

            BufferedImage dest = new BufferedImage(height, width,

                    _INT_ARGB);

            for (int i = 0; i < width; i++)

                for (int j = 0; j < height; j++) {

                    (height - j - 1, i, (i, j));

                }

            image = dest;

            return image;

        }

        /**

         * 合并两个图像

         * 

         * @param anotherImage

         *            另一张图片

         * @return 合并后的图片,如果两张图片尺寸不一致,则返回null

         */

        public BufferedImage mergeImage(BufferedImage anotherImage) {

            int w = ();

            int h = ();

            if (w != width || h != height) {

                return null;

            }

            for (int i = 0; i < w; i++) {

                for (int j = 0; j < h; j++) {

                    int rgb1 = (i, j);

                    int rgb2 = (i, j);

                    Color color1 = new Color(rgb1);

                    Color color2 = new Color(rgb2);

                    // 如果该位置两张图片均没有字体经过,则跳过

                    // 如果跳过,则最后将会是黑色背景

                    if (() + () + ()

                            + () + ()

                            + () == 0) {

                        continue;

                    }

                    Color color = new Color(

                            (() + ()) / 2,

                            (() + ()) / 2,

                            (() + ()) / 2);

                    (i, j, ());

                }

            }

            return image;

        }

        /**

         * 保存图片int rgb1 = (i, j); int rgb2 = (i, j);

         * rgb2 = rgb1 & rgb2; (height - i, j, rgb2);

         * 

         * @param filePath

         *            图片路径

         */

        public void save(String filePath) {

            try {

                (image, "png", new File(filePath));

            } catch (IOException e) {

                e.printStackTrace();

            }

        }

        /**

         * 得到对应的图片

         * 

         * @return

         */

        public BufferedImage getImage() {

            return image;

        }

    }

  • 做海报的软件

  • 做海报的软件有:海报制作大师、Photoshop、Canva、美图秀秀、易企秀设计。

    1、海报制作大师

    海报制作大师不仅可以为你设计出满意的宣传海报,针对后续的印刷,支架跟易拉宝的问题都是可以为你准备一站式的服务。现成的模板不需要任何的ps改动,即可轻松的替换图片跟文字的样式。

    2、Photoshop

    这里就叫简称PS了,PS在图像处理领域有着非常广泛的应用。图像处理和特效是Photoshop中最好的地方,它可以把质量差的图片处理成好的图片,也可以把很多图片合成一张,或者把图片原来的颜色改成自己想要的任何颜色。

    从大的角度来看,它适用于绝大多数领域,涵盖平面设计、图像创意、照片修复、网站制作、绘画插画、3D地图、图标制作等。

    3、Canva

    Canva也是一个在线设计平台,2018年开始进入中国。操作简单,功能清晰,一直倡导以技术力量推动设计普及,降低设计师作业成本,提高工作效率和协作效率。

    有利有弊,Canva简单易用的同时就有灵活上的局限,比较适用于一些简单设计,暂时无法满足设计师日常复杂的工作需求。

    4、美图秀秀

    美图秀秀素材库中有几十万个海报的模板,大家也可以直接套入照片,然后将想要添加的文字和边框加入进去,这样一幅好看又简单的海报就生成了,操作特别省心。

    5、易企秀设计

    企业设计图片都在用的软件,就算没灵感也没有关系,只要写出自己的需求,以及想要宣传的话语,就能一键生成让你满意的海报图片来,后期还能进行优化。

    最新文章 更多
    最新素材 更多
    公司介绍 网站地图 图片资讯
    Copyright © 2010-2022 山东找图网络科技有限公司  鲁ICP备18007836号-3  邮箱:15653358549@163.com