CN109978113B - 一种渐变色二维码的生成方法 - Google Patents
一种渐变色二维码的生成方法 Download PDFInfo
- Publication number
- CN109978113B CN109978113B CN201910241185.8A CN201910241185A CN109978113B CN 109978113 B CN109978113 B CN 109978113B CN 201910241185 A CN201910241185 A CN 201910241185A CN 109978113 B CN109978113 B CN 109978113B
- Authority
- CN
- China
- Prior art keywords
- dimensional code
- color
- gradient
- progressive
- generating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06046—Constructional details
- G06K19/0614—Constructional details the marking being selective to wavelength, e.g. color barcode or barcodes only visible under UV or IR
Abstract
本发明涉及数据识别领域,特别是二维码技术。本发明提供一种渐变色二维码的生成方法,包括:步骤1,指定第一颜色,第二颜色;步骤2,计算二维码上各位置点颜色参数;步骤3,在二维码生成过程中,对应生成渐变色二维码。本发明解决了现有技术存在的渐进色二维码生成效率低,消耗内存多的技术问题,实现了二维码的渐进色优化,提升了生成渐进色二维码的效率,节约了内存资源。
Description
技术领域
本发明涉及数据识别领域,特别是二维码技术。
背景技术
二维码,特别是在高科技行业、储存运输业、批发零售业等需要对物品进行快捷的标示信息的行业广泛使用。
现有技术中,彩色二维码的形成过程一般流程为:在彩色图层上抠除二维码上白色点位置的彩色,用白色代替,形成彩色二维码。该流程中,彩色图层相对占用一定的内存,色彩点越多,其内存占有量约大。此外,先形成彩色图层,再去除其上的白色点位置的彩色过程,存在一定程度的流程冗余,即,在原本是白色的图层,全区域渲染彩色,进而根据二维码像素点信息去除彩色还原白色,包含重复的无用操作,导致效率低下。
发明内容
本发明在保证渐进色二维码的美观性的同时,解决了渐进色二维码生成效率低,消耗内存多的技术问题,提出一种渐变色二维码的生成方法,包括:
步骤1:指定第一颜色,第二颜色;
步骤2:计算二维码上各位置点颜色参数;
步骤3:在二维码生成过程中,对应生成渐变色二维码。
优选的,所述步骤1的指定方式为用户指定或预设程序指定。
优选的,所述步骤1还包括指定渐进方式,所述指定渐进方式为用户指定或程序指定。
优选的,所述步骤1为基于RGB颜色模式指定第一颜色{R1,G1,B1},第二颜色{R2,G2,B2};或基于HSB颜色模式指定第一颜色{H1,S1,B1},第二颜色{H2,S2,B2}。
优选的,所述步骤2包括:
步骤2.1:定义各位置点坐标为{x,y},以及各位置点颜色{Rm,Gn,Bh}或{Hm,Sn,Bh};
步骤2.2:根据渐进方式,确定{Rm,Gn,Bh}相对于{R1,G1,B1},{R2,G2,B2},及{x,y}的函数关系f1(x,y,R1,G1,B1,R2,G2,B2);或确定{Hm,Sn,Bh}相对于{H1,S1,B1},{H2,S2,B2},及{x,y}的函数关系f2(x,y,H1,S1,B1,H2,S2,B2)。
步骤2.3:计算对应各位置点{x,y}的RGB颜色{Rm,Gn,Bh}或{Hm,Sn,Bh}。
或,
{Hm,Sn,Bh}相对于{H1,S1,B1},{H2,S2,B2},及{x,y}的函数关系为:
或,
{Hm,Sn,Bh}相对于{H1,S1,B1},{H2,S2,B2},及{x,y}的函数关系为:
其中,φ1,φ2,φ3为值域在(0,1)之间的非线性函数。
优选的,所述步骤3包括:生成黑白点阵二维码,生成渐变色二维码;或,直接生成渐变色二维码。
优选的,所述渐进方式为:自二维码左上至右下渐进,自二维码右下至左上渐进,自二维码左下至右上渐进,自二维码右上至左下渐进,自二维码从上至下渐进,自二维码从下至上渐进,自二维码从右至左渐进,自二维码从左至右渐进。
本发明实现了二维码的渐进色优化,也提升了生成渐进色二维码的效率,节约了内存资源。
附图说明
图1是本发明实施例一提供的一种渐变色二维码的生成方法
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护范围。
鉴于现有的方法不能实现高效渐变彩色二维码的绘制,本发明实施例提供一种美观,高效,节省内存的渐变色二维码的生成方法,以下结合附图对本发明进行详细说明。
实施例一
本实施例提供一种渐变色二维码的生成方法,如图1所示。
为了满足用户对于色彩的个人喜好,本实施例提供了全彩的色盘。用户在色盘中确定两种颜色,完成二维码的彩色渐进。本实施例为用户提供了4个方向的8种渐进方式,分别为:左上到右下,右下到左上,左下到右上,右上到左下,从上到下,从下到上,从右到左,从左到右。该过程也可以由程序随机选择完成,或定义其他对称或非对称,均匀或非均匀的渐进方式。由于基于RGB的色盘颜色有16581375种,而渐进至少有上述8种,因此用户对于一个二维码拥有近1.3亿种选择,存在相当高的设计自由度。
为了使得渐进速度快,渐进的效果佳,本实施例对于不同的渐进方式,针对二维码尺寸,做了专门的参数计算处理,最终得到(m,n,h)三个参数,用于处理不同距离下二维码上的点的颜色。
如用户选择的两个颜色,用RGB颜色标准表示为(R1,G1,B1),(R2,G2,B2)。用户选择的渐进方式为左上到右下。二维码尺寸长,宽,对角线的长度分别为:I1,I2,I3;最直接的获得(m,n,h)三个参数的方式如下:
m=(R2-R1)/I1;n=(G2-G1)/I2;h=(B2-B1)/I3;
为了节约计算过程中的内存并加快生成速度,本发明设置的生成渐进色的过程是完全跟随二维码的生成过程。在二维码的生成过程中,如果该数据点(x,y)的位置为黑色点或者说深色点,那么对应的在渐进色二维码的位置根据渐进方式,渐进色参数对该位置进行赋予RGB操作。如数据点(x,y)上的点为白色或者浅色,则跳过赋值渲染步骤,继续绘制二维码的下一个点。在本发明中,程序生成两个相同数据内容的二维码。一个是黑白点阵的普通二维码,一个是渐进色的二维码,或直接生成渐进色二维码。
而根据二维码尺寸,渐进方式以及起点颜色和终点颜色,计算获得参数为(m,n,h)。如果二维码上的一个点的坐标为(x,y),以左上第一个二维码数据点为参考像素点,根据渐进方式,计算获得坐标点的第三维度参数z(如对角线位置)形成(x,y,z);根据(m,n,h)计算得到(x,y)点的RGB颜色为(R1+mx,G1+ny,B1+hz)。其中,R1+mx大于等于R1,R2的较小值,小于等于R1,R2的较大值;G1+ny大于等于G1,G2的较小值,小于等于G1,G2的较大值;B1+hz大于等于B1,B2的较小值,小于等于B1,B2的较大值。
当渐进方式为非线形渐进时,根据以下公式计算各点的颜色值:
其中,所述φ1,φ2,φ3为值域在(0,1)之间的非线性函数,如绝对值下的sin或cos函数。
综上所述,本发明的实施例提供的二维码绘制方法,具有以下有益效果:
(1)本实施例的颜色选择及渐进方式的选择,可以为用户停供多样的定制的渐进色二维码,满足不同用户的需求;
(2)渐进色参数的设计,方便后续的渐进色二维码的渲染赋值过程,简化计算,提升渐进色二维码的生成速度;
(3)渐进色二维码生成方法,可以极大的优化数据内存,减少不必要的操作,以最直接的最节约空间的方式生成渐进色二维码。
以上所述的具体实施例,对本发明的目的,技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种渐变色二维码的生成方法,其特征在于,包括:
步骤1:指定第一颜色,第二颜色;
步骤2:计算二维码上各位置点颜色参数;
步骤3:在二维码生成过程中,对应生成渐变色二维码;
所述步骤2包括:
步骤2.1:定义各位置点坐标为{x,y},以及各位置点颜色{Rm,Gn,Bh}或{Hm,Sn,Bh};
步骤2.2:根据渐进方式,确定{Rm,Gn,Bh}相对于{R1,G1,B1},{R2,G2,B2},及{x,y}的函数关系f1(x,y,R1,G1,B1,R2,G2,B2);或确定{Hm,Sn,Bh}相对于{H1,S1,B1},{H2,S2,B2},及{x,y}的函数关系f2(x,y,H1,S1,B1,H2,S2,B2),
步骤2.3:计算对应各位置点{x,y}的RGB颜色{Rm,Gn,Bh}或{Hm,Sn,Bh};
或,{Hm,Sn,Bh}相对于{H1,S1,B1},{H2,S2,B2},及{x,y}的函数关系为:
或者,
或,{Hm,Sn,Bh}相对于{H1,S1,B1},{H2,S2,B2},及{x,y}的函数关系为:
2.如权利要求1所述的渐变色二维码的生成方法,其特征在于,所述步骤1还包括指定渐进方式。
3.如权利要求2所述的渐变色二维码的生成方法,其特征在于,所述步骤1的指定渐进方式为用户指定或程序指定。
4.如权利要求3所述的渐变色二维码的生成方法,其特征在于,所述步骤1为基于RGB颜色模式指定第一颜色{R1,G1,B1},第二颜色{R2,G2,B2};或基于HSB颜色模式指定第一颜色{H1,S1,B1},第二颜色{H2,S2,B2}。
5.如权利要求1所述的渐变色二维码的生成方法,其特征在于,所述步骤3包括:生成黑白点阵二维码,生成渐变色二维码;或,直接生成渐变色二维码。
6.如权利要求4所述的渐变色二维码的生成方法,其特征在于,所述渐进方式为:自二维码左上至右下渐进,自二维码右下至左上渐进,自二维码左下至右上渐进,自二维码右上至左下渐进,自二维码从上至下渐进,自二维码从下至上渐进,自二维码从右至左渐进,自二维码从左至右渐进。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910241185.8A CN109978113B (zh) | 2019-03-28 | 2019-03-28 | 一种渐变色二维码的生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910241185.8A CN109978113B (zh) | 2019-03-28 | 2019-03-28 | 一种渐变色二维码的生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109978113A CN109978113A (zh) | 2019-07-05 |
CN109978113B true CN109978113B (zh) | 2022-06-10 |
Family
ID=67080982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910241185.8A Active CN109978113B (zh) | 2019-03-28 | 2019-03-28 | 一种渐变色二维码的生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109978113B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010277413A (ja) * | 2009-05-29 | 2010-12-09 | Tani Electronics Corp | カメラ撮像画像の2次元カラーコード、その作成方法、表示方法および使用方法 |
CN101923702A (zh) * | 2010-08-25 | 2010-12-22 | 郝红卫 | 一种图片验证码的生成方法 |
CN104429062A (zh) * | 2012-07-13 | 2015-03-18 | 华为技术有限公司 | 用于对表示三维视频的比特流进行编码的设备 |
CN105205520A (zh) * | 2015-09-30 | 2015-12-30 | 立德高科(昆山)数码科技有限责任公司 | 具有颜色渐变效果的二维码、生成方法与生成系统 |
CN106569684A (zh) * | 2015-10-13 | 2017-04-19 | 北京国双科技有限公司 | 颜色渐变的图形显示方法及装置 |
CN109190740A (zh) * | 2018-08-17 | 2019-01-11 | 森大(深圳)技术有限公司 | 分区渐变彩色二维码的生成方法、装置、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104781834B (zh) * | 2012-11-13 | 2018-01-19 | 共同印刷株式会社 | 二维码、二维码的生成系统以及分析程序 |
-
2019
- 2019-03-28 CN CN201910241185.8A patent/CN109978113B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010277413A (ja) * | 2009-05-29 | 2010-12-09 | Tani Electronics Corp | カメラ撮像画像の2次元カラーコード、その作成方法、表示方法および使用方法 |
CN101923702A (zh) * | 2010-08-25 | 2010-12-22 | 郝红卫 | 一种图片验证码的生成方法 |
CN104429062A (zh) * | 2012-07-13 | 2015-03-18 | 华为技术有限公司 | 用于对表示三维视频的比特流进行编码的设备 |
CN105205520A (zh) * | 2015-09-30 | 2015-12-30 | 立德高科(昆山)数码科技有限责任公司 | 具有颜色渐变效果的二维码、生成方法与生成系统 |
CN106569684A (zh) * | 2015-10-13 | 2017-04-19 | 北京国双科技有限公司 | 颜色渐变的图形显示方法及装置 |
CN109190740A (zh) * | 2018-08-17 | 2019-01-11 | 森大(深圳)技术有限公司 | 分区渐变彩色二维码的生成方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109978113A (zh) | 2019-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8553976B2 (en) | Differential image enhancement | |
US8830533B2 (en) | System and method for creating machine-readable codes in combination with other images such as logos | |
JP4762901B2 (ja) | 合成グリフの領域をレンダリングする方法 | |
US10755153B2 (en) | Method of generating 3-dimensional code based on gaussian modulating function | |
US20120113106A1 (en) | Method and apparatus for generating face avatar | |
US9886747B2 (en) | Digital image blemish removal | |
JP2006521629A (ja) | オブジェクトを表現する2次元距離フィールドの領域をアンチエイリアスする方法及び装置 | |
JP4869920B2 (ja) | オブジェクトを表現する2次元距離フィールドからピクセルのコンポーネントのアンチエイリアス強度を求める方法及び装置 | |
CN106780642A (zh) | 迷雾遮罩贴图的生成方法及装置 | |
US7542033B2 (en) | Method and program for generating a two-dimensional cartoonish picturization of a three-dimensional object | |
US7342585B2 (en) | Use of an input overscaled bitmap to generate emboldened overscaled bitmap | |
US20160140411A1 (en) | Image processing apparatus for converting image in characteristic region of original image into image of brushstroke patterns | |
CN109978113B (zh) | 一种渐变色二维码的生成方法 | |
JP4180043B2 (ja) | 3次元図形描画処理装置、画像表示装置、3次元図形描画処理方法、これをコンピュータに実行させるための制御プログラムおよび、これを記録したコンピュータ読み取り可能な可読記録媒体 | |
JP4224093B2 (ja) | テクスチャフィルタリング装置、テクスチャマッピング装置、方法およびプログラム | |
JP2006521627A (ja) | 動画スクリプトに従ってフレームシーケンスとしてオブジェクトを動画化する方法 | |
CN103164210B (zh) | 对应用程序界面进行换肤的方法和装置 | |
CN113763525B (zh) | 一种头发高光渲染方法、装置、设备及存储介质 | |
JP2008527416A (ja) | ボールド化されたアンチエイリアシング・ビットマップを生成するための入力の白黒ビットマップの使用 | |
US10950006B2 (en) | Environmentally contextualized pattern generation | |
CN108762860B (zh) | 一种阴影效果的实现方法 | |
CN107481184B (zh) | 一种低多边形风格图生成交互系统 | |
JP2006521625A (ja) | 2次元距離フィールドを境界デスクリプタの集合に変換する方法 | |
CN101281742B (zh) | 显示内容的方法、装置和终端 | |
CN113763527B (zh) | 一种头发高光渲染方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |