Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
S
shop-Mall
Project
Project
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
licc
shop-Mall
Commits
41ed8626
Commit
41ed8626
authored
Mar 08, 2021
by
liqin
💬
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bug fixed
parent
7c76de52
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
43 additions
and
9 deletions
+43
-9
Dockerfile
Dockerfile
+2
-1
ImageUtil.java
...on/src/main/java/cn/wisenergy/common/utils/ImageUtil.java
+23
-3
LoginController.java
...n/wisenergy/web/admin/controller/app/LoginController.java
+18
-5
No files found.
Dockerfile
View file @
41ed8626
FROM
openjdk:8-jdk-alpine
#FROM openjdk:8-jdk-alpine
FROM
liumiaocn/jdk:ora8u201-alpine3.9-glibc2.29
USER
root
MAINTAINER
Danny Lee
VOLUME
/opt
...
...
wisenergy-common/src/main/java/cn/wisenergy/common/utils/ImageUtil.java
View file @
41ed8626
...
...
@@ -13,6 +13,26 @@ import java.io.IOException;
public
class
ImageUtil
{
/**
* JAVA添加文字水印
*
* @param srcImage 目标图片
* @param waterImage 水印图片
* @return
*/
public
static
byte
[]
watermarkImageSimple1
(
BufferedImage
srcImage
,
BufferedImage
waterImage
)
throws
IOException
{
int
bgWidth
=
srcImage
.
getWidth
(
null
);
int
bgHeight
=
srcImage
.
getHeight
(
null
);
BufferedImage
image
=
new
BufferedImage
(
bgWidth
,
bgHeight
,
BufferedImage
.
TYPE_INT_RGB
);
Graphics2D
g
=
image
.
createGraphics
();
g
.
drawImage
(
srcImage
,
0
,
0
,
bgWidth
,
bgHeight
,
null
);
g
.
drawImage
(
waterImage
,
bgWidth
-
150
,
bgHeight
-
150
,
waterImage
.
getWidth
(),
waterImage
.
getHeight
(),
null
);
g
.
dispose
();
ByteArrayOutputStream
out
=
new
ByteArrayOutputStream
();
ImageIO
.
write
(
image
,
"jpg"
,
out
);
return
out
.
toByteArray
();
}
/**
* JAVA添加文字水印
*
...
...
@@ -28,7 +48,7 @@ public class ImageUtil {
ImageWriter
writer
=
ImageIO
.
getImageWritersByFormatName
(
"jpg"
).
next
();
ImageWriteParam
imgWriteParams
=
new
javax
.
imageio
.
plugins
.
jpeg
.
JPEGImageWriteParam
(
null
);
imgWriteParams
.
setCompressionMode
(
ImageWriteParam
.
MODE_DISABLED
);
imgWriteParams
.
setCompressionQuality
(
1.0f
);
//
imgWriteParams.setCompressionQuality(1.0f);
imgWriteParams
.
setProgressiveMode
(
ImageWriteParam
.
MODE_DISABLED
);
ByteArrayOutputStream
baos
=
new
ByteArrayOutputStream
();
IIOImage
iIamge
=
new
IIOImage
(
waterImage
,
null
,
null
);
...
...
@@ -62,7 +82,7 @@ public class ImageUtil {
ImageWriter
writer
=
ImageIO
.
getImageWritersByFormatName
(
"jpg"
).
next
();
ImageWriteParam
imgWriteParams
=
new
javax
.
imageio
.
plugins
.
jpeg
.
JPEGImageWriteParam
(
null
);
imgWriteParams
.
setCompressionMode
(
ImageWriteParam
.
MODE_DISABLED
);
imgWriteParams
.
setCompressionQuality
(
1.0f
);
//
imgWriteParams.setCompressionQuality(1.0f);
imgWriteParams
.
setProgressiveMode
(
ImageWriteParam
.
MODE_DISABLED
);
ByteArrayOutputStream
baos
=
new
ByteArrayOutputStream
();
IIOImage
iIamge
=
new
IIOImage
(
image
,
null
,
null
);
...
...
@@ -111,7 +131,7 @@ public class ImageUtil {
ImageWriter
writer
=
ImageIO
.
getImageWritersByFormatName
(
"jpg"
).
next
();
ImageWriteParam
imgWriteParams
=
new
javax
.
imageio
.
plugins
.
jpeg
.
JPEGImageWriteParam
(
null
);
// 要使用压缩,必须指定压缩方式为MODE_EXPLICIT
imgWriteParams
.
setCompressionMode
(
ImageWriteParam
.
MODE_
DISABLED
);
imgWriteParams
.
setCompressionMode
(
ImageWriteParam
.
MODE_
EXPLICIT
);
// 这里指定压缩的程度,参数qality是取值0~1范围内,
imgWriteParams
.
setCompressionQuality
(
1.0f
);
imgWriteParams
.
setProgressiveMode
(
ImageWriteParam
.
MODE_DISABLED
);
...
...
wisenergy-web-admin/src/main/java/cn/wisenergy/web/admin/controller/app/LoginController.java
View file @
41ed8626
package
cn
.
wisenergy
.
web
.
admin
.
controller
.
app
;
import
cn.hutool.extra.qrcode.QrCodeUtil
;
import
cn.hutool.extra.qrcode.QrConfig
;
import
cn.wisenergy.common.utils.*
;
import
cn.wisenergy.model.app.User
;
import
cn.wisenergy.model.app.UsersDto
;
...
...
@@ -14,6 +15,10 @@ import lombok.extern.slf4j.Slf4j;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.core.io.ClassPathResource
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
...
...
@@ -127,16 +132,24 @@ public class LoginController {
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"userId"
,
value
=
"用户手机号"
,
required
=
true
,
dataType
=
"String"
)
})
@PostMapping
(
"/registerByQrCode"
)
public
byte
[]
registerByQrCode
(
@RequestParam
String
userId
,
HttpServletRequest
request
)
throws
IOException
{
User
user
=
this
.
usersService
.
getById
(
userId
);
@PostMapping
(
value
=
"/registerByQrCode"
)
public
ResponseEntity
<
byte
[]>
registerByQrCode
(
@RequestParam
(
"userId"
)
String
userId
,
HttpServletRequest
request
)
throws
IOException
{
User
user
=
this
.
usersService
.
getBy
User
Id
(
userId
);
if
(
user
!=
null
)
{
String
regFullUrl
=
request
.
getScheme
()
+
"://"
+
request
.
getServerName
()
+
":"
+
request
.
getServerPort
()
+
"/regist?beInvitedCode="
+
user
.
getInviteCode
();
final
InputStream
is
=
new
ClassPathResource
(
"templates/background.jpg"
).
getInputStream
();
BufferedImage
srcImage
=
ImageIO
.
read
(
is
);
BufferedImage
waterImage
=
QrCodeUtil
.
generate
(
regFullUrl
,
100
,
100
);
return
ImageUtil
.
watermarkImageSimple
(
srcImage
,
waterImage
);
QrConfig
config
=
new
QrConfig
(
130
,
130
);
config
.
setMargin
(
0
);
BufferedImage
waterImage
=
QrCodeUtil
.
generate
(
regFullUrl
,
config
);
byte
[]
bytes
=
ImageUtil
.
watermarkImageSimple1
(
srcImage
,
waterImage
);
HttpHeaders
headers
=
new
HttpHeaders
();
headers
.
setContentType
(
MediaType
.
IMAGE_JPEG
);
headers
.
setContentLength
(
bytes
.
length
);
return
new
ResponseEntity
<>(
bytes
,
headers
,
HttpStatus
.
OK
);
}
return
null
;
}
...
...
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