zoukankan      html  css  js  c++  java
  • QRGen+thumbnailator生成包含logo 参考配置说明

    以下主要是说明下生成的一些细节,减少使用难度

    参考代码

    • pom.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.dalong</groupId>
        <artifactId>imageapp</artifactId>
        <version>1.0-SNAPSHOT</version>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <source>8</source>
                        <target>8</target>
                    </configuration>
                </plugin>
            </plugins>
        </build>
        <repositories>
            <repository>
                <id>jitpack.io</id>
                <url>https://jitpack.io</url>
            </repository>
        </repositories>
       <dependencies>
           <dependency>
               <groupId>apache-codec</groupId>
               <artifactId>commons-codec</artifactId>
               <version>1.2</version>
           </dependency>
           <dependency>
               <groupId>com.github.kenglxn.qrgen</groupId>
               <artifactId>javase</artifactId>
               <version>2.6.0</version>
           </dependency>
           <dependency>
               <groupId>net.coobird</groupId>
               <artifactId>thumbnailator</artifactId>
               <version>0.4.8</version>
           </dependency>
       </dependencies>
    </project>
    • 代码
    package com.dalong;
    import net.coobird.thumbnailator.Thumbnails;
    import net.coobird.thumbnailator.geometry.Positions;
    import net.coobird.thumbnailator.resizers.configurations.AlphaInterpolation;
    import net.glxn.qrgen.core.image.ImageType;
    import net.glxn.qrgen.javase.QRCode;
    import org.apache.commons.codec.binary.Base64;
    import javax.imageio.ImageIO;
    import java.io.*;
    public class Application {
            public static void main(String[] args) throws IOException {
                ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
                // 符合黑白模式的,推荐withColor 的第一个参数为0xFF000000,这样保障生成的二维码具有比较高的识别度
                File file =   QRCode.from("https://github.com/rongfengliang").withColor(0xFF000000, 0xf7f7f7).to(ImageType.PNG).withSize(300, 300).file();
               // 基于水印模式进行logo的添加,推荐水印配置alphaInterpolation为AlphaInterpolation.QUALITY
                Thumbnails.of(file)
                    .size(300, 300)
                    .allowOverwrite(true)
                   .keepAspectRatio(true)
                    .alphaInterpolation(AlphaInterpolation.QUALITY)
           .watermark(Positions.CENTER, ImageIO.read(Application.class.getClassLoader().getResourceAsStream("yyy.png")), 1f)
                    .toOutputStream(outputStream);
                byte[] encodedBytes = Base64.encodeBase64(outputStream.toByteArray());
                System.out.println(new String(encodedBytes));
            }
    }

    参考资料

    https://github.com/kenglxn/QRGen
    https://github.com/coobird/thumbnailator

  • 相关阅读:
    转角色权限系统的一些概念
    error message cs0012
    关于Action返回结果类型的事儿(下)
    MVC中权限的知识点及具体实现代码
    iis7 发布mvc3 遇到的HTTP错误 403.14Forbidden Web 服务器被配置为不列出此目录的内容及Login on failed for "IIS APPPOOL\ASP.NET v4.0"问题
    关于获取时间段的整理片段
    ASP.NET MVC – 关于Action返回结果类型的事儿(上)
    Lucene 查询权重排序因子解释(备查)
    Lucene代替SQL Server NewGuid获取随机结果
    如何在Web数据挖掘中保证用户访问速度的一点实践(SQLite+Quartz)
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/13825820.html
Copyright © 2011-2022 走看看