Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
guns-vip
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
chenjunxiong
guns-vip
Commits
2db2470e
Commit
2db2470e
authored
Oct 08, 2018
by
fengshuonan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
删除二维码生成
parent
2831ef16
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
0 additions
and
650 deletions
+0
-650
guns-admin/src/main/java/com/stylefeng/guns/core/qr/ImgQrTool.java
+0
-294
guns-admin/src/main/java/com/stylefeng/guns/core/qr/MatrixToImageConfig.java
+0
-63
guns-admin/src/main/java/com/stylefeng/guns/core/qr/MatrixToImageWriter.java
+0
-123
guns-admin/src/main/java/com/stylefeng/guns/core/qr/QrImage.java
+0
-170
No files found.
guns-admin/src/main/java/com/stylefeng/guns/core/qr/ImgQrTool.java
deleted
100644 → 0
View file @
2831ef16
package
com
.
stylefeng
.
guns
.
core
.
qr
;
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
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
javax.imageio.ImageIO
;
import
java.awt.*
;
import
java.awt.geom.AffineTransform
;
import
java.awt.image.AffineTransformOp
;
import
java.awt.image.BufferedImage
;
import
java.io.File
;
import
java.io.FileOutputStream
;
import
java.io.IOException
;
import
java.io.OutputStream
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* 内嵌图片的二维码生成器
*
* @author lichunxi
*/
public
class
ImgQrTool
{
private
static
Logger
log
=
LoggerFactory
.
getLogger
(
ImgQrTool
.
class
);
// 镶嵌的图片宽度的一般
private
static
final
int
IMAGE_WIDTH
=
80
;
private
static
final
int
IMAGE_HEIGHT
=
80
;
private
static
final
int
IMAGE_HALF_WIDTH
=
IMAGE_WIDTH
/
2
;
private
static
final
int
FRAME_WIDTH
=
2
;
// 二维码写码器
private
static
MultiFormatWriter
mutiWriter
=
new
MultiFormatWriter
();
/**
* 生成带图片的二维码
*
* @param content 二维码的内容
* @param width 宽度
* @param height 高度
* @param srcImagePath 被镶嵌的图片的地址
* @param destImagePath 生成二维码图片的地址
* @author fengshuonan
* @since 2.3.0
*/
public
static
void
encode
(
String
content
,
int
width
,
int
height
,
String
srcImagePath
,
String
destImagePath
)
{
try
{
ImageIO
.
write
(
genBarcode
(
content
,
width
,
height
,
srcImagePath
),
"jpg"
,
new
File
(
destImagePath
));
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
catch
(
WriterException
e
)
{
e
.
printStackTrace
();
}
}
/**
* 生成带图片的二维码
*
* @param content 二维码的内容
* @param width 宽度
* @param height 高度
* @param srcImagePath 被镶嵌的图片的地址
* @author fengshuonan
* @since 2.3.0
*/
public
static
void
encode
(
String
content
,
int
width
,
int
height
,
String
srcImagePath
,
OutputStream
outputStream
)
{
try
{
ImageIO
.
write
(
genBarcode
(
content
,
width
,
height
,
srcImagePath
),
"jpg"
,
outputStream
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
catch
(
WriterException
e
)
{
e
.
printStackTrace
();
}
}
/**
* 创建不带参数的二维码
*
* @author fengshuonan
* @since 2.3.0
*/
public
static
void
createSimpleQr
(
String
content
,
int
width
,
int
height
,
String
destImagePath
)
{
FileOutputStream
output
=
null
;
try
{
String
format
=
"jpg"
;
// 图像类型
Map
<
EncodeHintType
,
Object
>
hints
=
new
HashMap
<
EncodeHintType
,
Object
>();
hints
.
put
(
EncodeHintType
.
CHARACTER_SET
,
"UTF-8"
);
BitMatrix
bitMatrix
=
new
MultiFormatWriter
().
encode
(
content
,
BarcodeFormat
.
QR_CODE
,
width
,
height
,
hints
);
// 生成矩阵
File
dest
=
new
File
(
destImagePath
);
output
=
new
FileOutputStream
(
dest
);
MatrixToImageWriter
.
writeToStream
(
bitMatrix
,
format
,
output
);
// 输出图像
}
catch
(
Exception
e
)
{
log
.
error
(
"生成二维码出错!ImgQrTool:createSimpleQr()"
,
e
);
}
finally
{
try
{
output
.
close
();
}
catch
(
IOException
e
)
{
log
.
error
(
"生成二维码出错!ImgQrTool:createSimpleQr()"
,
e
);
}
}
}
private
static
BufferedImage
genBarcode
(
String
content
,
int
width
,
int
height
,
String
srcImagePath
)
throws
WriterException
,
IOException
{
// 读取源图像
BufferedImage
scaleImage
=
scale
(
srcImagePath
,
IMAGE_WIDTH
,
IMAGE_HEIGHT
,
true
);
int
[][]
srcPixels
=
new
int
[
IMAGE_WIDTH
][
IMAGE_HEIGHT
];
for
(
int
i
=
0
;
i
<
scaleImage
.
getWidth
();
i
++)
{
for
(
int
j
=
0
;
j
<
scaleImage
.
getHeight
();
j
++)
{
srcPixels
[
i
][
j
]
=
scaleImage
.
getRGB
(
i
,
j
);
}
}
Map
<
EncodeHintType
,
Object
>
hint
=
new
HashMap
<
EncodeHintType
,
Object
>();
hint
.
put
(
EncodeHintType
.
CHARACTER_SET
,
"utf-8"
);
hint
.
put
(
EncodeHintType
.
ERROR_CORRECTION
,
ErrorCorrectionLevel
.
H
);
hint
.
put
(
EncodeHintType
.
MARGIN
,
1
);
// 二维码整体白框
// 生成二维码
BitMatrix
matrix
=
mutiWriter
.
encode
(
content
,
BarcodeFormat
.
QR_CODE
,
width
,
height
,
hint
);
// 二维矩阵转为一维像素数组
int
halfW
=
matrix
.
getWidth
()
/
2
;
int
halfH
=
matrix
.
getHeight
()
/
2
;
int
[]
pixels
=
new
int
[
width
*
height
];
for
(
int
y
=
0
;
y
<
matrix
.
getHeight
();
y
++)
{
for
(
int
x
=
0
;
x
<
matrix
.
getWidth
();
x
++)
{
// 读取图片
if
(
x
>
halfW
-
IMAGE_HALF_WIDTH
&&
x
<
halfW
+
IMAGE_HALF_WIDTH
&&
y
>
halfH
-
IMAGE_HALF_WIDTH
&&
y
<
halfH
+
IMAGE_HALF_WIDTH
)
{
pixels
[
y
*
width
+
x
]
=
srcPixels
[
x
-
halfW
+
IMAGE_HALF_WIDTH
][
y
-
halfH
+
IMAGE_HALF_WIDTH
];
}
// 在图片四周形成边框
else
if
((
x
>
halfW
-
IMAGE_HALF_WIDTH
-
FRAME_WIDTH
&&
x
<
halfW
-
IMAGE_HALF_WIDTH
+
FRAME_WIDTH
&&
y
>
halfH
-
IMAGE_HALF_WIDTH
-
FRAME_WIDTH
&&
y
<
halfH
+
IMAGE_HALF_WIDTH
+
FRAME_WIDTH
)
||
(
x
>
halfW
+
IMAGE_HALF_WIDTH
-
FRAME_WIDTH
&&
x
<
halfW
+
IMAGE_HALF_WIDTH
+
FRAME_WIDTH
&&
y
>
halfH
-
IMAGE_HALF_WIDTH
-
FRAME_WIDTH
&&
y
<
halfH
+
IMAGE_HALF_WIDTH
+
FRAME_WIDTH
)
||
(
x
>
halfW
-
IMAGE_HALF_WIDTH
-
FRAME_WIDTH
&&
x
<
halfW
+
IMAGE_HALF_WIDTH
+
FRAME_WIDTH
&&
y
>
halfH
-
IMAGE_HALF_WIDTH
-
FRAME_WIDTH
&&
y
<
halfH
-
IMAGE_HALF_WIDTH
+
FRAME_WIDTH
)
||
(
x
>
halfW
-
IMAGE_HALF_WIDTH
-
FRAME_WIDTH
&&
x
<
halfW
+
IMAGE_HALF_WIDTH
+
FRAME_WIDTH
&&
y
>
halfH
+
IMAGE_HALF_WIDTH
-
FRAME_WIDTH
&&
y
<
halfH
+
IMAGE_HALF_WIDTH
+
FRAME_WIDTH
))
{
pixels
[
y
*
width
+
x
]
=
0xfffffff
;
}
else
{
// 此处可以修改二维码的颜色,可以分别制定二维码和背景的颜色;
pixels
[
y
*
width
+
x
]
=
matrix
.
get
(
x
,
y
)
?
0xff000000
:
0xfffffff
;
}
}
}
BufferedImage
image
=
new
BufferedImage
(
width
,
height
,
BufferedImage
.
TYPE_INT_RGB
);
image
.
getRaster
().
setDataElements
(
0
,
0
,
width
,
height
,
pixels
);
return
image
;
}
/**
* 把传入的原始图像按高度和宽度进行缩放,生成符合要求的图标
*
* @param srcImageFile 源文件地址
* @param height 目标高度
* @param width 目标宽度
* @param hasFiller 比例不对时是否需要补白:true为补白; false为不补白;
* @throws IOException
*/
private
static
BufferedImage
scale
(
String
srcImageFile
,
int
height
,
int
width
,
boolean
hasFiller
)
throws
IOException
{
double
ratio
=
0.0
;
// 缩放比例
File
file
=
new
File
(
srcImageFile
);
BufferedImage
srcImage
=
ImageIO
.
read
(
file
);
Image
destImage
=
srcImage
.
getScaledInstance
(
width
,
height
,
BufferedImage
.
SCALE_SMOOTH
);
// 计算比例
if
((
srcImage
.
getHeight
()
>
height
)
||
(
srcImage
.
getWidth
()
>
width
))
{
if
(
srcImage
.
getHeight
()
>
srcImage
.
getWidth
())
{
ratio
=
(
new
Integer
(
height
)).
doubleValue
()
/
srcImage
.
getHeight
();
}
else
{
ratio
=
(
new
Integer
(
width
)).
doubleValue
()
/
srcImage
.
getWidth
();
}
AffineTransformOp
op
=
new
AffineTransformOp
(
AffineTransform
.
getScaleInstance
(
ratio
,
ratio
),
null
);
destImage
=
op
.
filter
(
srcImage
,
null
);
}
if
(
hasFiller
)
{
// 补白
BufferedImage
image
=
new
BufferedImage
(
width
,
height
,
BufferedImage
.
TYPE_INT_RGB
);
Graphics2D
graphic
=
image
.
createGraphics
();
graphic
.
setColor
(
Color
.
white
);
graphic
.
fillRect
(
0
,
0
,
width
,
height
);
if
(
width
==
destImage
.
getWidth
(
null
))
graphic
.
drawImage
(
destImage
,
0
,
(
height
-
destImage
.
getHeight
(
null
))
/
2
,
destImage
.
getWidth
(
null
),
destImage
.
getHeight
(
null
),
Color
.
white
,
null
);
else
graphic
.
drawImage
(
destImage
,
(
width
-
destImage
.
getWidth
(
null
))
/
2
,
0
,
destImage
.
getWidth
(
null
),
destImage
.
getHeight
(
null
),
Color
.
white
,
null
);
graphic
.
dispose
();
destImage
=
image
;
}
return
(
BufferedImage
)
destImage
;
}
/**
* 生成上方带文字的二维码
*/
public
static
void
createQrWithFontsAbove
(
QrImage
para
)
{
try
{
// 首先生成二维码图片
BufferedImage
qrImage
=
genBarcode
(
para
.
getQrContent
(),
para
.
getQrWidth
(),
para
.
getQrHeight
(),
para
.
getQrIconFilePath
());
int
qrImageWidth
=
qrImage
.
getWidth
();
int
qrImageHeight
=
qrImage
.
getHeight
();
String
[]
splitStrLines
=
null
;
splitStrLines
=
splitStrLines
(
para
.
getWordContent
(),
qrImageWidth
/
para
.
getWordSize
());
int
fontsImageHeight
=
splitStrLines
.
length
*
para
.
getWordSize
()
+
10
;
//防止文字遮挡
//创建顶部文字的图片
BufferedImage
imageWithFonts
=
new
BufferedImage
(
qrImageWidth
,
fontsImageHeight
,
BufferedImage
.
TYPE_4BYTE_ABGR
);
Graphics
fontsImageGraphics
=
imageWithFonts
.
getGraphics
();
fontsImageGraphics
.
fillRect
(
0
,
0
,
qrImageWidth
,
fontsImageHeight
);
fontsImageGraphics
.
setColor
(
Color
.
black
);
fontsImageGraphics
.
setFont
(
new
Font
(
"宋体"
,
Font
.
PLAIN
,
para
.
getWordSize
()));
//文字长度大于一行的长度,进行分行
if
(
para
.
getWordContent
().
length
()
>
qrImageWidth
/
para
.
getWordSize
())
{
//每行限制的文字个数
for
(
int
i
=
0
;
i
<
splitStrLines
.
length
;
i
++)
{
fontsImageGraphics
.
drawString
(
splitStrLines
[
i
],
0
,
para
.
getWordSize
()
*
(
i
+
1
));
}
}
else
{
fontsImageGraphics
.
drawString
(
para
.
getWordContent
(),
((
qrImageWidth
/
para
.
getWordSize
()
-
para
.
getWordContent
().
length
())
/
2
)
*
para
.
getWordSize
()
+
20
,
//总长度减去字长度除以2为向右偏移长度
para
.
getWordSize
());
}
// 从图片中读取RGB
int
[]
ImageArrayFonts
=
new
int
[
qrImageWidth
*
fontsImageHeight
];
ImageArrayFonts
=
imageWithFonts
.
getRGB
(
0
,
0
,
qrImageWidth
,
fontsImageHeight
,
ImageArrayFonts
,
0
,
qrImageWidth
);
int
[]
ImageArrayQr
=
new
int
[
qrImageWidth
*
qrImageHeight
];
ImageArrayQr
=
qrImage
.
getRGB
(
0
,
0
,
qrImageWidth
,
qrImageHeight
,
ImageArrayQr
,
0
,
qrImageWidth
);
// 生成新图片
BufferedImage
ImageNew
=
new
BufferedImage
(
qrImageWidth
,
qrImageHeight
+
fontsImageHeight
,
BufferedImage
.
TYPE_INT_RGB
);
ImageNew
.
setRGB
(
0
,
0
,
qrImageWidth
,
fontsImageHeight
,
ImageArrayFonts
,
0
,
qrImageWidth
);
// 设置上半部分的RGB
ImageNew
.
setRGB
(
0
,
fontsImageHeight
,
qrImageWidth
,
qrImageHeight
,
ImageArrayQr
,
0
,
qrImageWidth
);
// 设置下半部分的RGB
File
outFile
=
new
File
(
para
.
getFileOutputPath
());
ImageIO
.
write
(
ImageNew
,
"jpg"
,
outFile
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
/**
* 一行字符串拆分成多行
*/
private
static
String
[]
splitStrLines
(
String
str
,
int
len
)
{
int
blocks
=
str
.
length
()
/
len
+
1
;
String
[]
strs
=
new
String
[
blocks
];
for
(
int
i
=
0
;
i
<
blocks
;
i
++)
{
if
((
i
+
1
)
*
len
>
str
.
length
())
{
strs
[
i
]
=
str
.
substring
(
i
*
len
);
}
else
{
strs
[
i
]
=
str
.
substring
(
i
*
len
,
(
i
+
1
)
*
len
);
}
}
return
strs
;
}
public
static
void
main
(
String
[]
args
)
throws
IOException
{
for
(
int
i
=
1
;
i
<=
1
;
i
++)
{
QrImage
para
=
new
QrImage
.
Builder
()
.
setFileOutputPath
(
"D:\\二维码\\test\\"
+
i
+
".jpg"
)
.
setQrContent
(
"http://www.baidu.com?a="
+
"123"
)
.
setQrHeight
(
300
)
.
setQrWidth
(
300
)
.
setQrIconFilePath
(
"D:\\二维码\\中间图标\\1.png"
)
.
setTopWrodHeight
(
100
)
.
setWordContent
(
"test"
+
1
)
.
setWordSize
(
18
).
build
();
ImgQrTool
.
createQrWithFontsAbove
(
para
);
}
}
}
guns-admin/src/main/java/com/stylefeng/guns/core/qr/MatrixToImageConfig.java
deleted
100644 → 0
View file @
2831ef16
/*
* Copyright 2012 ZXing authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
com
.
stylefeng
.
guns
.
core
.
qr
;
import
java.awt.image.BufferedImage
;
/**
* Encapsulates custom configuration used in methods of {@link MatrixToImageWriter}.
*/
public
final
class
MatrixToImageConfig
{
public
static
final
int
BLACK
=
0xFF000000
;
public
static
final
int
WHITE
=
0xFFFFFFFF
;
private
final
int
onColor
;
private
final
int
offColor
;
/**
* Creates a default config with on color {@link #BLACK} and off color {@link #WHITE}, generating normal
* black-on-white barcodes.
*/
public
MatrixToImageConfig
()
{
this
(
BLACK
,
WHITE
);
}
/**
* @param onColor pixel on color, specified as an ARGB value as an int
* @param offColor pixel off color, specified as an ARGB value as an int
*/
public
MatrixToImageConfig
(
int
onColor
,
int
offColor
)
{
this
.
onColor
=
onColor
;
this
.
offColor
=
offColor
;
}
public
int
getPixelOnColor
()
{
return
onColor
;
}
public
int
getPixelOffColor
()
{
return
offColor
;
}
int
getBufferedImageColorModel
()
{
// Use faster BINARY if colors match default
return
onColor
==
BLACK
&&
offColor
==
WHITE
?
BufferedImage
.
TYPE_BYTE_BINARY
:
BufferedImage
.
TYPE_INT_RGB
;
}
}
\ No newline at end of file
guns-admin/src/main/java/com/stylefeng/guns/core/qr/MatrixToImageWriter.java
deleted
100644 → 0
View file @
2831ef16
/*
* Copyright 2009 ZXing authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
com
.
stylefeng
.
guns
.
core
.
qr
;
import
com.google.zxing.common.BitMatrix
;
import
javax.imageio.ImageIO
;
import
java.awt.image.BufferedImage
;
import
java.io.File
;
import
java.io.IOException
;
import
java.io.OutputStream
;
import
java.nio.file.Path
;
/**
* Writes a {@link BitMatrix} to {@link BufferedImage},
* file or stream. Provided here instead of core since it depends on
* Java SE libraries.
*
* @author Sean Owen
*/
public
final
class
MatrixToImageWriter
{
private
static
final
MatrixToImageConfig
DEFAULT_CONFIG
=
new
MatrixToImageConfig
();
private
MatrixToImageWriter
()
{}
/**
* Renders a {@link BitMatrix} as an image, where "false" bits are rendered
* as white, and "true" bits are rendered as black.
*/
public
static
BufferedImage
toBufferedImage
(
BitMatrix
matrix
)
{
return
toBufferedImage
(
matrix
,
DEFAULT_CONFIG
);
}
/**
* As {@link #toBufferedImage(BitMatrix)}, but allows customization of the output.
*/
public
static
BufferedImage
toBufferedImage
(
BitMatrix
matrix
,
MatrixToImageConfig
config
)
{
int
width
=
matrix
.
getWidth
();
int
height
=
matrix
.
getHeight
();
BufferedImage
image
=
new
BufferedImage
(
width
,
height
,
config
.
getBufferedImageColorModel
());
int
onColor
=
config
.
getPixelOnColor
();
int
offColor
=
config
.
getPixelOffColor
();
for
(
int
x
=
0
;
x
<
width
;
x
++)
{
for
(
int
y
=
0
;
y
<
height
;
y
++)
{
image
.
setRGB
(
x
,
y
,
matrix
.
get
(
x
,
y
)
?
onColor
:
offColor
);
}
}
return
image
;
}
/**
* @deprecated use {@link #writeToPath(BitMatrix, String, Path)}
*/
@Deprecated
public
static
void
writeToFile
(
BitMatrix
matrix
,
String
format
,
File
file
)
throws
IOException
{
writeToPath
(
matrix
,
format
,
file
.
toPath
());
}
/**
* Writes a {@link BitMatrix} to a file.
*
* @see #toBufferedImage(BitMatrix)
*/
public
static
void
writeToPath
(
BitMatrix
matrix
,
String
format
,
Path
file
)
throws
IOException
{
writeToPath
(
matrix
,
format
,
file
,
DEFAULT_CONFIG
);
}
/**
* @deprecated use {@link #writeToPath(BitMatrix, String, Path, MatrixToImageConfig)}
*/
@Deprecated
public
static
void
writeToFile
(
BitMatrix
matrix
,
String
format
,
File
file
,
MatrixToImageConfig
config
)
throws
IOException
{
writeToPath
(
matrix
,
format
,
file
.
toPath
(),
config
);
}
/**
* As {@link #writeToFile(BitMatrix, String, File)}, but allows customization of the output.
*/
public
static
void
writeToPath
(
BitMatrix
matrix
,
String
format
,
Path
file
,
MatrixToImageConfig
config
)
throws
IOException
{
BufferedImage
image
=
toBufferedImage
(
matrix
,
config
);
if
(!
ImageIO
.
write
(
image
,
format
,
file
.
toFile
()))
{
throw
new
IOException
(
"Could not write an image of format "
+
format
+
" to "
+
file
);
}
}
/**
* Writes a {@link BitMatrix} to a stream.
*
* @see #toBufferedImage(BitMatrix)
*/
public
static
void
writeToStream
(
BitMatrix
matrix
,
String
format
,
OutputStream
stream
)
throws
IOException
{
writeToStream
(
matrix
,
format
,
stream
,
DEFAULT_CONFIG
);
}
/**
* As {@link #writeToStream(BitMatrix, String, OutputStream)}, but allows customization of the output.
*/
public
static
void
writeToStream
(
BitMatrix
matrix
,
String
format
,
OutputStream
stream
,
MatrixToImageConfig
config
)
throws
IOException
{
BufferedImage
image
=
toBufferedImage
(
matrix
,
config
);
if
(!
ImageIO
.
write
(
image
,
format
,
stream
))
{
throw
new
IOException
(
"Could not write an image of format "
+
format
);
}
}
}
\ No newline at end of file
guns-admin/src/main/java/com/stylefeng/guns/core/qr/QrImage.java
deleted
100644 → 0
View file @
2831ef16
package
com
.
stylefeng
.
guns
.
core
.
qr
;
/**
* 二维码图片对象
*
* @author fengshuonan
* @date 2016年12月8日 上午11:37:09
*/
public
class
QrImage
{
/**
* 二维码的内容
*/
private
String
qrContent
;
/**
* 二维码的宽度
*/
private
int
qrWidth
;
/**
* 二维码的高度
*/
private
int
qrHeight
;
/**
* 二维码中间图标的文件路径
*/
private
String
qrIconFilePath
;
/**
* 二维码中间小图标的边长
*/
private
int
qrIconWidth
;
/**
* 顶部文字的高度
*/
private
int
topWrodHeight
;
/**
* 文字的大小
*/
private
int
wordSize
;
/**
* 文字的内容
*/
private
String
wordContent
;
/**
* 文件的输出路径
*/
private
String
fileOutputPath
;
public
static
class
Builder
{
private
String
qrContent
;
private
int
qrWidth
;
private
int
qrHeight
;
private
String
qrIconFilePath
;
private
int
topWrodHeight
;
private
int
wordSize
;
private
String
wordContent
;
private
String
fileOutputPath
;
private
int
qrIconWidth
;
public
Builder
()
{
}
public
Builder
setQrContent
(
String
qrContent
)
{
this
.
qrContent
=
qrContent
;
return
this
;
}
public
Builder
setQrWidth
(
int
qrWidth
)
{
this
.
qrWidth
=
qrWidth
;
return
this
;
}
public
Builder
setQrHeight
(
int
qrHeight
)
{
this
.
qrHeight
=
qrHeight
;
return
this
;
}
public
Builder
setQrIconFilePath
(
String
qrIconFilePath
)
{
this
.
qrIconFilePath
=
qrIconFilePath
;
return
this
;
}
public
Builder
setTopWrodHeight
(
int
topWrodHeight
)
{
this
.
topWrodHeight
=
topWrodHeight
;
return
this
;
}
public
Builder
setWordSize
(
int
wordSize
)
{
this
.
wordSize
=
wordSize
;
return
this
;
}
public
Builder
setWordContent
(
String
wordContent
)
{
this
.
wordContent
=
wordContent
;
return
this
;
}
public
Builder
setFileOutputPath
(
String
fileOutputPath
)
{
this
.
fileOutputPath
=
fileOutputPath
;
return
this
;
}
public
Builder
setQrIconWidth
(
int
qrIconWidth
)
{
this
.
qrIconWidth
=
qrIconWidth
;
return
this
;
}
public
QrImage
build
()
{
return
new
QrImage
(
this
.
qrContent
,
this
.
qrWidth
,
this
.
qrHeight
,
this
.
qrIconFilePath
,
this
.
qrIconWidth
,
this
.
topWrodHeight
,
this
.
wordSize
,
this
.
wordContent
,
this
.
fileOutputPath
);
}
}
public
QrImage
(
String
qrContent
,
int
qrWidth
,
int
qrHeight
,
String
qrIconFilePath
,
int
qrIconWidth
,
int
topWrodHeight
,
int
wordSize
,
String
wordContent
,
String
fileOutputPath
)
{
super
();
this
.
qrContent
=
qrContent
;
this
.
qrWidth
=
qrWidth
;
this
.
qrHeight
=
qrHeight
;
this
.
qrIconFilePath
=
qrIconFilePath
;
this
.
qrIconWidth
=
qrIconWidth
;
this
.
topWrodHeight
=
topWrodHeight
;
this
.
wordSize
=
wordSize
;
this
.
wordContent
=
wordContent
;
this
.
fileOutputPath
=
fileOutputPath
;
}
public
String
getQrContent
()
{
return
qrContent
;
}
public
int
getQrWidth
()
{
return
qrWidth
;
}
public
int
getQrHeight
()
{
return
qrHeight
;
}
public
String
getQrIconFilePath
()
{
return
qrIconFilePath
;
}
public
int
getTopWrodHeight
()
{
return
topWrodHeight
;
}
public
int
getWordSize
()
{
return
wordSize
;
}
public
String
getWordContent
()
{
return
wordContent
;
}
public
String
getFileOutputPath
()
{
return
fileOutputPath
;
}
public
int
getQrIconWidth
()
{
return
qrIconWidth
;
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment