|
@@ -216,7 +216,7 @@
|
|
|
<div @click="changeSize">
|
|
|
<img src="../../assets/teacherdev/sfds-tailoring.png" alt="" />
|
|
|
</div>
|
|
|
- <el-upload
|
|
|
+ <!-- <el-upload
|
|
|
:accept="'.png,.jpg'"
|
|
|
class="upload-demo"
|
|
|
:show-file-list="false"
|
|
@@ -234,7 +234,7 @@
|
|
|
<div>
|
|
|
<img src="../../assets/teacherdev/sfds-image.png" alt="" />
|
|
|
</div>
|
|
|
- </el-upload>
|
|
|
+ </el-upload> -->
|
|
|
|
|
|
<div @click="addText">
|
|
|
<img src="../../assets/teacherdev/sfds-text.png" alt="" />
|
|
@@ -603,10 +603,6 @@ export default {
|
|
|
},
|
|
|
// 裁剪
|
|
|
changeSize() {
|
|
|
- if (!this.instance) {
|
|
|
- this.$message.warning("请先上传图片");
|
|
|
- return;
|
|
|
- }
|
|
|
this.instance.ui._actions.crop.cancel();
|
|
|
},
|
|
|
initCanvasImage() {
|
|
@@ -616,100 +612,94 @@ export default {
|
|
|
spinner: "el-icon-loading",
|
|
|
background: "rgba(0, 0, 0, 0.7)",
|
|
|
});
|
|
|
- // 直接使用跨域 请求文件流转url 再使用
|
|
|
- WebFileDownload({
|
|
|
- FileID: this.fileList[0].file_id,
|
|
|
- }).then((res) => {
|
|
|
- const objectUrl = window.URL.createObjectURL(res);
|
|
|
- this.instance = new ImageEditor(document.querySelector("#imgCanvas"), {
|
|
|
- includeUI: {
|
|
|
- loadImage: {
|
|
|
- path: objectUrl,
|
|
|
- name: "image",
|
|
|
- },
|
|
|
- menu: [
|
|
|
- "resize",
|
|
|
- "crop",
|
|
|
- "rotate",
|
|
|
- "draw",
|
|
|
- "shape",
|
|
|
- "icon",
|
|
|
- "text",
|
|
|
- "filter",
|
|
|
- ], // 底部菜单按钮列表 隐藏镜像flip和遮罩mask
|
|
|
- initMenu: "crop", // 默认打开的菜单项
|
|
|
- menuBarPosition: "bottom", // 菜单所在的位置
|
|
|
- locale: locale_zh, // 本地化语言为中文
|
|
|
- theme: customTheme, // 自定义样式
|
|
|
+ // const objectUrl = window.URL.createObjectURL("");
|
|
|
+ this.instance = new ImageEditor(document.querySelector("#imgCanvas"), {
|
|
|
+ includeUI: {
|
|
|
+ loadImage: {
|
|
|
+ path: "https://img2.baidu.com/it/u=1395980100,2999837177&fm=253&fmt=auto&app=120&f=JPEG?w=1200&h=675",
|
|
|
+ name: "image",
|
|
|
},
|
|
|
- cssMaxWidth: this.form.width, // canvas 最大宽度
|
|
|
- cssMaxHeight: this.form.heigt, // canvas 最大高度
|
|
|
- });
|
|
|
- let fontArray = [
|
|
|
- "Arial",
|
|
|
- "Arial Black",
|
|
|
- "Caveat",
|
|
|
- "Comic Sans MS",
|
|
|
- "Courier New",
|
|
|
- "Georgia1",
|
|
|
- "Impact",
|
|
|
- "Lobster Two",
|
|
|
- "Lucida Console",
|
|
|
- "Luckiest Guy",
|
|
|
- "Open Sans",
|
|
|
- "Pacifico",
|
|
|
- "Palatino Linotype",
|
|
|
- "Press Start 2P",
|
|
|
- "Roboto",
|
|
|
- "Tahoma",
|
|
|
- "Tangerine",
|
|
|
- "Times New Roman",
|
|
|
- "Tourney",
|
|
|
- "Ultra",
|
|
|
- "Verdana",
|
|
|
- "Symbol",
|
|
|
- "Webdings",
|
|
|
- "Wingdings",
|
|
|
- ];
|
|
|
+ menu: [
|
|
|
+ "resize",
|
|
|
+ "crop",
|
|
|
+ "rotate",
|
|
|
+ "draw",
|
|
|
+ "shape",
|
|
|
+ "icon",
|
|
|
+ "text",
|
|
|
+ "filter",
|
|
|
+ ], // 底部菜单按钮列表 隐藏镜像flip和遮罩mask
|
|
|
+ initMenu: "crop", // 默认打开的菜单项
|
|
|
+ menuBarPosition: "bottom", // 菜单所在的位置
|
|
|
+ locale: locale_zh, // 本地化语言为中文
|
|
|
+ theme: customTheme, // 自定义样式
|
|
|
+ },
|
|
|
+ cssMaxWidth: this.form.width, // canvas 最大宽度
|
|
|
+ cssMaxHeight: this.form.heigt, // canvas 最大高度
|
|
|
+ });
|
|
|
+ let fontArray = [
|
|
|
+ "Arial",
|
|
|
+ "Arial Black",
|
|
|
+ "Caveat",
|
|
|
+ "Comic Sans MS",
|
|
|
+ "Courier New",
|
|
|
+ "Georgia1",
|
|
|
+ "Impact",
|
|
|
+ "Lobster Two",
|
|
|
+ "Lucida Console",
|
|
|
+ "Luckiest Guy",
|
|
|
+ "Open Sans",
|
|
|
+ "Pacifico",
|
|
|
+ "Palatino Linotype",
|
|
|
+ "Press Start 2P",
|
|
|
+ "Roboto",
|
|
|
+ "Tahoma",
|
|
|
+ "Tangerine",
|
|
|
+ "Times New Roman",
|
|
|
+ "Tourney",
|
|
|
+ "Ultra",
|
|
|
+ "Verdana",
|
|
|
+ "Symbol",
|
|
|
+ "Webdings",
|
|
|
+ "Wingdings",
|
|
|
+ ];
|
|
|
|
|
|
- let fontSelectHTML =
|
|
|
- '<select #fontselect class="form-select font-selector">';
|
|
|
- for (let i = 0; i < fontArray.length; i++) {
|
|
|
- let selected = "";
|
|
|
- if (i == 0) {
|
|
|
- selected = "selected";
|
|
|
- }
|
|
|
- fontSelectHTML +=
|
|
|
- '<option style="font-family:' +
|
|
|
- fontArray[i] +
|
|
|
- ' !important;" value="' +
|
|
|
- fontArray[i] +
|
|
|
- '" ' +
|
|
|
- selected +
|
|
|
- ">" +
|
|
|
- fontArray[i] +
|
|
|
- "</option>";
|
|
|
+ let fontSelectHTML =
|
|
|
+ '<select #fontselect class="form-select font-selector">';
|
|
|
+ for (let i = 0; i < fontArray.length; i++) {
|
|
|
+ let selected = "";
|
|
|
+ if (i == 0) {
|
|
|
+ selected = "selected";
|
|
|
}
|
|
|
- fontSelectHTML += "</select>";
|
|
|
-
|
|
|
- let textMenuAlign = document.querySelector(
|
|
|
- ".tui-image-editor-menu-text .tie-text-align-button"
|
|
|
- );
|
|
|
- textMenuAlign.insertAdjacentHTML("afterbegin", fontSelectHTML);
|
|
|
+ fontSelectHTML +=
|
|
|
+ '<option style="font-family:' +
|
|
|
+ fontArray[i] +
|
|
|
+ ' !important;" value="' +
|
|
|
+ fontArray[i] +
|
|
|
+ '" ' +
|
|
|
+ selected +
|
|
|
+ ">" +
|
|
|
+ fontArray[i] +
|
|
|
+ "</option>";
|
|
|
+ }
|
|
|
+ fontSelectHTML += "</select>";
|
|
|
|
|
|
- document
|
|
|
- .querySelector(".font-selector")
|
|
|
- .addEventListener("change", () =>
|
|
|
- this.TUI_updateFontOnText($(".font-selector option:selected").val())
|
|
|
- );
|
|
|
- this.instance.on("objectActivated", (props) => {
|
|
|
- this.TUI_selectedItem = props;
|
|
|
- this.TUI_updateFontSelected(props);
|
|
|
- console.log("TUI_selectedItem", props);
|
|
|
- });
|
|
|
+ let textMenuAlign = document.querySelector(
|
|
|
+ ".tui-image-editor-menu-text .tie-text-align-button"
|
|
|
+ );
|
|
|
+ textMenuAlign.insertAdjacentHTML("afterbegin", fontSelectHTML);
|
|
|
|
|
|
- this.loading.close();
|
|
|
+ document
|
|
|
+ .querySelector(".font-selector")
|
|
|
+ .addEventListener("change", () =>
|
|
|
+ this.TUI_updateFontOnText($(".font-selector option:selected").val())
|
|
|
+ );
|
|
|
+ this.instance.on("objectActivated", (props) => {
|
|
|
+ this.TUI_selectedItem = props;
|
|
|
+ this.TUI_updateFontSelected(props);
|
|
|
+ console.log("TUI_selectedItem", props);
|
|
|
});
|
|
|
+ this.loading.close();
|
|
|
},
|
|
|
TUI_updateFontOnText(font) {
|
|
|
console.log("TUI_updateFontOnText", font, this.TUI_selectedItem.id);
|
|
@@ -776,7 +766,9 @@ export default {
|
|
|
//生命周期 - 创建完成(可以访问当前this实例)
|
|
|
created() {},
|
|
|
//生命周期 - 挂载完成(可以访问DOM元素)
|
|
|
- mounted() {},
|
|
|
+ mounted() {
|
|
|
+ this.initCanvasImage();
|
|
|
+ },
|
|
|
//生命周期-创建之前
|
|
|
beforeCreated() {},
|
|
|
//生命周期-挂载之前
|
|
@@ -1048,6 +1040,7 @@ export default {
|
|
|
</style>
|
|
|
<style lang="scss">
|
|
|
.CalligraphyMaster-cread {
|
|
|
+ // 图片编辑器操作栏
|
|
|
.tui-image-editor-controls {
|
|
|
display: none;
|
|
|
}
|