Skip to content

Commit

Permalink
feat: 添加图片裁剪功能
Browse files Browse the repository at this point in the history
  • Loading branch information
jy03078959 committed Dec 6, 2019
1 parent 715266d commit bfb8401
Show file tree
Hide file tree
Showing 6 changed files with 583 additions and 21 deletions.
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
"axios": "^0.18.0",
"babel-polyfill": "*",
"clipboard": "^2.0.0",
"cropperjs": "^1.5.6",
"element-ui": "2.4.11",
"inversify": "^5.0.1",
"js-cookie": "^2.2.0",
Expand Down Expand Up @@ -70,4 +71,4 @@
"last 2 versions",
"not ie <= 8"
]
}
}
12 changes: 12 additions & 0 deletions src/assets/image/bgblank.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
294 changes: 294 additions & 0 deletions src/assets/style/cropper.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,294 @@
.cropper-container {
direction: ltr;
font-size: 0;
line-height: 0;
position: relative;
-ms-touch-action: none;
touch-action: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none
}
.cropper-container img {
display: block;
height: 100%;
image-orientation: 0deg;
max-height: none !important;
max-width: none !important;
min-height: 0 !important;
min-width: 0 !important;
width: 100%
}

.cropper-canvas,
.cropper-crop-box,
.cropper-drag-box,
.cropper-modal,
.cropper-wrap-box {
bottom: 0;
left: 0;
position: absolute;
right: 0;
top: 0
}

.cropper-canvas,
.cropper-wrap-box {
overflow: hidden
}

.cropper-drag-box {
background-color: #fff;
opacity: 0
}

.cropper-modal {
background-color: #000;
opacity: .5
}

.cropper-view-box {
display: block;
height: 100%;
outline-color: rgba(51, 153, 255, .75);
outline: 1px solid #39f;
overflow: hidden;
width: 100%
}

.cropper-dashed {
border: 0 dashed #eee;
display: block;
opacity: .5;
position: absolute
}

.cropper-dashed.dashed-h {
border-bottom-width: 1px;
border-top-width: 1px;
height: 33.33333%;
left: 0;
top: 33.33333%;
width: 100%
}

.cropper-dashed.dashed-v {
border-left-width: 1px;
border-right-width: 1px;
height: 100%;
left: 33.33333%;
top: 0;
width: 33.33333%
}

.cropper-center {
display: block;
height: 0;
left: 50%;
opacity: .75;
position: absolute;
top: 50%;
width: 0
}

.cropper-center:after,
.cropper-center:before {
background-color: #eee;
content: " ";
display: block;
position: absolute
}

.cropper-center:before {
height: 1px;
left: -3px;
top: 0;
width: 7px
}

.cropper-center:after {
height: 7px;
left: 0;
top: -3px;
width: 1px
}

.cropper-face,
.cropper-line,
.cropper-point {
display: block;
height: 100%;
opacity: .1;
position: absolute;
width: 100%
}

.cropper-face {
background-color: #fff;
left: 0;
top: 0
}

.cropper-line {
background-color: #39f
}

.cropper-line.line-e {
cursor: ew-resize;
right: -3px;
top: 0;
width: 5px
}

.cropper-line.line-n {
cursor: ns-resize;
height: 5px;
left: 0;
top: -3px
}

.cropper-line.line-w {
cursor: ew-resize;
left: -3px;
top: 0;
width: 5px
}

.cropper-line.line-s {
bottom: -3px;
cursor: ns-resize;
height: 5px;
left: 0
}

.cropper-point {
background-color: #39f;
height: 5px;
opacity: .75;
width: 5px
}

.cropper-point.point-e {
cursor: ew-resize;
margin-top: -3px;
right: -3px;
top: 50%
}

.cropper-point.point-n {
cursor: ns-resize;
left: 50%;
margin-left: -3px;
top: -3px
}

.cropper-point.point-w {
cursor: ew-resize;
left: -3px;
margin-top: -3px;
top: 50%
}

.cropper-point.point-s {
bottom: -3px;
cursor: s-resize;
left: 50%;
margin-left: -3px
}

.cropper-point.point-ne {
cursor: nesw-resize;
right: -3px;
top: -3px
}

.cropper-point.point-nw {
cursor: nwse-resize;
left: -3px;
top: -3px
}

.cropper-point.point-sw {
bottom: -3px;
cursor: nesw-resize;
left: -3px
}

.cropper-point.point-se {
bottom: -3px;
cursor: nwse-resize;
height: 20px;
opacity: 1;
right: -3px;
width: 20px
}

@media (min-width:768px) {
.cropper-point.point-se {
height: 15px;
width: 15px
}
}

@media (min-width:992px) {
.cropper-point.point-se {
height: 10px;
width: 10px
}
}

@media (min-width:1200px) {
.cropper-point.point-se {
height: 5px;
opacity: .75;
width: 5px
}
}

.cropper-point.point-se:before {
background-color: #39f;
bottom: -50%;
content: " ";
display: block;
height: 200%;
opacity: 0;
position: absolute;
right: -50%;
width: 200%
}

.cropper-invisible {
opacity: 0
}

.cropper-bg {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC")
}

.cropper-hide {
display: block;
height: 0;
position: absolute;
width: 0
}

.cropper-hidden {
display: none !important
}

.cropper-move {
cursor: move
}

.cropper-crop {
cursor: crosshair
}

.cropper-disabled .cropper-drag-box,
.cropper-disabled .cropper-face,
.cropper-disabled .cropper-line,
.cropper-disabled .cropper-point {
cursor: not-allowed
}

Loading

0 comments on commit bfb8401

Please sign in to comment.