Java代码生成带logo的二维码

Java实现带logo的二维码 Java实现带logo的二维码 二维码应用到生活的各个方面,会用代码实现二维码,我想一定是一项加分的技能。好了,我们来一起实现一下吧。 我们实现的二维码是基于QR Code的标准的,QR Code是由日本Denso公司于1994年研制的一种矩阵二维码符号码,全称是Quick Response Code QR Code:专利公开,支持中文; QR Code与其他二维码相比,具有识读速度快、数... 阅读详情

也不记得是哪天闲的没有事做,突然对生成二维码感兴趣,所以在网上百度搜索了一番.总结代码如下:


package com.non.daily.diary;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import javax.imageio.ImageIO;
import org.apache.commons.codec.binary.Base64;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;

/**
 * 
 * 生成测二维码中带有logo
 * @author     cWX551313
 * @version    2018年4月13日
 * @since      
 */
public class LogoQrCode
{
    private static final int QRCOLOR = 0xFF000000;   //默认是黑色
    private static final int BGWHITE = 0xFFFFFFFF;   //背景颜色


    public static void main(String[] args) throws WriterException  
    {  
        try  
        {  
//            File out = new File("F:/图片/ceshi.png");
//            //将图片写入ImageIO流
//           
//            BufferedImage img = ImageIO.read(out);
//            //将图片写出到指定位置(复制图片)
//            OutputStream ops = new FileOutputStream(new File("F:/test.jpg"));
//            ImageIO.write(img, "jpg", ops);    
            
            //https://www.baidu.com/
            String s =getLogoQRCode("HTTPS://QR.ALIPAY.COM/FKX01046GICM205WWUDECA", "2018.4.13 测试");//
            System.out.println("===="+s);
        }  
        catch (Exception e)  
        {  
            e.printStackTrace();  
        }  
    }  


    /**
     * 生成带logo的二维码图片
     * @param qrUrl 跳转链接
     * @param desc 描述
     * @return
     */

    public static String getLogoQRCode(String qrUrl,String desc)
    {
//      String filePath = (javax.servlet.http.HttpServletRequest)request.getSession().getServletContext().getRealPath("/") + "resources/images/logoImages/llhlogo.png";
        //filePath是二维码logo的路径,但是实际中我们是放在项目的某个路径下面的,所以路径用上面的,把下面的注释就好
        String filePath = "F:/图片/ceshi.png";  //TODO  
        String content = qrUrl;
        try
        {  
            LogoQrCode zp = new LogoQrCode();
            BufferedImage bim = zp.getQR_CODEBufferedImage(content, BarcodeFormat.QR_CODE, 400, 400, zp.getDecodeHintType());
            return zp.addLogo_QRCode(bim, new File(filePath), new LogoConfig(), desc);
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        return null;
    }

    /**
     * 给二维码图片添加Logo
     *
     * @param qrPic
     * @param logoPic
     */
    public String addLogo_QRCode(BufferedImage bim, File logoPic, LogoConfig logoConfig, String productName)
    {
        try
        {
            /**
             * 读取二维码图片,并构建绘图对象
             */
            BufferedImage image = bim;
            Graphics2D g = image.createGraphics();

            /**
             * 读取Logo图片
             */
            BufferedImage logo = ImageIO.read(logoPic);
            /**
             * 设置logo的大小,本人设置为二维码图片的20%,因为过大会盖掉二维码
             */
            int widthLogo = logo.getWidth(null)>image.getWidth()*3/10?(image.getWidth()*3/10):logo.getWidth(null), 
                heightLogo = logo.getHeight(null)>image.getHeight()*3/10?(image.getHeight()*3/10):logo.getWidth(null);

            /**
             * logo放在中心
             */
             int x = (image.getWidth() - widthLogo) / 2;
             int y = (image.getHeight() - heightLogo) / 2;
             /**
             * logo放在右下角
             *  int x = (image.getWidth() - widthLogo);
             *  int y = (image.getHeight() - heightLogo);
             */

            //开始绘制图片
            g.drawImage(logo, x, y, widthLogo, heightLogo, null);
//            g.drawRoundRect(x, y, widthLogo, heightLogo, 15, 15);
//            g.setStroke(new BasicStroke(logoConfig.getBorder()));
//            g.setColor(logoConfig.getBorderColor());
//            g.drawRect(x, y, widthLogo, heightLogo);
            g.dispose();

            //把商品名称添加上去,商品名称不要太长哦,这里最多支持两行。太长就会自动截取啦
            if (productName != null && !productName.equals("")) {
                //新的图片,把带logo的二维码下面加上文字
                BufferedImage outImage = new BufferedImage(400, 445, BufferedImage.TYPE_4BYTE_ABGR);
                Graphics2D outg = outImage.createGraphics();
                //画二维码到新的面板
                outg.drawImage(image, 0, 0, image.getWidth(), image.getHeight(), null);
                //画文字到新的面板
                outg.setColor(Color.BLACK); 
                outg.setFont(new Font("宋体",Font.BOLD,30)); //字体、字型、字号 
                int strWidth = outg.getFontMetrics().stringWidth(productName);
                if (strWidth > 399) {
//                  //长度过长就截取前面部分
//                  outg.drawString(productName, 0, image.getHeight() + (outImage.getHeight() - image.getHeight())/2 + 5 ); //画文字
                    //长度过长就换行
                    String productName1 = productName.substring(0, productName.length()/2);
                    String productName2 = productName.substring(productName.length()/2, productName.length());
                    int strWidth1 = outg.getFontMetrics().stringWidth(productName1);
                    int strWidth2 = outg.getFontMetrics().stringWidth(productName2);
                    outg.drawString(productName1, 200  - strWidth1/2, image.getHeight() + (outImage.getHeight() - image.getHeight())/2 + 12 );
                    BufferedImage outImage2 = new BufferedImage(400, 485, BufferedImage.TYPE_4BYTE_ABGR);
                    Graphics2D outg2 = outImage2.createGraphics();
                    outg2.drawImage(outImage, 0, 0, outImage.getWidth(), outImage.getHeight(), null);
                    outg2.setColor(Color.BLACK); 
                    outg2.setFont(new Font("宋体",Font.BOLD,30)); //字体、字型、字号 
                    outg2.drawString(productName2, 200  - strWidth2/2, outImage.getHeight() + (outImage2.getHeight() - outImage.getHeight())/2 + 5 );
                    outg2.dispose(); 
                    outImage2.flush();
                    outImage = outImage2;
                }else {
                    outg.drawString(productName, 200  - strWidth/2 , image.getHeight() + (outImage.getHeight() - image.getHeight())/2 + 12 ); //画文字 
                }
                outg.dispose(); 
                outImage.flush();
                image = outImage;
            }
            logo.flush();
            image.flush();
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            baos.flush();
            ImageIO.write(image, "png", baos);

            //二维码生成的路径,但是实际项目中,我们是把这生成的二维码显示到界面上的,因此下面的折行代码可以注释掉
            //可以看到这个方法最终返回的是这个二维码的imageBase64字符串
            //前端用 <img src="https://img-blog.csdnimg.cn/2022010613553663056.png"/>  其中${imageBase64QRCode}对应二维码的imageBase64字符串
            Boolean t =ImageIO.write(image, "png", new File("F:/" + new Date().getTime() + "test.png"));
            System.out.println("+++"+t);

            String imageBase64QRCode =  Base64.encodeBase64URLSafeString(baos.toByteArray());

            baos.close();
            return imageBase64QRCode;
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        return null;
    }


    /**
     * 构建初始化二维码
     *
     * @param bm
     * @return
     */
    public BufferedImage fileToBufferedImage(BitMatrix bm)
    {
        BufferedImage image = null;
        try
        {
            int w = bm.getWidth(), h = bm.getHeight();
            image = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);

            for (int x = 0; x < w; x++)
            {
                for (int y = 0; y < h; y++)
                {
                    image.setRGB(x, y, bm.get(x, y) ? 0xFF000000 : 0xFFCCDDEE);
                }
            }

        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        return image;
    }

    /**
     * 生成二维码bufferedImage图片
     *
     * @param content
     *            编码内容
     * @param barcodeFormat
     *            编码类型
     * @param width
     *            图片宽度
     * @param height
     *            图片高度
     * @param hints
     *            设置参数
     * @return
     */
    public BufferedImage getQR_CODEBufferedImage(String content, BarcodeFormat barcodeFormat, int width, int height, Map<EncodeHintType, ?> hints)
    {
        MultiFormatWriter multiFormatWriter = null;
        BitMatrix bm = null;
        BufferedImage image = null;
        try
        {
            multiFormatWriter = new MultiFormatWriter();
            // 参数顺序分别为:编码内容,编码类型,生成图片宽度,生成图片高度,设置参数
            bm = multiFormatWriter.encode(content, barcodeFormat, width, height, hints);
            int w = bm.getWidth();
            int h = bm.getHeight();
            image = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);

            // 开始利用二维码数据创建Bitmap图片,分别设为黑(0xFFFFFFFF)白(0xFF000000)两色
            for (int x = 0; x < w; x++)
            {
                for (int y = 0; y < h; y++)
                {
                    image.setRGB(x, y, bm.get(x, y) ? QRCOLOR : BGWHITE);
                }
            }
        }
        catch (WriterException e)
        {
            e.printStackTrace();
        }
        return image;
    }

    /**
     * 设置二维码的格式参数
     *
     * @return
     */
    public Map<EncodeHintType, Object> getDecodeHintType()
    {
        // 用于设置QR二维码参数
        Map<EncodeHintType, Object> hints = new HashMap<EncodeHintType, Object>();
        // 设置QR二维码的纠错级别(H为最高级别)具体级别信息
        hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
        // 设置编码方式
        hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
        hints.put(EncodeHintType.MARGIN, 0);
        hints.put(EncodeHintType.MAX_SIZE, 350);
        hints.put(EncodeHintType.MIN_SIZE, 100);

        return hints;
    }
}

    class LogoConfig
    {
        // logo默认边框颜色
        public static final Color DEFAULT_BORDERCOLOR = Color.WHITE;
        // logo默认边框宽度
        public static final int DEFAULT_BORDER = 2;
        // logo大小默认为照片的1/5
        public static final int DEFAULT_LOGOPART = 5;

        private final int border = DEFAULT_BORDER;
        private final Color borderColor;
        private final int logoPart;

        /**
         * Creates a default config with on color {@link #BLACK} and off color
         * {@link #WHITE}, generating normal black-on-white barcodes.
         */
        public LogoConfig()
        {
            this(DEFAULT_BORDERCOLOR, DEFAULT_LOGOPART);
        }

        public LogoConfig(Color borderColor, int logoPart)
        {
            this.borderColor = borderColor;
            this.logoPart = logoPart;
        }

        public Color getBorderColor()
        {
            return borderColor;
        }

        public int getBorder()
        {
            return border;
        }

        public int getLogoPart()
        {
            return logoPart;
        }
    }

其中里面用到的二维码jar,我上传的资源里有https://download.youkuaiyun.com/download/java_wucao/10346851.需要的自取.

Java制作二维码代码,中间带logo图片,可设置logo大小 阅读详情

相关推荐

利用Java创建带Logo的个性化二维码

二维码,作为信息时代的产物,其在IT行业中的应用极为广泛。Java作为一种通用型编程语言,在生成和处理二维码方面表现出色。本章将逐步引导读者了解如何使用Java语言生成基础的二维码。通过本章节的深入讲解,读者将掌握二维码生成的整个流程,以及如何在Java开发环境中实现这一功能。ZXing库提供了一些自定义选项,以允许开发者对生成的二维码进行微调。例如,我们可以通过HintType设置不同的参数,如纠错级别、边框颜色和宽度等。// 设置边框为0在这个示例中,通过Hints。

weixin_35899324的博客 856

java rgb,java中的setRGB()

I am using setRGB() for changing the values of the pixel of an image.int rgb=new Color(0,0,0).getRGB();image1.setRGB(i,j,rgb); //where i,j is the boundaries of the imageHere,i am setting all the pixel...

weixin_29888579的博客 1132

Java生成带Logo的二维码项目实战

Qrcode.jar库支持多种平台,包括Java SE和Java ME,支持生成所有级别(L、M、Q和H)的二维码。其API设计简洁,易于理解和使用。它还支持生成带logo的二维码,增加了生成的灵活性。Qrcode.jar库允许自定义参数,如二维码大小和纠错级别,使得最终产品的定制化程度更高。随着智能手机和移动支付技术的发展,二维码已经成为移动支付场景中不可或缺的组成部分。用户可以通过扫描商家提供的二维码快速完成支付,这一过程既方便又快捷。二维码的广泛使用,在提高支付效率的同时也降低了商家的成本。

weixin_34718952的博客 685

强化JAVA图形操作类

强化JAVA图形操作类

aabbyyz的博客 239

Java使用Zxing库实现带Logo二维码的生成

图像叠加技术涉及将一个图像覆盖在另一个图像之上,通常用作图像编辑处理中的一个步骤。在二维码与Logo合并的场景中,我们希望Logo能够恰当地覆盖在二维码上,而不影响二维码的识别功能。因此,叠加技术需要遵循一些规则,比如Logo不应该覆盖二维码的关键部分(如定位图案和对齐图案),并且Logo的透明度需要调整得当,以保持二维码的可读性。在某些场景中,标准的二维码样式可能不满足需求,因此需要自定义样式。自定义的内容可能包括改变颜色、图案、形状等。Zxing库已经提供了一定程度的颜色自定义功能。

weixin_42361478的博客 885

Java二维码生成器:带logo的定制化解决方案

本文还有配套的精品资源,点击获取 简介:Java二维码生成类允许开发者创建包含特定数据的二维码,特别适用于移动应用和网站,以快速传输信息或引导用户。这个高级功能还允许在生成的二维码中嵌入自定义的logo图像,提升了二维码的视觉吸引力。使用ZXing库作为后台处理,QRCodeUtil.java提供生成和添加logo的方法,而BufferedImageLuminanceSou...

weixin_29781865的博客 1840

java 实现二维码

步骤1 第一步首先创建一个普通的 Maven 项目,然后要实现二维码功能,我们肯定要使用别人提供好的 Jar 包,这里我用的是 google 提供的 jar,pom.xml 文件配置如下: <?xml version="1.0"encoding="UTF-8"?> <projectxmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instan...

qq_35956444的博客 360

深入RK3588内存管理:如何用dma_buf_alloc和mpp_buffer为RGA2分配4G以内内存(附kernel版本选择)

本文深入探讨了RK3588平台上RGA2核心的4G内存限制问题,详细解析了dma_buf_alloc和mpp_buffer两种内存分配方案的技术细节与适用场景。通过代码示例和性能对比,帮助开发者优化高分辨率视频处理流程,并提供了内核版本选择与常见错误排查指南。

weixin_29168153的博客 364

setrgb java_代码不长,java 图像处理 关天setRGB(x,y,rgb)

/*以下代码用于连续捕获桌面,但是用setRGB()更新之后,再重绘窗口,没有什么反应。图像始终是第一桢。为什么,这是为什么???*/importjava.awt.*;importjava.awt.image.Buffered.../*以下代码用于连续捕获桌面,但是用setRGB()更新之后,再重绘窗口,没有什么反应。图像始终是第一桢。为什么,这是为什么???*/import java.awt.*...

weixin_28680865的博客 540

计算机组成原理实验:手把手教你用模拟程序实现中断机制(附完整代码)

本文通过一个计算机组成原理模拟实验,手把手教你从零实现一个可工作的中断系统。实验详细演示了如何配置中断控制器、编写主程序与中断服务程序,并观察中断响应、现场保护和恢复的全过程,深入解析了中断原理的核心机制。

471

【5G演进】4G到5G演进之网络架构与协议栈

4G到5G演进之网络架构与协议栈

Learning makes me happy (0^◇^0) 5529

java使用Qrcode生成二维码(内嵌logo)

1、前言 整理一个使用qrcode.jar生成二维码的测试方法,以备后面学习使用。 2、使用准备Qrcode.jar3、demo /* 生成二维码 */ @RequestMapping(value="/creatQrcode", method = RequestMethod.POST) @ResponseBody public Object

static_coder的博客 3522

DRAM架构演进与HBM技术在高性能计算中的应用

DRAM(动态随机存取存储器)是现代计算系统中关键的内存技术,其架构优化直接影响数据供给能力。随着AI训练和科学计算等数据密集型负载的普及,传统DDR架构面临带宽墙、能效比和访问粒度等挑战。HBM(高带宽内存)通过3D堆叠技术(如TSV硅通孔)和异构集成(如PIM存内计算)显著提升了带宽和能效比。这些技术在高性能计算、AI推理和大模型训练等场景中展现出巨大潜力,例如HBM3的带宽可达819GB/s,能效比低至0.95pJ/b。未来,DRAM技术将继续向更高密度、更低功耗和更智能的内存计算方向发展。

weixin_35757191的博客 400

QRCode生成和解析二维码

1、jar包 QRCode.jar 2、TwoDimensionCodeImage import java.awt.image.BufferedImage; import jp.sourceforge.qrcode.data.QRCodeImage; public class TwoDimensionCodeImage implements QRCodeImage { B

小虾记事 5052

英飞凌 TC4X MCAL之SPI中断与DMA高效传输实战

本文详细介绍了英飞凌TC4X芯片的SPI通信实战,重点讲解如何通过MCAL配置SPI中断与DMA实现高效数据传输。针对汽车电子领域的高吞吐需求,提供了从基础配置到中断处理、DMA优化的完整解决方案,包含代码示例和调试技巧,帮助开发者提升系统性能与CPU利用率。

k0l1m2n3o的博客 874

第1课:开篇扫盲——OpenClaw是什么?能帮你解决什么问题?(入门必看)

核心目标:学会安装、卸载、管理OpenClaw技能,自定义AI代理的性格与权限,让AI贴合自己的使用习惯。核心内容技能市场详解:ClawHub市场核心技能分类(办公、学习、开发、生活),热门技能推荐(web-search、文件处理、邮件管理)[superscript:3][superscript:4]。技能安装与卸载:终端命令实操(openclaw skill install/uninstall),技能更新与版本管理[superscript:3]。

从零开始,掌握网络安全。提供全面的网络安全教程、攻防演练技巧和行业动态。 1754

Java代码生成二维码图片,同时在二维码上面嵌入logo小图片。涉及到图片的压缩,两张图片如何嵌入到一起,坐标的计算等知识点

java代码生成二维码图片,同时生成的二维码图片带有logo,怎么生成二维码图片呢 2.4 图片的压缩,比如 200x300 的图片,压缩到 20x30 大小。2.2 根据文本数据生成图片,二维码的生成。2.3 怎么获取图片的宽带,高度等图片信息。2.1. 二维码所包含的url数据编码。2.6 两张图片叠加在一起,位置的计算。4.1 生成的二维码,没有logo。4.2 生成的二维码,带有logo。2.5 两张图片怎么叠加在一起。2.7 目录集合的创建。

xzb5566的专栏 1571

RDkit入门

今天开始写RDkit的入门教程,每天学习和写一小点,相信一句话“不积跬步无以至千里,不积小流无以成江海”,所以就慢慢来,一点一滴积累叭,从最简单的开始喽希望自己每天都能保持写博客的好习惯,把自己的代码笔记就极在这里,RDkit一块啃了很久的骨头,今天终于要下定决心,好好总结一波了,希望保持这个更新的频率,每天都能有所学。............

博客而已 6682

[Java] Java生成二维码带LOGO, LOGO加圆角白框

先来看看效果: 实现: 生成指定文字内容的二维码 二维码中间嵌入LOGO 二维码做圆角和白色边框处理 新需求不断, 这不, 又来了个想生成带用户头像的需求. 蛮简单的… 在这里造完轮子分享给大家 因为公司后端主要是Kotlin写的. 请大家自行翻译. Kotlin和Java本质是一种东西… 有关kotlin写后端是否合适…自己看吧. 人家官网直接支持 不废话了, 上代码 需引入: ...

阿航的技术小站 8677

乐企归集能力说明文档V2.0006

纳税人销售货物、提供服务开具的增值税发票及购进货物、接受服务取得的增值税发票、海关缴款书(含出口转内销证明)、代扣代缴完税凭证,可以通过本能力进行归集。纳税人可将本能力中的各类规则和接口嵌入本单位信息化系统中(如:销售、报销、财务等),实现发票自动化归集,便于纳税人完成发票入账、抵扣、退税以及代办退税等操作,有效提升涉税业务办理效率。

记录点滴 573

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Java 生成QR Code二维码详解(基础QR Code,带Logo的QR Code,带文本的QR Code)

本文介绍了如何使用Java生成多种QR Code,比如基础QR Code,带Logo图片的QR Code和带说明文字的QR Code,此外,还介绍了如何自定义QR Code的外观,比如更改背景颜色、添加边框和调整图片的大小等。

nuclear2011的博客 4780

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

java生成二维码(带logo和不带logo两种,二维码上方显示文字)

可以生成带logo或者不带logo的二维码 一、准备(导入jar包) 方法一:如果是用maven:则在pom.xml文件中添加如下配置 <!--二维码依赖包--> <!-- https://mvnrepository.com/artifact/com.google.zxing/core --> <dependency> <groupId>c...

雾朦胧 1579

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

java 生成带logo的二维码

package com.enation.app.javashop.framework.util; import com.google.gson.Gson; import com.google.zxing.BarcodeFormat; import com.google.zxing.EncodeHintType; import com.google.zxing.MultiFormatWriter; import com.google.zxing.WriterException; import com.goo

一种感觉的博客 4111

Java生成带logo的二维码

使用纯Java生成二维码,首先需要引入jar包:core-x.x.x(com.google.zxing),下载地址:https://mvnrepository.com/artifact/com.google.zxing/core/3.3.0 代码都写了注释,二维码的工具类: package QR_Code.zxing; import java.awt.image.BufferedImage; i...

weixin_43274097的博客 717

生成二维码(带Logo和不带logo的二维码)

1、用的二维码库是:zxing_core_3.3.1.jar; import android.graphics.Bitmap; import android.graphics.Canvas; import android.util.Log; import com.google.zxing.BarcodeFormat; import com.google.zxing.EncodeHintType; import com.google.zxing.MultiFormatWriter; import c.

开源创新 3063

java使用谷歌的zxing生成二维码,带logo,更改背景色的二维码工具类

需要注意的点: 1、这是基于java8以上的代码 2、默认生成的图片是png的,不过测试Path路径写jpg的后缀也可以的 一、工具类 需要导入zxing的依赖 <dependency> <groupId>com.google.zxing</groupId> <artifactId>core<...

zzzgd_666的博客 3324
上一篇: Eclipse所有的背景框设置豆沙绿护眼色
下一篇: com.mysql.cj.exceptions.NumberOutOfRange 报错解决!
Java_wucao
博客等级 码龄11年 272粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java_wucao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值