|
@@ -54,8 +54,8 @@
|
|
|
</div>
|
|
|
</el-row>
|
|
|
<div>
|
|
|
- <span>输出目录:</span>
|
|
|
- <el-input :title="handleData.newPath" ref="upload-input" @focus="pickPath" placeholder="请选择输出目录" size="mini" v-model="handleData.newPath" readonly style="width:180px;" prefix-icon="el-icon-folder"></el-input>
|
|
|
+ <span>保存目录:</span>
|
|
|
+ <el-input :title="handleData.newPath" ref="upload-input" @focus="pickPath" placeholder="请选择保存目录" size="mini" v-model="handleData.newPath" readonly style="width:180px;" prefix-icon="el-icon-folder"></el-input>
|
|
|
<el-popover placement="bottom" popper-class="popper-open" trigger="hover" content="打开保存目录">
|
|
|
<i class="el-icon-folder-opened" slot="reference" style="padding-left: 5px; cursor: pointer; font-size: 22px; vertical-align: middle;" @click="openFolder()"></i>
|
|
|
</el-popover>
|
|
@@ -128,79 +128,15 @@
|
|
|
</template>
|
|
|
</vxe-column>
|
|
|
</vxe-table>
|
|
|
-
|
|
|
- <!-- <vxe-table v-show="menuIndex == '1'"
|
|
|
- show-overflow class="img-table" max-height="100%" empty-text="没有更多数据了!" :loading="tabLoading"
|
|
|
- :loading-config="{icon: 'vxe-icon-indicator roll', text: '文件加载中...'}" :row-config="{isHover: true}"
|
|
|
- :edit-config="{trigger: 'click', mode: 'cell'}" :data="imgList" :scroll-y="{enabled: true}">
|
|
|
- <vxe-column field="name" :title="'文件名称'+'(' + imgList.length + ')'"></vxe-column>
|
|
|
- <vxe-column field="size" title="大小" width="100"></vxe-column>
|
|
|
- <vxe-column field="width" title="尺寸" width="140">
|
|
|
- <template #default="{ row }">
|
|
|
- <span v-if="row.width == 0 && row.height == 0">加载中</span>
|
|
|
- <span v-else>{{row.width + '*' + row.height}}</span>
|
|
|
- </template>
|
|
|
- </vxe-column>
|
|
|
- <vxe-column field="progress" title="转换进度" width="160">
|
|
|
- <template #default="{ row }">
|
|
|
- <el-progress :text-inside="true" :stroke-width="20" :percentage="row.percent"></el-progress>
|
|
|
- </template>
|
|
|
- </vxe-column>
|
|
|
- <vxe-column title="操作" width="90">
|
|
|
- <template #default="{ row, rowIndex }">
|
|
|
- <i class="el-icon-delete cur-pointer" style="font-size: 20px;" @click="delFile(rowIndex)"></i>
|
|
|
- </template>
|
|
|
- </vxe-column>
|
|
|
- </vxe-table> -->
|
|
|
-
|
|
|
- <!-- <vxe-table v-show="menuIndex == '2'"
|
|
|
- show-overflow class="img-table" max-height="100%" empty-text="没有更多数据了!" :loading="tabLoading"
|
|
|
- :loading-config="{icon: 'vxe-icon-indicator roll', text: '文件加载中...'}" :row-config="{isHover: true}"
|
|
|
- :edit-config="{trigger: 'click', mode: 'cell'}" :data="fileList" :scroll-y="{enabled: true}">
|
|
|
- <vxe-column field="name" :title="'文件名称'+'(' + fileList.length + ')'"></vxe-column>
|
|
|
- <vxe-column field="size" title="大小" width="100"></vxe-column>
|
|
|
- <vxe-column field="progress" title="转换进度" width="160">
|
|
|
- <template #default="{ row }">
|
|
|
- <el-progress :text-inside="true" :stroke-width="20" :percentage="row.percent"></el-progress>
|
|
|
- </template>
|
|
|
- </vxe-column>
|
|
|
- <vxe-column title="操作" width="90">
|
|
|
- <template #default="{ row, rowIndex }">
|
|
|
- <i class="el-icon-delete cur-pointer" style="font-size: 20px;" @click="delFile(rowIndex)"></i>
|
|
|
- </template>
|
|
|
- </vxe-column>
|
|
|
- </vxe-table> -->
|
|
|
-
|
|
|
- <!-- <vxe-table v-show="menuIndex == '3'"
|
|
|
- show-overflow class="img-table" max-height="100%" empty-text="没有更多数据了!" :loading="tabLoading"
|
|
|
- :loading-config="{icon: 'vxe-icon-indicator roll', text: '文件加载中...'}" :row-config="{isHover: true}"
|
|
|
- :edit-config="{trigger: 'click', mode: 'cell'}" :data="videoList" :scroll-y="{enabled: true}">
|
|
|
- <vxe-column field="name" :title="'文件名称'+'(' + videoList.length + ')'"></vxe-column>
|
|
|
- <vxe-column field="size" title="大小" width="100">
|
|
|
- <template #default="{ row }">
|
|
|
- <span>{{$utils.handleSize(row.size)}}</span>
|
|
|
- </template>
|
|
|
- </vxe-column>
|
|
|
- <vxe-column field="duration" title="时间(秒)" width="140"></vxe-column>
|
|
|
- <vxe-column field="progress" title="转换进度" width="160">
|
|
|
- <template #default="{ row }">
|
|
|
- <el-progress :text-inside="true" :stroke-width="20" :percentage="row.percent"></el-progress>
|
|
|
- </template>
|
|
|
- </vxe-column>
|
|
|
- <vxe-column title="操作" width="90">
|
|
|
- <template #default="{ row, rowIndex }">
|
|
|
- <i class="el-icon-delete cur-pointer" style="font-size: 20px;" @click="delVideoFile(rowIndex)"></i>
|
|
|
- </template>
|
|
|
- </vxe-column>
|
|
|
- </vxe-table> -->
|
|
|
-
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
<div class="content-center">
|
|
|
<div class="title" style="position: relative;">
|
|
|
<i class="iconfont icon-shezhi"></i>效果预览
|
|
|
- <span style="color: #F56C6C; float: right;" v-if="menuIndex == '2'">仅作参考,请以实际为准!</span>
|
|
|
+ <el-button size="mini" type="info" style="position: absolute; right: 10px; top: 5px;"
|
|
|
+ @click="isShow=true" v-if="menuIndex == '1'">全屏预览水印</el-button>
|
|
|
+ <span style="color: #F56C6C; float: right;" v-if="menuIndex == '2'">水印仅作参考,请以实际为准!</span>
|
|
|
<el-button size="mini" type="info" style="position: absolute; right: 10px; top: 5px;"
|
|
|
@click="refreshVideo()" v-if="menuIndex == '3'">刷新预览水印</el-button>
|
|
|
</div>
|
|
@@ -213,14 +149,14 @@
|
|
|
</div>
|
|
|
|
|
|
<div class="content-right">
|
|
|
- <p class="title"><i class="iconfont icon-shezhi"></i>水印参数</p>
|
|
|
+ <p class="title"><i class="iconfont icon-shezhi"></i>水印设置</p>
|
|
|
<div style="padding: 10px 15px; overflow: auto; height: calc(100% - 37px);">
|
|
|
<label class="handle-label">水印类型:</label>
|
|
|
- <el-select size="small" v-model="handleData.watermarkType" style="width: 100px;">
|
|
|
+ <el-select size="mini" v-model="handleData.watermarkType" style="width: 100px;">
|
|
|
<el-option value="1" label="文字水印"></el-option>
|
|
|
- <el-option value="2" label="图片水印"></el-option>
|
|
|
+ <el-option value="2" label="Logo水印"></el-option>
|
|
|
</el-select>
|
|
|
- <el-select size="small" v-if="this.menuIndex != 3" v-model="handleData.watermarkStyle" style="width:90px;" @change="handleImg">
|
|
|
+ <el-select size="mini" v-if="this.menuIndex != 3" v-model="handleData.watermarkStyle" style="width:90px;" @change="handleImg">
|
|
|
<el-option :value="1" label="单个"></el-option>
|
|
|
<el-option :value="2" label="平铺"></el-option>
|
|
|
<el-option :value="3" v-if="this.menuIndex == '2' && this.handleData.watermarkType == '2'" label="多个"></el-option>
|
|
@@ -231,25 +167,28 @@
|
|
|
<el-divider>水印样式</el-divider>
|
|
|
<div class="handle-item">
|
|
|
<label class="handle-label">文字内容:</label>
|
|
|
- <el-input type="text" v-model="handleData.watermarkValue" size="small" placeholder="请输入文字水印内容" style="width:194px;" @blur="handleImg"></el-input>
|
|
|
+ <el-input type="text" v-model="handleData.watermarkValue" size="mini" placeholder="请输入文字水印内容" style="width:194px;" @blur="handleImg"></el-input>
|
|
|
+ </div>
|
|
|
+ <div class="handle-item">
|
|
|
+ <label class="handle-label">字体大小:</label>
|
|
|
+ <el-input-number size="mini" v-model="handleData.watermarkFont" @change="handleImg" :min="1" :max="200" :step="1" style="width: 158px;"></el-input-number>
|
|
|
</div>
|
|
|
<div class="handle-item">
|
|
|
- <label class="handle-label">大小颜色:</label>
|
|
|
- <el-input-number size="small" v-model="handleData.watermarkFont" @change="handleImg" :min="1" :max="200" :step="1" style="width: 158px;"></el-input-number>
|
|
|
- <el-color-picker style="vertical-align: middle;" size="small" v-model="handleData.watermarkColor" @change="handleImg"></el-color-picker>
|
|
|
+ <label class="handle-label">字体颜色:</label>
|
|
|
+ <el-color-picker style="vertical-align: middle;" size="mini" color-format="rgb" v-model="handleData.watermarkColor" @change="handleImg"></el-color-picker>
|
|
|
</div>
|
|
|
<div class="handle-item">
|
|
|
<label class="handle-label">不透明度:</label>
|
|
|
- <el-input-number size="small" v-model="handleData.watermarkImgOpactiy" @change="handleImg" :min="1" :max="100" :step="1" style="width: 158px;"></el-input-number> %
|
|
|
+ <el-input-number size="mini" v-model="handleData.watermarkImgOpactiy" @change="handleImg" :min="1" :max="100" :step="1" style="width: 158px;"></el-input-number> %
|
|
|
</div>
|
|
|
|
|
|
<div class="handle-item" v-if="menuIndex != '3'">
|
|
|
<label class="handle-label">旋转角度:</label>
|
|
|
- <el-input-number size="small" v-model="handleData.rotate" @change="handleImg" :step="1" style="width: 158px;"></el-input-number>
|
|
|
+ <el-input-number size="mini" v-model="handleData.rotate" @change="handleImg" :step="1" style="width: 158px;"></el-input-number>
|
|
|
</div>
|
|
|
<div class="handle-item">
|
|
|
<label class="handle-label">文字字体:</label>
|
|
|
- <el-select size="small" v-model="handleData.fonts" style="width:128px;" @change="handleImg">
|
|
|
+ <el-select size="mini" v-model="handleData.fonts" style="width:128px;" @change="handleImg">
|
|
|
<el-option-group
|
|
|
v-for="group in fonts"
|
|
|
:key="group.label"
|
|
@@ -268,37 +207,36 @@
|
|
|
</el-upload>
|
|
|
<vxe-button type="text" status="info" icon="vxe-icon-info-circle-fill" @click="$message({message:'文字为中文时,请选择中文字体!', type:'warning'})"></vxe-button>
|
|
|
</div>
|
|
|
- <el-divider>水印位置</el-divider>
|
|
|
<div class="handle-item">
|
|
|
<label class="handle-label">水印位置:</label>
|
|
|
- <el-radio-group class="position-radio" v-model="handleData.watermarkPosition" :style="{width: '120px', color: '#fff'}" @change="handleImg">
|
|
|
+ <el-radio-group class="position-radio" v-model="handleData.watermarkPosition" :style="{width: '100px', color: '#fff'}" @change="handleImg">
|
|
|
<el-radio :disabled="handleData.watermarkStyle == 2 && handleData.watermarkType == '1'" :style="{margin: '2px 2px 2px 0', fontSize: 0}" v-for="key in watermarkPosition" :key="key" :label="key"></el-radio>
|
|
|
</el-radio-group>
|
|
|
</div>
|
|
|
<div class="handle-item">
|
|
|
<label class="handle-label">水平边距:</label>
|
|
|
- <el-input-number size="small" style="width: 158px;" v-model="handleData.watermarkX" @change="handleImg" ></el-input-number>
|
|
|
+ <el-input-number size="mini" style="width: 158px;" v-model="handleData.watermarkX" @change="handleImg" ></el-input-number>
|
|
|
</div>
|
|
|
<div class="handle-item">
|
|
|
<label class="handle-label">垂直边距:</label>
|
|
|
- <el-input-number size="small" style="width: 158px;" v-model="handleData.watermarkY" @change="handleImg" ></el-input-number>
|
|
|
+ <el-input-number size="mini" style="width: 158px;" v-model="handleData.watermarkY" @change="handleImg" ></el-input-number>
|
|
|
</div>
|
|
|
|
|
|
<template v-if="handleData.watermarkStyle == 2 && menuIndex != '3'">
|
|
|
<el-divider>水印密度</el-divider>
|
|
|
<div class="handle-item" style="overflow: hidden;">
|
|
|
<label class="density-label">水印行数:</label>
|
|
|
- <el-input-number size="small" style="width: 158px;margin-right: 4px;" v-model="handleData.watermarkDensityY" @change="handleImg" :step="1" :min="1"></el-input-number>
|
|
|
+ <el-input-number size="mini" style="width: 158px;margin-right: 4px;" v-model="handleData.watermarkDensityY" @change="handleImg" :step="1" :min="1"></el-input-number>
|
|
|
</div>
|
|
|
<div class="handle-item" style="overflow: hidden;">
|
|
|
<label class="density-label">水印列数:</label>
|
|
|
- <el-input-number size="small" style="width: 158px;" v-model="handleData.watermarkDensityX" @change="handleImg" :step="1" :min="1"></el-input-number>
|
|
|
+ <el-input-number size="mini" style="width: 158px;" v-model="handleData.watermarkDensityX" @change="handleImg" :step="1" :min="1"></el-input-number>
|
|
|
</div>
|
|
|
</template>
|
|
|
<template v-if="menuIndex == '3'">
|
|
|
<div class="handle-item">
|
|
|
<label class="handle-label">动态滚动:</label>
|
|
|
- <el-select size="small" v-model="handleData.direction" style="width: 158px;" @change="handleImg">
|
|
|
+ <el-select size="mini" v-model="handleData.direction" style="width: 158px;" @change="handleImg">
|
|
|
<el-option value="0" label="无"></el-option>
|
|
|
<el-option value="left2right" label="从左往右"></el-option>
|
|
|
<el-option value="right2left" label="从右往左"></el-option>
|
|
@@ -308,7 +246,7 @@
|
|
|
</div>
|
|
|
<div class="handle-item" v-if="handleData.direction != 0">
|
|
|
<label class="handle-label">滚动速度:</label>
|
|
|
- <el-input-number size="small" v-model="handleData.speed" @change="handleImg" :step="1" :min="1" style="width: 158px;"></el-input-number>
|
|
|
+ <el-input-number size="mini" v-model="handleData.speed" @change="handleImg" :step="1" :min="1" style="width: 158px;"></el-input-number>
|
|
|
</div>
|
|
|
</template>
|
|
|
</template>
|
|
@@ -317,50 +255,48 @@
|
|
|
<template v-if="handleData.watermarkType == '2'">
|
|
|
<el-divider>水印样式</el-divider>
|
|
|
<div class="handle-item">
|
|
|
- <label class="handle-label">上传图片:</label>
|
|
|
+ <label class="handle-label">上传Logo:</label>
|
|
|
<el-upload :style="{display: 'inline-block'}" action="/" :before-upload="getImgPath">
|
|
|
- <el-input type="text" readonly v-model="handleData.watermarkImgPath" size="small" style="width: 165px;" ></el-input>
|
|
|
+ <el-input type="text" readonly v-model="handleData.watermarkImgPath" size="mini" style="width: 165px;" ></el-input>
|
|
|
<i class="el-icon-folder-opened open-folder" style="font-size:22px;"></i>
|
|
|
</el-upload>
|
|
|
</div>
|
|
|
<div class="handle-item">
|
|
|
<label class="handle-label">缩放比例:</label>
|
|
|
- <el-input-number size="small" style="width: 158px;" v-model="handleData.scaling" @change="handleImg" :step="1" :min="1" :max="200"></el-input-number> %
|
|
|
+ <el-input-number size="mini" style="width: 158px;" v-model="handleData.scaling" @change="handleImg" :step="1" :min="1" :max="200"></el-input-number> %
|
|
|
</div>
|
|
|
<div class="handle-item">
|
|
|
<label class="handle-label">不透明度:</label>
|
|
|
- <el-input-number size="small" style="width: 158px;" v-model="handleData.watermarkImgOpactiy" @change="handleImg" :step="1" :min="1" :max="100"></el-input-number> %
|
|
|
+ <el-input-number size="mini" style="width: 158px;" v-model="handleData.watermarkImgOpactiy" @change="handleImg" :step="1" :min="1" :max="100"></el-input-number> %
|
|
|
</div>
|
|
|
<div class="handle-item" v-if="handleData.watermarkType == '2' && menuIndex != '3'">
|
|
|
<label class="handle-label">旋转角度:</label>
|
|
|
- <el-input-number size="small" style="width: 158px;" v-model="handleData.rotate" @change="handleImg" :step="1"></el-input-number>
|
|
|
+ <el-input-number size="mini" style="width: 158px;" v-model="handleData.rotate" @change="handleImg" :step="1"></el-input-number>
|
|
|
</div>
|
|
|
-
|
|
|
- <el-divider>水印位置</el-divider>
|
|
|
<div class="handle-item">
|
|
|
<label class="handle-label">水印位置:</label>
|
|
|
- <el-radio-group class="position-radio" v-model="handleData.watermarkPosition" :style="{width: '120px', color: '#fff'}" @change="handleImg">
|
|
|
+ <el-radio-group class="position-radio" v-model="handleData.watermarkPosition" :style="{width: '100px', color: '#fff'}" @change="handleImg">
|
|
|
<el-radio :disabled="handleData.watermarkStyle == 2 && handleData.watermarkType == '1'" :style="{margin: '2px 2px 2px 0', fontSize: 0}" v-for="key in watermarkPosition" :key="key" :label="key"></el-radio>
|
|
|
</el-radio-group>
|
|
|
</div>
|
|
|
<div class="handle-item">
|
|
|
<label class="handle-label">水平边距:</label>
|
|
|
- <el-input-number size="small" style="width: 158px;" v-model="handleData.watermarkX" @change="handleImg" ></el-input-number>
|
|
|
+ <el-input-number size="mini" style="width: 158px;" v-model="handleData.watermarkX" @change="handleImg" ></el-input-number>
|
|
|
</div>
|
|
|
<div class="handle-item">
|
|
|
<label class="handle-label">垂直边距:</label>
|
|
|
- <el-input-number size="small" style="width: 158px;" v-model="handleData.watermarkY" @change="handleImg" ></el-input-number>
|
|
|
+ <el-input-number size="mini" style="width: 158px;" v-model="handleData.watermarkY" @change="handleImg" ></el-input-number>
|
|
|
</div>
|
|
|
|
|
|
<template v-if="handleData.watermarkStyle == 2 && menuIndex != '3'">
|
|
|
<el-divider>水印密度</el-divider>
|
|
|
<div class="handle-item">
|
|
|
<label class="handle-label">水印列数:</label>
|
|
|
- <el-input-number size="small" style="width: 158px;" v-model="handleData.watermarkDensityX" :step="1" :min="1" @change="handleImg" ></el-input-number>
|
|
|
+ <el-input-number size="mini" style="width: 158px;" v-model="handleData.watermarkDensityX" :step="1" :min="1" @change="handleImg" ></el-input-number>
|
|
|
</div>
|
|
|
<div class="handle-item">
|
|
|
<label class="handle-label">水印行数:</label>
|
|
|
- <el-input-number size="small" style="width: 158px;" v-model="handleData.watermarkDensityY" :step="1" :min="1" @change="handleImg" ></el-input-number>
|
|
|
+ <el-input-number size="mini" style="width: 158px;" v-model="handleData.watermarkDensityY" :step="1" :min="1" @change="handleImg" ></el-input-number>
|
|
|
</div>
|
|
|
</template>
|
|
|
</template>
|
|
@@ -370,38 +306,38 @@
|
|
|
<div v-for="(item, index) in watermarkImgList" :key="index">
|
|
|
<div class="handle-title">第{{index+2}}张水印信息 <el-button type="danger" size="mini" @click="delWatermark(index)">删除</el-button></div>
|
|
|
<div class="handle-item" @click="waterMoreIndex = index">
|
|
|
- <label class="handle-label">上传图片:</label>
|
|
|
+ <label class="handle-label">上传Logo:</label>
|
|
|
<el-upload :style="{display: 'inline-block'}" action="/" :before-upload="getImgPathMore">
|
|
|
- <el-input type="text" readonly v-model="item.watermarkImgPath" size="small" style="width:140px;" ></el-input>
|
|
|
+ <el-input type="text" readonly v-model="item.watermarkImgPath" size="mini" style="width:140px;" ></el-input>
|
|
|
<i class="el-icon-folder-opened open-folder" style="font-size:22px;"></i>
|
|
|
</el-upload>
|
|
|
</div>
|
|
|
<div class="handle-item">
|
|
|
<label class="handle-label">缩放比例:</label>
|
|
|
- <el-input-number size="small" style="width: 158px;" v-model="item.scaling" @change="handleImg" :step="1" :min="1" :max="200"></el-input-number>%
|
|
|
+ <el-input-number size="mini" style="width: 158px;" v-model="item.scaling" @change="handleImg" :step="1" :min="1" :max="200"></el-input-number>%
|
|
|
</div>
|
|
|
<div class="handle-item">
|
|
|
<label class="handle-label">不透明度:</label>
|
|
|
- <el-input-number size="small" style="width: 158px;" v-model="item.watermarkImgOpactiy" @change="handleImg" :step="1" :min="1" :max="100"></el-input-number>%
|
|
|
+ <el-input-number size="mini" style="width: 158px;" v-model="item.watermarkImgOpactiy" @change="handleImg" :step="1" :min="1" :max="100"></el-input-number>%
|
|
|
</div>
|
|
|
<div class="handle-item">
|
|
|
<label class="handle-label">旋转角度:</label>
|
|
|
- <el-input-number size="small" v-model="item.rotate" @change="handleImg"></el-input-number>
|
|
|
+ <el-input-number size="mini" v-model="item.rotate" @change="handleImg"></el-input-number>
|
|
|
</div>
|
|
|
|
|
|
<div class="handle-item">
|
|
|
<label class="handle-label">水印位置:</label>
|
|
|
- <el-radio-group class="position-radio" v-model="item.watermarkPosition" :style="{width: '120px', color: '#fff'}" @change="handleImg">
|
|
|
+ <el-radio-group class="position-radio" v-model="item.watermarkPosition" :style="{width: '100px', color: '#fff'}" @change="handleImg">
|
|
|
<el-radio :style="{margin: '2px 2px 2px 0', fontSize: 0}" v-for="key in watermarkPosition" :key="key" :label="key"></el-radio>
|
|
|
</el-radio-group>
|
|
|
</div>
|
|
|
<div class="handle-item">
|
|
|
<label class="">水平边距</label>
|
|
|
- <el-input-number size="small" style="width: 158px;" v-model="item.watermarkX" @change="handleImg"></el-input-number>
|
|
|
+ <el-input-number size="mini" style="width: 158px;" v-model="item.watermarkX" @change="handleImg"></el-input-number>
|
|
|
</div>
|
|
|
<div class="handle-item">
|
|
|
<label class="">垂直边距</label>
|
|
|
- <el-input-number size="small" style="width: 158px;" v-model="item.watermarkY" @change="handleImg"></el-input-number>
|
|
|
+ <el-input-number size="mini" style="width: 158px;" v-model="item.watermarkY" @change="handleImg"></el-input-number>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
@@ -417,12 +353,9 @@
|
|
|
</template>
|
|
|
|
|
|
<!-- 合并进度 -->
|
|
|
- <el-dialog title="音频合并进度" :visible.sync="isShow" width="400px" :close-on-click-modal="false">
|
|
|
+ <el-dialog title="图片水印预览" :visible.sync="isShow" :fullscreen="true" top="" :close-on-click-modal="false">
|
|
|
<div style="text-align: center;">
|
|
|
- <el-progress type="circle" :percentage="Number(hebingInfo_percent)"></el-progress>
|
|
|
- <div>
|
|
|
- <el-button type="primary" style="margin-top: 30px;" @click="isShow = false">关闭</el-button>
|
|
|
- </div>
|
|
|
+ <img :src="imgSrc" />
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
|
|
@@ -486,7 +419,7 @@ export default {
|
|
|
handleData: {
|
|
|
width: 0,
|
|
|
height: 0,
|
|
|
- pathType: '2', // 输出目录类型
|
|
|
+ pathType: '2', // 保存目录类型
|
|
|
newPath: os.userInfo().homedir + separator + "Downloads", // 新路径
|
|
|
autoRename: false, // 是否自动重命名
|
|
|
watermarkType: '1', // 水印类型 1文字 2图片
|
|
@@ -504,7 +437,7 @@ export default {
|
|
|
scaling: 100, // 水印缩放比例
|
|
|
watermarkPosition: 'Center', // 水印位置
|
|
|
fonts: 'c:\\windows\\fonts\\simkai.ttf',
|
|
|
- rotate: 0,
|
|
|
+ rotate: 30,
|
|
|
direction:'0',
|
|
|
speed: 2,
|
|
|
},
|
|
@@ -650,7 +583,7 @@ export default {
|
|
|
watermarkImgOpactiy: 100, // 水印不透明度
|
|
|
scaling: 100, // 水印缩放比例
|
|
|
watermarkPosition: 'Center', // 水印位置
|
|
|
- rotate: 0
|
|
|
+ rotate: 30
|
|
|
};
|
|
|
this.watermarkImgList.push(waterInfo);
|
|
|
},
|
|
@@ -1240,7 +1173,7 @@ export default {
|
|
|
const pages = pdfDoc.getPages();
|
|
|
// 注入字体
|
|
|
pdfDoc.registerFontkit(fontkit)
|
|
|
-
|
|
|
+
|
|
|
// 获取pdf第一页宽和高
|
|
|
pdf.width = Math.abs(pages[0].getWidth());
|
|
|
pdf.height = Math.abs(pages[0].getHeight());
|
|
@@ -1398,6 +1331,7 @@ export default {
|
|
|
if(this.watermarkImgList.length > 0 && this.handleData.watermarkStyle == 3){
|
|
|
for(let i = 0; i < this.watermarkImgList.length; i++){
|
|
|
witem = this.watermarkImgList[i];
|
|
|
+ console.log(witem)
|
|
|
if(witem.watermarkImgPath){
|
|
|
const buffer2 = await electronApi.fileStream(witem.watermarkImgPath);
|
|
|
if(witem.watermarkImgType == 'jpg'){
|
|
@@ -1409,7 +1343,7 @@ export default {
|
|
|
}
|
|
|
|
|
|
position2 = this.getPosition(pdfInfo, customFont, imgSource2, witem.watermarkPosition);
|
|
|
- positionObj2 = this.getXY(customFont, imgSource2);
|
|
|
+ positionObj2 = this.getXY(customFont, imgSource2, witem);
|
|
|
|
|
|
item.drawImage(imgSource2, {
|
|
|
x: position2[0] + witem.watermarkX,
|
|
@@ -1508,16 +1442,17 @@ export default {
|
|
|
return arr;
|
|
|
},
|
|
|
// 获取图片或文字的旋转后的宽度和高度
|
|
|
- getXY(customFont, imgSource){
|
|
|
+ getXY(customFont, imgSource, itemInfo){
|
|
|
let width = 0;
|
|
|
let height = 0;
|
|
|
let imgDims = null;
|
|
|
|
|
|
- if(this.handleData.watermarkType == 1){
|
|
|
+ if(this.handleData.watermarkType == 1){ // 文字水印
|
|
|
width = customFont.widthOfTextAtSize(this.handleData.watermarkValue, Number(this.handleData.watermarkFont));
|
|
|
height = customFont.heightAtSize(Number(this.handleData.watermarkFont));
|
|
|
}else{
|
|
|
- imgDims = imgSource.scale(this.handleData.scaling/100);
|
|
|
+ let scaling = itemInfo ? itemInfo.scaling : this.handleData.scaling;
|
|
|
+ imgDims = imgSource.scale(scaling/100);
|
|
|
width = imgDims.width;
|
|
|
height = imgDims.height;
|
|
|
}
|
|
@@ -2388,7 +2323,7 @@ export default {
|
|
|
}
|
|
|
|
|
|
.el-radio{
|
|
|
- margin: 8px 20px 8px 0 !important;
|
|
|
+ margin: 5px 15px 5px 0 !important;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -2444,4 +2379,11 @@ export default {
|
|
|
right: -4px;
|
|
|
display: none;
|
|
|
}
|
|
|
+
|
|
|
+ .el-divider--horizontal{
|
|
|
+ margin: 15px 0 !important;
|
|
|
+ }
|
|
|
+ .el-divider__text{
|
|
|
+ font-weight: 600 !important;
|
|
|
+ }
|
|
|
</style>
|