-

+
-

+
@@ -1153,312 +1436,10 @@
`,
btn: [language_str('output'), '打印'], //'导出'
btn1: function (index, layero) {
- let op = { frontColorPic: '', backColorPic: '', frontBlackPic: '', backBlackPic: '', frontData: [], backData: [], flag: 1, frontDisplayPic: url3, backDisplayPic: url4 }
- if ((objs1.length != 0) & (objs2.length == 0)) {
- op.flag = 2
- } else if ((objs1.length == 0) & (objs2.length != 0)) {
- op.flag = 3
- }
- op.frontColorPic = desEncrypt(url1)
- op.backColorPic = desEncrypt(url2)
- //op.frontBlPic = url5;
- //op.backBlPic = url6;
- op.frontBlackPic = desEncrypt(url5)
- op.backBlackPic = desEncrypt(url6)
- for (let item of _objs1) {
- let idx = getIndex(item, canvas1)
- if (idx == 0) continue //background-image
- let type = objs1[idx - 1].type
- if (type == 2) {
- //out_pic
- let xy = getAbsoluteXY(item)
- op.frontData.push({
- type: 1,
- name: objs1[idx - 1].name,
- FontColor: objs1[idx - 1].black ? '#000000' : '@',
- transparency: item.get('opacity'),
- x: parseInt((xy[0] - background_image1.left).toFixed(0)),
- y: parseInt((xy[1] - background_image1.top).toFixed(0)),
- h: parseInt((item.get('scaleY') * item.get('height')).toFixed(0)),
- w: parseInt((item.get('scaleX') * item.get('width')).toFixed(0)),
- rotate: parseInt(item.get('angle').toFixed(0))
- })
- } else if (type == 3) {
- //text
- if (item.get('fill') == '#000000') {
- //纯黑
- /*
- op.frontData.push({
- "type" : 2,
- "Text" : item.get("text"),
- "FontFamily" : item.get("fontFamily"),
- "FontSize" : parseInt(item.get("fontSize")),
- "FontColor" : "#000000",
- "FontBackgroudColor" : item.get("textBackgroundColor"),
- "Bold" : item.get("fontWeight") == "bold",
- "Underline" : item.get("underline"),
- "Italic" : item.get("fontStyle") == "italic",
- "Strikeout" : item.get("linethrough"),
- "x" : parseInt((item.get("left") - background_image1.left).toFixed(0)),
- "y" : parseInt((item.get("top") - background_image1.top).toFixed(0)),
- "h" : parseInt((item.get("scaleY") * item.get("height")).toFixed(0)),
- "w" : parseInt((item.get("scaleX") * item.get("width")).toFixed(0)),
- "rotate" : parseInt(item.get("angle").toFixed(0))
- });*/
- }
- } else if (type == 4) {
- //out_text
- let xy = getAbsoluteXY(item)
- console.log('out-text: ', item.get('text'), xy)
- console.log(background_image1.left, background_image1.top)
- op.frontData.push({
- type: 3,
- name: objs1[idx - 1].name,
- FontFamily: item.get('fontFamily'),
- DefaultText: item.get('text'),
- FontBackgroudColor: item.get('textBackgroundColor'),
- FontSize: parseInt(item.get('fontSize')),
- FontColor: item.get('fill'),
- Exceed: objs1[idx - 1].exceed,
- AutoWrap: objs1[idx - 1].autoWrap,
- FixSize: objs1[idx - 1].fixSize,
- Bold: item.get('fontWeight') == 'bold',
- Underline: item.get('underline'),
- Italic: item.get('fontStyle') == 'italic',
- Strikeout: item.get('linethrough'),
- x: parseInt((xy[0] - background_image1.left).toFixed(0)),
- y: parseInt((xy[1] - background_image1.top).toFixed(0)),
- h: parseInt((item.get('scaleY') * item.get('height')).toFixed(0)),
- w: parseInt((item.get('scaleX') * item.get('width')).toFixed(0)),
- rotate: parseInt(item.get('angle').toFixed(0))
- })
- } else if (type == 8) {
- //二维码
- let xy = getAbsoluteXY(item)
- op.frontData.push({
- type: 4,
- name: objs1[idx - 1].name,
- FontColor: objs1[idx - 1].color,
- DefaultText: objs1[idx - 1].val,
- x: parseInt((xy[0] - background_image1.left).toFixed(0)),
- y: parseInt((xy[1] - background_image1.top).toFixed(0)),
- h: parseInt((item.get('scaleY') * item.get('height')).toFixed(0)),
- w: parseInt((item.get('scaleX') * item.get('width')).toFixed(0)),
- rotate: parseInt(item.get('angle').toFixed(0))
- })
- } else if (type == 9) {
- //条形码
- let xy = getAbsoluteXY(item)
- op.frontData.push({
- type: 5,
- name: objs1[idx - 1].name,
- FontSize: parseInt(objs1[idx - 1].fontSize),
- HideText: objs1[idx - 1].show,
- FontFamily: objs1[idx - 1].font,
- DefaultText: objs1[idx - 1].val,
- FontColor: objs1[idx - 1].color,
- x: parseInt((xy[0] - background_image1.left).toFixed(0)),
- y: parseInt((xy[1] - background_image1.top).toFixed(0)),
- h: parseInt((item.get('scaleY') * item.get('height')).toFixed(0)),
- w: parseInt((item.get('scaleX') * item.get('width')).toFixed(0)),
- rotate: parseInt(item.get('angle').toFixed(0))
- })
- } else if (type == 10) {
- let xy = getAbsoluteXY(item)
- op.frontData.push({
- type: 6,
- name: objs1[idx - 1].name,
- FontFamily: item.get('fontFamily'),
- FontSize: parseInt(item.get('fontSize')),
- FontColor: item.get('fill'),
- start: objs1[idx - 1].start,
- add: parseInt(objs1[idx - 1].add),
- x: parseInt((xy[0] - background_image1.left).toFixed(0)),
- y: parseInt((xy[1] - background_image1.top).toFixed(0)),
- h: parseInt((item.get('scaleY') * item.get('height')).toFixed(0)),
- w: parseInt((item.get('scaleX') * item.get('width')).toFixed(0)),
- rotate: parseInt(item.get('angle').toFixed(0))
- })
- }
- }
- //obj2
-
- for (let item of _objs2) {
- let idx = getIndex(item, canvas2)
- if (idx == 0) continue //background-image
- let type = objs2[idx - 1].type
- if (type == 2) {
- //out_pic
- let xy = getAbsoluteXY(item)
- op.backData.push({
- type: 1,
- name: objs2[idx - 1].name,
- FontColor: objs2[idx - 1].black ? '#000000' : '@',
- transparency: item.get('opacity'),
- x: parseInt((xy[0] - background_image2.left).toFixed(0)),
- y: parseInt((xy[1] - background_image2.top).toFixed(0)),
- h: parseInt((item.get('scaleY') * item.get('height')).toFixed(0)),
- w: parseInt((item.get('scaleX') * item.get('width')).toFixed(0)),
- rotate: parseInt(item.get('angle').toFixed(0))
- })
- } else if (type == 3) {
- //text
- if (item.get('fill') == '#000000') {
- //纯黑
- /*
- op.backData.push({
- "type" : 2,
- "Text" : item.get("text"),
- "FontFamily" : item.get("fontFamily"),
- "FontSize" : parseInt(item.get("fontSize")),
- "FontColor" : "#000000",
- "FontBackgroudColor" : item.get("textBackgroundColor"),
- "Bold" : item.get("fontWeight") == "bold",
- "Underline" : item.get("underline"),
- "Italic" : item.get("fontStyle") == "italic",
- "Strikeout" : item.get("linethrough"),
- "x" : parseInt((item.get("left") - background_image2.left).toFixed(0)),
- "y" : parseInt((item.get("top") - background_image2.top).toFixed(0)),
- "h" : parseInt((item.get("scaleY") * item.get("height")).toFixed(0)),
- "w" : parseInt((item.get("scaleX") * item.get("width")).toFixed(0)),
- "rotate" : parseInt(item.get("angle").toFixed(0))
- });*/
- }
- } else if (type == 4) {
- let xy = getAbsoluteXY(item)
- op.backData.push({
- type: 3,
- name: objs2[idx - 1].name,
- FontFamily: item.get('fontFamily'),
- DefaultText: item.get('text'),
- FontSize: parseInt(item.get('fontSize')),
- FontBackgroudColor: item.get('textBackgroundColor'),
- FontColor: item.get('fill'),
- Exceed: objs2[idx - 1].exceed,
- AutoWrap: objs2[idx - 1].autoWrap,
- FixSize: objs2[idx - 1].fixSize,
- Bold: item.get('fontWeight') == 'bold',
- Underline: item.get('underline'),
- Italic: item.get('fontStyle') == 'italic',
- Strikeout: item.get('linethrough'),
- x: parseInt((xy[0] - background_image2.left).toFixed(0)),
- y: parseInt((xy[1] - background_image2.top).toFixed(0)),
- h: parseInt((item.get('scaleY') * item.get('height')).toFixed(0)),
- w: parseInt((item.get('scaleX') * item.get('width')).toFixed(0)),
- rotate: parseInt(item.get('angle').toFixed(0))
- })
- } else if (type == 8) {
- //二维码
- let xy = getAbsoluteXY(item)
- op.backData.push({
- type: 4,
- name: objs2[idx - 1].name,
- color: objs2[idx - 1].color,
- DefaultText: objs2[idx - 1].val,
- x: parseInt((xy[0] - background_image2.left).toFixed(0)),
- y: parseInt((xy[1] - background_image2.top).toFixed(0)),
- h: parseInt((item.get('scaleY') * item.get('height')).toFixed(0)),
- w: parseInt((item.get('scaleX') * item.get('width')).toFixed(0)),
- rotate: parseInt(item.get('angle').toFixed(0))
- })
- } else if (type == 9) {
- let xy = getAbsoluteXY(item)
- op.backData.push({
- type: 5,
- name: objs2[idx - 1].name,
- FontSize: parseInt(objs2[idx - 1].fontSize),
- HideText: objs1[idx - 1].show,
- FontFamily: objs2[idx - 1].font,
- DefaultText: objs1[idx - 1].val,
- color: objs2[idx - 1].color,
- x: parseInt((xy[0] - background_image2.left).toFixed(0)),
- y: parseInt((xy[1] - background_image2.top).toFixed(0)),
- h: parseInt((item.get('scaleY') * item.get('height')).toFixed(0)),
- w: parseInt((item.get('scaleX') * item.get('width')).toFixed(0)),
- rotate: parseInt(item.get('angle').toFixed(0))
- })
- } else if (type == 10) {
- let xy = getAbsoluteXY(item)
- op.backData.push({
- type: 6,
- name: objs2[idx - 1].name,
- FontFamily: item.get('fontFamily'),
- FontSize: parseInt(item.get('fontSize')),
- FontColor: item.get('fill'),
- start: parseInt(objs2[idx - 1].start),
- add: parseInt(objs2[idx - 1].add),
- x: parseInt((xy[0] - background_image2.left).toFixed(0)),
- y: parseInt((xy[1] - background_image2.top).toFixed(0)),
- h: parseInt((item.get('scaleY') * item.get('height')).toFixed(0)),
- w: parseInt((item.get('scaleX') * item.get('width')).toFixed(0)),
- rotate: parseInt(item.get('angle').toFixed(0))
- })
- }
- }
- save(op)
- /*
- dialog.showSaveDialog({
- title:language_str("saveFile"),
- filters: [
- { name: 'CS File Type', extensions: ['cs'] },
- ]
- }).then(result=>{
- if(result.filePath.substring(result.filePath.length-5).indexOf('.') == -1){
- result.filePath += '.cs';
- }
- let fs = require('fs')
- fs.writeFileSync(result.filePath,JSON.stringify(op))
- }).catch(err=>{
- console.log()
- })
- */
- //return false 开启该代码可禁止点击该按钮关闭
+ savePdf(Buffer.from(pdfBuffer))
},
btn2: function () {
- var pdf = jspdf.jsPDF({
- orientation: 'landscape',
- unit: 'px',
- format: [1012, 648]
- })
-
- if ((objs1.length != 0) & (objs2.length == 0)) {
- //只有正面
- let img = new Image()
- img.src = url3
-
- pdf.addImage(img, 'JPEG', 0, 0, 1012, 648)
- } else if ((objs1.length == 0) & (objs2.length != 0)) {
- //只有背面
- let img = new Image()
- img.src = url3
-
- pdf.addImage(img, 'JPEG', 0, 0, 1012, 648)
- } else {
- let img = new Image()
- img.src = url3
-
- pdf.addImage(img, 'JPEG', 0, 0, 1012, 648)
-
- pdf.addPage()
- let img2 = new Image()
- img2.src = url4
- pdf.addImage(img2, 'JPEG', 0, 0, 1012, 648)
- }
-
- var pdfDataUri = pdf.output('datauristring').replace('data:application/pdf;filename=generated.pdf;base64,', '')
-
- // 使用 printJS 打印 PDF
- //ipcRenderer.send('print-pdf', pdfDataUri);
- //return;
- // var pdfDataUrl = pdf.output('dataurlstring').replace("data:application/pdf;filename=generated.pdf;base64,", "");
- // console.log(pdfDataUrl)
- // 使用printJS打印PDF
- // printJS({
- // printable: pdfDataUrl,
- // type: 'pdf',
- // base64: true
- // });
- printJS({ printable: pdfDataUri, type: 'pdf', base64: true })
+ printJS({ printable: URL.createObjectURL(pdfBlob), type: 'pdf', onPrintDialogClose: () => URL.revokeObjectURL(pdfBlob) })
}
})
}
@@ -1476,6 +1457,7 @@
$('#base_control').hide()
$('#line_control').hide()
$('#pic_control').hide()
+ $("#set_bg").hide();
$('#out_pic_control').hide()
$('#text_control').hide()
$('#out_text_control').hide()
@@ -1525,6 +1507,12 @@
if (
idx != 0 &&
((objs1[idx - 1].type == 3 && item.get('fill') == '#000000') ||
+ (
+ objs1[idx - 1].type == 11
+ &&
+ item.get("fill") == "#000000"
+ //圆形文字 && 黑色
+ ) ||
//文字 && 黑色
(objs1[idx - 1].type == 5 && //矩形
(((item.get('fill') == '#000000' || item.get('fill') == '#ffffff') && item.get('stroke') == '') || //黑填充 透明边框
@@ -1615,6 +1603,12 @@
if (
idx != 0 &&
((objs2[idx - 1].type == 3 && (item.get('fill') == '#000000' || (item.get('fill') == '#ffffff' && false))) ||
+ (
+ objs2[idx - 1].type ==11
+ &&
+ (item.get("fill") == "#000000" || (item.get("fill") == "#ffffff" && false))
+ //圆形文字 && 黑色
+ ) ||
//文字 && 黑色
(objs2[idx - 1].type == 5 && //矩形
(((item.get('fill') == '#000000' || item.get('fill') == '#ffffff') && item.get('stroke') == '') || //黑填充 透明边框
@@ -1955,6 +1949,7 @@
$('#base_control').hide()
$('#line_control').hide()
$('#pic_control').hide()
+ $("#set_bg").hide();
$('#out_pic_control').hide()
$('#text_control').hide()
$('#out_text_control').hide()
@@ -2004,6 +1999,12 @@
if (
idx != 0 &&
((objs1[idx - 1].type == 3 && (item.get('fill') == '#000000' || (item.get('fill') == '#ffffff' && false))) ||
+ (
+ objs2[idx - 1].type ==11
+ &&
+ (item.get("fill") == "#000000" || (item.get("fill") == "#ffffff" && false))
+ //圆形文字 && 黑色
+ ) ||
//文字 && 黑色
(objs1[idx - 1].type == 5 && //矩形
(((item.get('fill') == '#000000' || item.get('fill') == '#ffffff') && item.get('stroke') == '') || //黑填充 透明边框
@@ -2093,6 +2094,12 @@
if (
idx != 0 &&
((objs2[idx - 1].type == 3 && (item.get('fill') == '#000000' || (item.get('fill') == '#ffffff' && false))) ||
+ (
+ objs2[idx - 1].type ==11
+ &&
+ (item.get("fill") == "#000000" || (item.get("fill") == "#ffffff" && false))
+ //圆形文字 && 黑色
+ ) ||
//文字 && 黑色
(objs2[idx - 1].type == 5 && //矩形
(((item.get('fill') == '#000000' || item.get('fill') == '#ffffff') && item.get('stroke') == '') || //黑填充 透明边框
@@ -2558,7 +2565,7 @@
.showOpenDialog({
title: language_str('selectPic'), //请选择图片
buttonLabel: language_str('comf'), //"确认"
- filters: [{ name: 'Image File Type', extensions: ['png', 'jpg'] }]
+ filters: [{ name: 'Image File Type', extensions: ['png', 'jpg', 'jpeg'] }]
})
.then((result) => {
if (result.canceled) return
@@ -2573,6 +2580,7 @@
$('#addOutPic').css('background-color', '')
$('#addText').css('background-color', '')
+ $("#addCircleText").css("background-color", "");
$('#addOutText').css('background-color', '')
$('#addRect').css('background-color', '')
$('#addCircle').css('background-color', '')
@@ -2600,6 +2608,7 @@
$('#addPic').css('background-color', '')
$('#addText').css('background-color', '')
+ $("#addCircleText").css("background-color", "");
$('#addOutText').css('background-color', '')
$('#addRect').css('background-color', '')
$('#addCircle').css('background-color', '')
@@ -2615,6 +2624,7 @@
$('#addPic').css('background-color', '')
$('#addOutPic').css('background-color', '')
+ $("#addCircleText").css("background-color", "");
$('#addOutText').css('background-color', '')
$('#addRect').css('background-color', '')
$('#addCircle').css('background-color', '')
@@ -2624,6 +2634,22 @@
$('#addCounter').css('background-color', '')
addState = 3
})
+ $("#addCircleText").click(function () {
+ background_image.hoverCursor = "crosshair";
+ $(this).css("background-color", "#646E76");
+
+ $("#addPic").css("background-color", "");
+ $("#addOutPic").css("background-color", "");
+ $("#addText").css("background-color", "");
+ $("#addOutText").css("background-color", "");
+ $("#addRect").css("background-color", "");
+ $("#addCircle").css("background-color", "");
+ $("#addLine").css("background-color", "");
+ $("#addQrCode").css("background-color", "");
+ $("#addBarCode").css("background-color", "");
+ $("#addCounter").css("background-color", "");
+ addState = 11;
+ });
$('#addOutText').click(function () {
background_image.hoverCursor = 'crosshair'
$(this).css('background-color', '#646E76')
@@ -2631,6 +2657,7 @@
$('#addPic').css('background-color', '')
$('#addOutPic').css('background-color', '')
$('#addText').css('background-color', '')
+ $("#addCircleText").css("background-color", "");
$('#addRect').css('background-color', '')
$('#addCircle').css('background-color', '')
$('#addLine').css('background-color', '')
@@ -2646,6 +2673,7 @@
$('#addPic').css('background-color', '')
$('#addOutPic').css('background-color', '')
$('#addText').css('background-color', '')
+ $("#addCircleText").css("background-color", "");
$('#addOutText').css('background-color', '')
$('#addCircle').css('background-color', '')
$('#addLine').css('background-color', '')
@@ -2661,6 +2689,7 @@
$('#addPic').css('background-color', '')
$('#addOutPic').css('background-color', '')
$('#addText').css('background-color', '')
+ $("#addCircleText").css("background-color", "");
$('#addOutText').css('background-color', '')
$('#addRect').css('background-color', '')
$('#addLine').css('background-color', '')
@@ -2676,6 +2705,7 @@
$('#addPic').css('background-color', '')
$('#addOutPic').css('background-color', '')
$('#addText').css('background-color', '')
+ $("#addCircleText").css("background-color", "");
$('#addOutText').css('background-color', '')
$('#addRect').css('background-color', '')
$('#addCircle').css('background-color', '')
@@ -2691,6 +2721,7 @@
$('#addPic').css('background-color', '')
$('#addOutPic').css('background-color', '')
$('#addText').css('background-color', '')
+ $("#addCircleText").css("background-color", "");
$('#addOutText').css('background-color', '')
$('#addRect').css('background-color', '')
$('#addCircle').css('background-color', '')
@@ -2706,6 +2737,7 @@
$('#addPic').css('background-color', '')
$('#addOutPic').css('background-color', '')
$('#addText').css('background-color', '')
+ $("#addCircleText").css("background-color", "");
$('#addOutText').css('background-color', '')
$('#addRect').css('background-color', '')
$('#addCircle').css('background-color', '')
@@ -2721,6 +2753,7 @@
$('#addPic').css('background-color', '')
$('#addOutPic').css('background-color', '')
$('#addText').css('background-color', '')
+ $("#addCircleText").css("background-color", "");
$('#addOutText').css('background-color', '')
$('#addRect').css('background-color', '')
$('#addCircle').css('background-color', '')
@@ -2762,6 +2795,7 @@
$('#line_control').hide()
$('#base_control').hide()
$('#pic_control').hide()
+ $("#set_bg").hide();
$('#out_pic_control').hide()
$('#text_control').hide()
$('#out_text_control').hide()
@@ -2791,6 +2825,7 @@
$('#line_control').hide()
$('#base_control').hide()
$('#pic_control').hide()
+ $("#set_bg").hide();
$('#out_pic_control').hide()
$('#text_control').hide()
$('#out_text_control').hide()
@@ -3118,6 +3153,7 @@
$('#base_control').hide()
$('#line_control').hide()
$('#pic_control').hide()
+ $("#set_bg").hide();
$('#out_pic_control').hide()
$('#text_control').hide()
$('#out_text_control').hide()
@@ -3151,6 +3187,7 @@
$('#base_control').hide()
$('#line_control').hide()
$('#pic_control').hide()
+ $("#set_bg").hide();
$('#out_pic_control').hide()
$('#text_control').hide()
$('#out_text_control').hide()
@@ -3233,6 +3270,32 @@
recordState()
canvas.renderAll()
})
+ $("#circle_text_italics").click(function () {
+ if ($(this).hasClass("ui-radio-acitve")) {
+ //已选
+ canvas.getActiveObject().set("fontStyle", "normal")
+ $(this).removeClass("ui-radio-acitve")
+ } else {
+ //未选
+ canvas.getActiveObject().set("fontStyle", "italic")
+ $(this).addClass("ui-radio-acitve")
+ }
+ recordState();
+ canvas.renderAll();
+ });
+ $("#circle_text_bold").click(function () {
+ if ($(this).hasClass("ui-radio-acitve")) {
+ //已选,恢复正常
+ canvas.getActiveObject().set("fontWeight", "normal")
+ $(this).removeClass("ui-radio-acitve")
+ } else {
+ //未选
+ canvas.getActiveObject().set("fontWeight", "bold")
+ $(this).addClass("ui-radio-acitve")
+ }
+ recordState();
+ canvas.renderAll();
+ });
$('#out_text_italics').click(function () {
if ($(this).hasClass('ui-radio-acitve')) {
//已选
@@ -3764,7 +3827,7 @@
let j = JSON.parse(fsData.toString())
let type = j.soonType ? j.soonType : j.backBlackPic ? 2 : 1;
if (type == 1) {
- ipcRenderer.send('open-design-page', $(this).attr("data"), type);
+ ipcRenderer.send('open-design-page', openAs.name, type);
return
}
let left = background_image.left
@@ -4109,6 +4172,7 @@
//透明度
$('#pic_control').show()
+ $("#set_bg").show();
pic_op.setValue(100 - canvas.getActiveObject().get('opacity') * 100)
let idx = getIndex(canvas.getActiveObject())
@@ -4152,6 +4216,7 @@
// $("#out_pic_black").prop("checked", objs[idx-1].black ? 'checked' : '');
$('#pic_control').hide()
+ $("#set_bg").hide();
$('#text_control').hide()
$('#out_text_control').hide()
$('#rect_control').hide()
@@ -4190,7 +4255,9 @@
$('#text_control').show()
$('#text_color').val(canvas.getActiveObject().get('fill'))
$('#text_back_color').val(canvas.getActiveObject().get('textBackgroundColor') == '' ? '#ffffff' : canvas.getActiveObject().get('textBackgroundColor'))
- $('#text_size').val(canvas.getActiveObject().get('fontSize'))
+ let val = parseFloat(canvas.getActiveObject().get("fontSize"))*72/dpi
+ if (val%0.5!==0) val = Math.round(val*2)/2
+ $("#text_size").val(val);
$('#text_text').val(canvas.getActiveObject().get('text'))
$('#text_font_family').val(canvas.getActiveObject().get('fontFamily'))
@@ -4215,6 +4282,7 @@
$('#text_linethrough').removeClass('ui-radio-acitve')
}
$('#pic_control').hide()
+ $("#set_bg").hide();
$('#out_pic_control').hide()
$('#out_text_control').hide()
$('#rect_control').hide()
@@ -4224,6 +4292,108 @@
$('#qrcode_Controll').hide()
$('#barcode_controll').hide()
}
+ function getDisdance(x1, y1, x2, y2) {
+ var dx = Math.abs(x2 - x1); // 计算x轴上的距离差,并取绝对值
+ var dy = Math.abs(y2 - y1); // 计算y轴上的距离差,并取绝对值
+ var distance = Math.sqrt(dx * dx + dy * dy); // 应用勾股定理计算距离
+ return distance;
+ }
+ function getDeg(pointer) {
+ // 计算点击位置与画布中心的坐标差
+ var centerX = canvas.width / 2;
+ var centerY = canvas.height / 2;
+ var mouseX = pointer.x;
+ var mouseY = pointer.y;
+ var dx = mouseX - centerX;
+ var dy = mouseY - centerY;
+ // 计算旋转角度(弧度)
+ var angleRad = Math.atan2(dy, dx);
+ // 将角度转换为度数
+ var angleDeg = angleRad * (180/Math.PI);
+ if (angleDeg < 0) {
+ angleDeg += 360;
+ }
+ angleDeg += 90
+ return angleDeg
+ }
+ function addCircleText(pointer) {
+ let distance = getDisdance(pointer.x, pointer.y, canvas.width/2,canvas.height/2)
+ let angleDeg = getDeg(pointer)
+ let text = new fabric.CurvedText('Circle TEXT', {//源:圆形文本
+ left: pointer.x,
+ top: pointer.y,
+ fill: "#000000",
+ textBackgroundColor: "",
+ fontStyle: "normal",
+ fontWeight: "normal",
+ diameter: distance*2,
+ fontSize: 30,
+ underline: false,
+ linethrough: false,
+ lockScalingX: true,
+ lockScalingY: true,
+ fontFamily: 'Arial',
+ originX: 'center',
+ originY: 'center',
+ angle: angleDeg,
+ flipped: pointer.y > canvas.height/2 ? true : false
+ });
+ // distance = getDisdance(pointer.x+text.width/2, pointer.y, canvas.width/2,canvas.height/2)
+ // text.set({diameter: distance*2})
+ text.setControlVisible("ml", false);
+ text.setControlVisible("mt", false);
+ text.setControlVisible("mr", false);
+ text.setControlVisible("mb", false);
+ canvas.add(text);
+ objs.push({ type: 11, black: false });
+ canvas.renderAll();
+ updateList();
+ recordState();
+ }
+ function selectCircleText() {
+ console.log(canvas.getActiveObject().get("text"))
+ $("#circle_text_control").show();
+ $("#circle_text_color").val(canvas.getActiveObject().get("fill"));
+ $("#circle_text_back_color").val(canvas.getActiveObject().get("textBackgroundColor") == "" ? '#ffffff' : canvas.getActiveObject().get("textBackgroundColor"));
+ circle_text_size.setValue(canvas.getActiveObject().get("fontSize") - 10);
+ circle_text_diameter.setValue(canvas.getActiveObject().get("diameter")-500);
+ $("#circle_text_text").val(canvas.getActiveObject().get("text"));
+ $("#circle_text_font_family").val(canvas.getActiveObject().get("fontFamily"));
+
+ if (canvas.getActiveObject().get("underline") == true) {
+ $("#circle_text_underline").addClass("ui-radio-acitve")
+ } else {
+ $("#circle_text_underline").removeClass("ui-radio-acitve")
+ }
+ if (canvas.getActiveObject().get("fontWeight") == "bold") {
+ $("#circle_text_bold").addClass("ui-radio-acitve")
+ } else {
+ $("#circle_text_bold").removeClass("ui-radio-acitve")
+ }
+ if (canvas.getActiveObject().get("fontStyle") == "italic") {
+ $("#circle_text_italics").addClass("ui-radio-acitve")
+ } else {
+ $("#circle_text_italics").removeClass("ui-radio-acitve")
+ }
+ if (canvas.getActiveObject().get("linethrough") == true) {
+ $("#circle_text_linethrough").addClass("ui-radio-acitve")
+ } else {
+ $("#circle_text_linethrough").removeClass("ui-radio-acitve")
+ }
+ $("#pic_control").hide();
+ $("#set_bg").hide();
+ $("#rotate").hide();
+ $("#out_pic_control").hide();
+ $("#text_control").hide();
+ $("#out_text_control").hide();
+ $("#rect_control").hide();
+ $("#circle_control").hide();
+ $("#line_control").hide();
+ $("#counter_control").hide();
+ $("#qrcode_Controll").hide();
+ $("#barcode_controll").hide();
+
+ }
function addOutText(pointer) {
//MERGE_TEXT_1
let text = new fabric.Text('MERGE TEXT', {
@@ -4270,7 +4440,9 @@
$('#out_text_control').show()
$('#out_text_color').val(canvas.getActiveObject().get('fill'))
$('#out_text_text').val(canvas.getActiveObject().get('text'))
- $('#out_text_size').val(canvas.getActiveObject().get('fontSize'))
+ let val = parseFloat(canvas.getActiveObject().get("fontSize"))*72/dpi
+ if (val%0.5!==0) val = Math.round(val*2)/2
+ $("#out_text_size").val(val);
$('#out_text_back_color').val(canvas.getActiveObject().get('textBackgroundColor') == '' ? '#ffffff' : canvas.getActiveObject().get('textBackgroundColor'))
let idx = getIndex(canvas.getActiveObject())
$('#out_text_field_name').val(objs[idx - 1].name)
@@ -4300,6 +4472,7 @@
}
$('#pic_control').hide()
+ $("#set_bg").hide();
$('#out_pic_control').hide()
$('#text_control').hide()
$('#rect_control').hide()
@@ -4313,9 +4486,9 @@
let rect = new fabric.Rect({
left: pointer.x,
top: pointer.y,
- fill: '#006834',
- stroke: '#416666',
- strokeWidth: 0,
+ fill: '',
+ stroke: "#ff0000",
+ strokeWidth: 3,
width: 100,
height: 100
})
@@ -4336,6 +4509,7 @@
let a = canvas.getActiveObject().getCoords()
console.log(getCoordsMinX(a))
$('#pic_control').hide()
+ $("#set_bg").hide();
$('#out_pic_control').hide()
$('#text_control').hide()
$('#out_text_control').hide()
@@ -4350,9 +4524,9 @@
left: pointer.x,
top: pointer.y,
fill: '',
- stroke: '#006834',
+ stroke: '#ff0000',
strokeWidth: 3,
- radius: 50,
+ radius: 100,
strokeUniform: true
})
canvas.add(circle)
@@ -4370,6 +4544,7 @@
$('#circle_stroke_width').val(canvas.getActiveObject().get('strokeWidth'))
circle_op.setValue(100 - canvas.getActiveObject().get('opacity') * 100)
$('#pic_control').hide()
+ $("#set_bg").hide();
$('#out_pic_control').hide()
$('#text_control').hide()
$('#out_text_control').hide()
@@ -4385,7 +4560,7 @@
top: pointer.y,
stroke: '#ff0000',
strokeWidth: 3,
- strokeDashArray: [0, 0]
+ strokeDashArray: [0, 0],
})
line.setControlVisible('tl', false)
@@ -4411,6 +4586,7 @@
$('#text_h').val(canvas.getActiveObject().get('strokeWidth'))
$('#pic_control').hide()
+ $("#set_bg").hide();
$('#out_pic_control').hide()
$('#text_control').hide()
$('#out_text_control').hide()
@@ -4474,7 +4650,9 @@
let idx = getIndex(canvas.getActiveObject())
$('#barcode_field_name').val(objs[idx - 1].name)
$('#barcode_font_family').val(objs[idx - 1].font)
- $('#barcode_size').val(objs[idx - 1].fontSize)
+ let val = parseFloat(objs[idx - 1].fontSize)*72/dpi
+ if (val%0.5!==0) val = Math.round(val*2)/2
+ $("#barcode_size").val(val);
$('#barcode_val').val(objs[idx - 1].val)
$('#barcode_show').prop('checked', objs[idx - 1].show ? 'checked' : '')
$('#line_control').hide()
@@ -4511,7 +4689,9 @@
$('#counter_add').val(objs[idx - 1].add)
$('#counter_color').val(canvas.getActiveObject().get('fill'))
$('#count_font_family').val(canvas.getActiveObject().get('fontFamily'))
- $('#count_size').val(canvas.getActiveObject().get('fontSize'))
+ let val = parseFloat(canvas.getActiveObject().get("fontSize"))*72/dpi
+ if (val%0.5!==0) val = Math.round(val*2)/2
+ $("#count_size").val(val);
$('#line_control').hide()
$('#pic_control').hide()
@@ -4586,6 +4766,9 @@
case 10:
str = '

COUNTER_" + i + '
' + str
break
+ case 11:
+ str = "

" + "CIRCLE_TEXT_" + i + "
" + str;
+ break;
}
i++
}
@@ -4791,11 +4974,17 @@
recordState()
})
})
- $('#qrcode_val').bind('input propertychange', function () {
- let item = canvas.getActiveObject()
- let idx = getIndex(item)
- objs[idx - 1].val = $(this).val()
- })
+ $("#qrcode_val").bind('change', function () {
+ let val = $(this).val() ? $(this).val() : 'https://www.cardsoon.com'
+ let item = canvas.getActiveObject();
+ let qr = jrQrcode.getQrBase64(val, { padding: 0, foreground: $("#qrcode_color").val() });
+ let idx = getIndex(item);
+ objs[idx - 1].val = val;
+ item.setSrc(qr, function (img) {
+ canvas.renderAll();
+ recordState();
+ });
+ });
$('#barcode_color').bind('input propertychange', function () {
let item = canvas.getActiveObject()
let idx = getIndex(item)
@@ -4830,27 +5019,72 @@
canvas.renderAll()
recordState()
})
- $('#text_size').bind('input propertychange', function () {
- canvas.getActiveObject().set('fontSize', $('#text_size').val())
- $('#text_h').val(canvas.getActiveObject().get('height').toFixed(0))
- $('#text_w').val(canvas.getActiveObject().get('width').toFixed(0))
- canvas.renderAll()
- recordState()
+ $("#text_size").bind('input propertychange', function () {
+ let val = 1
+ if (parseFloat($("#text_size").val())) {
+ val = parseFloat($("#text_size").val())
+ if (val < 1) {
+ val = 1
+ } else if (val > dpi) {
+ val = dpi
+ } else if (val%0.5!==0) {
+ val = Math.round(val*2)/2
+ }
+
+ }
+ $("#text_size").val(val)
+ canvas.getActiveObject().set("fontSize", val*dpi/72);
+ $("#text_h").val((canvas.getActiveObject().get("height")).toFixed(0));
+ $("#text_w").val((canvas.getActiveObject().get("width")).toFixed(0));
+ canvas.renderAll();
+ recordState();
+ })
+ $("#circle_text_color").bind('input propertychange', function () {
+ canvas.getActiveObject().set("fill", $("#circle_text_color").val());
+ canvas.renderAll();
+ recordState();
+ })
+ $("#circle_text_back_color").bind('input propertychange', function () {
+ canvas.getActiveObject().set("textBackgroundColor", $("#circle_text_back_color").val());
+
+ canvas.renderAll();
+ recordState();
+ })
+ $("#circle_text_text").bind('input propertychange', function () {
+ let val = $("#circle_text_text").val().trim()
+ canvas.getActiveObject().set("text", ` ${val} `);
+ canvas.renderAll();
+ updateList();
+ recordState();
})
$('#out_text_color').bind('input propertychange', function () {
canvas.getActiveObject().set('fill', $('#out_text_color').val())
canvas.renderAll()
recordState()
})
- $('#out_text_size').bind('input propertychange', function () {
- canvas.getActiveObject().set('fontSize', $('#out_text_size').val())
- $('#text_h').val(canvas.getActiveObject().get('height').toFixed(0))
- $('#text_w').val(canvas.getActiveObject().get('width').toFixed(0))
- canvas.renderAll()
- recordState()
- })
+ $("#out_text_size").bind('input propertychange', function () {
+ let val = 1
+ if (parseFloat($("#out_text_size").val())) {
+ val = parseFloat($("#out_text_size").val())
+ if (val < 1) {
+ val = 1
+ } else if (val > dpi) {
+ val = dpi
+ } else if (val%0.5!==0) {
+ val = Math.round(val*2)/2
+ }
+
+ }
+ $("#out_text_size").val(val)
+ canvas.getActiveObject().set("fontSize", val*dpi/72);
+ $("#text_h").val((canvas.getActiveObject().get("height")).toFixed(0));
+ $("#text_w").val((canvas.getActiveObject().get("width")).toFixed(0));
+ canvas.renderAll();
+ recordState();
+ })
$('#out_text_text').bind('input propertychange', function () {
- canvas.getActiveObject().set('text', $('#out_text_text').val())
+ let val = $("#out_text_text").val().trim()
+ canvas.getActiveObject().set("text", ` ${val} `);
canvas.renderAll()
updateList()
recordState()
@@ -4930,12 +5164,25 @@
canvas.renderAll()
recordState()
})
- $('#count_size').bind('input propertychange', function () {
- canvas.getActiveObject().set('fontSize', $('#count_size').val())
- $('#text_h').val(canvas.getActiveObject().get('height').toFixed(0))
- $('#text_w').val(canvas.getActiveObject().get('width').toFixed(0))
- canvas.renderAll()
- recordState()
+ $("#count_size").bind('input propertychange', function () {
+ let val = 1
+ if (parseFloat($("#count_size").val())) {
+ val = parseFloat($("#count_size").val())
+ if (val < 1) {
+ val = 1
+ } else if (val > dpi) {
+ val = dpi
+ } else if (val%0.5!==0) {
+ val = Math.round(val*2)/2
+ }
+
+ }
+ $("#count_size").val(val)
+ canvas.getActiveObject().set("fontSize", val*dpi/72);
+ $("#text_h").val((canvas.getActiveObject().get("height")).toFixed(0));
+ $("#text_w").val((canvas.getActiveObject().get("width")).toFixed(0));
+ canvas.renderAll();
+ recordState();
})
$('#line_color').bind('input propertychange', function () {
canvas.getActiveObject().set('stroke', $('#line_color').val())
@@ -4951,7 +5198,8 @@
recordState()
})
$('#text_text').bind('input propertychange', function () {
- canvas.getActiveObject().set('text', $('#text_text').val())
+ let val = $("#text_text").val().trim()
+ canvas.getActiveObject().set("text", ` ${val} `);
canvas.renderAll()
updateList()
recordState()
@@ -4969,27 +5217,49 @@
recordState()
})
})
- $('#barcode_show').click(function () {
- let idx = getIndex(canvas.getActiveObject())
- if ($(this).prop('checked')) {
- objs[idx - 1].show = true
+ $("#barcode_show").click(function () {
+ let item = canvas.getActiveObject();
+ let idx = getIndex(canvas.getActiveObject());
+ let val = $("#barcode_size").val()
+ if ($(this).prop("checked")) {
+ objs[idx - 1].show = true;
+ val = 0
} else {
- objs[idx - 1].show = false
+ objs[idx - 1].show = false;
}
- recordState()
- })
- $('#barcode_size').bind('input propertychange', function () {
- let item = canvas.getActiveObject()
- let idx = getIndex(item)
- objs[idx - 1].fontSize = $(this).val()
- JsBarcode('#barcode', objs[idx - 1].val, { margin: 0, lineColor: objs[idx - 1].color, fontSize: objs[idx - 1].fontSize, font: objs[idx - 1].font })
-
- let barcode = document.getElementById('barcode')
- let bar = barcode.toDataURL('image/png')
+ JsBarcode("#barcode", objs[idx - 1].val, { margin: 0, lineColor: objs[idx - 1].color, fontSize: val*dpi/72, font: objs[idx - 1].font });
+ let barcode = document.getElementById('barcode');
+ let bar = barcode.toDataURL("image/png");
item.setSrc(bar, function (img) {
- canvas.renderAll()
- recordState()
- })
+ canvas.renderAll();
+ recordState();
+ });
+ });
+ $("#barcode_size").bind('input propertychange', function () {
+ let item = canvas.getActiveObject();
+ let idx = getIndex(item);
+ let val = 1
+ if (parseFloat($(this).val())) {
+ val = parseFloat($(this).val())
+ if (val < 1) {
+ val = 1
+ } else if (val > dpi) {
+ val = dpi
+ } else if (val%0.5!==0) {
+ val = Math.round(val*2)/2
+ }
+
+ }
+ $("#barcode_size").val(val)
+ objs[idx - 1].fontSize = val*dpi/72;
+ JsBarcode("#barcode", objs[idx - 1].val, { margin: 0, lineColor: objs[idx - 1].color, fontSize: objs[idx - 1].fontSize, font: objs[idx - 1].font });
+
+ let barcode = document.getElementById('barcode');
+ let bar = barcode.toDataURL("image/png");
+ item.setSrc(bar, function (img) {
+ canvas.renderAll();
+ recordState();
+ });
})
$('#count_font_family').on('change', function () {
canvas.getActiveObject().set('fontFamily', $(this).find('option:selected').text())
@@ -5001,6 +5271,12 @@
canvas.renderAll()
recordState()
})
+
+ $('#circle_text_font_family').on('change', function () {
+ canvas.getActiveObject().set("fontFamily", $(this).find('option:selected').text())
+ canvas.renderAll()
+ recordState();
+ });
$('#language_select').on('change', function () {
//语言选择
@@ -5202,6 +5478,13 @@
selectObject(select_obj, i)
selectCounter(select_obj, i)
break
+ case 11:
+
+ $("#component_type").text(language_str("ctext"));//"圆形文字"
+ //console.log("圆形文字");
+ selectObject(select_obj, i);
+ selectCircleText(select_obj, i);
+ break;
}
} else {
//背景,收起对象属性
@@ -5227,9 +5510,24 @@
'X: ' + (e.pointer.x - (width / 2 - (width / 2 - background_image.left) * zoom)).toFixed(0) + ' Y: ' + (e.pointer.y - (height / 2 - (height / 2 - background_image.top) * zoom)).toFixed(0)
)
})
- canvas1.on('object:moving', function (e) {
- updateControls()
- })
+ canvas1.on("object:moving", function (e) {
+ let obj = canvas.getActiveObject()
+ if (objs[getIndex(e.target) - 1].type ===11) {
+ let pointer = {
+ x: obj.left,
+ y: obj.top > canvas.height/2 ? obj.top + obj.height/2 : obj.top - obj.height/2
+ }
+ console.log(obj)
+ let distance = getDisdance(pointer.x, pointer.y, canvas.width/2,canvas.height/2)
+ let angleDeg = getDeg(pointer)
+ let flipped = pointer.y > canvas.height/2 ? true : false
+ obj.set("diameter", distance*2);
+ // obj.set("angle", angleDeg);
+ obj.set("flipped", flipped);
+ // canvas.renderAll();
+ }
+ updateControls();
+ });
canvas1.on('object:scaling', function (event) {
//if(objs[getIndex(event.target) - 1].type == 5 || objs[getIndex(event.target) - 1].type == 6){
// //canvas.getActiveObject().set("width", canvas.getActiveObject().get("width") * canvas.getActiveObject().get("scaleX"));
@@ -5333,6 +5631,13 @@
selectObject(select_obj, i)
selectCounter(select_obj, i)
break
+ case 11:
+
+ $("#component_type").text(language_str("ctext"));//"圆形文字"
+ //console.log("圆形文字");
+ selectObject(select_obj, i);
+ selectCircleText(select_obj, i);
+ break;
}
selectObj(i, true) //如果是点击画布中,则相应列表
} else {
@@ -5368,7 +5673,7 @@
event.target.scaleX = 1
event.target.scaleY = 1
event.target._clearCache()
- $('#text_size').val(event.target.fontSize)
+ // $('#text_size').val(event.target.fontSize)
canvas1.renderAll()
updateControls()
} else if (objs[getIndex(event.target) - 1].type == 4) {
@@ -5377,7 +5682,7 @@
event.target.scaleX = 1
event.target.scaleY = 1
event.target._clearCache()
- $('#out_text_size').val(event.target.fontSize)
+ // $('#out_text_size').val(event.target.fontSize)
canvas1.renderAll()
} else if (objs[getIndex(event.target) - 1].type == 10) {
event.target.fontSize *= event.target.scaleX
@@ -5385,7 +5690,7 @@
event.target.scaleX = 1
event.target.scaleY = 1
event.target._clearCache()
- $('#count_size').val(event.target.fontSize)
+ // $('#count_size').val(event.target.fontSize)
canvas1.renderAll()
} else if (objs[getIndex(event.target) - 1].type == 5) {
canvas1.getActiveObject().set('width', canvas1.getActiveObject().get('width') * canvas1.getActiveObject().get('scaleX'))
@@ -5468,6 +5773,13 @@
background_image.hoverCursor = 'default'
$('#addCounter').css('background-color', '')
break
+ case 11:
+ addCircleText(e.pointer);
+ addState = 0;
+ background_image.hoverCursor = "default";
+ canvas1.renderAll();
+ $("#addCircleText").css("background-color", "");
+ break;
}
})
canvas1.on('text:changed', (e) => {
@@ -5499,9 +5811,24 @@
canvas2.on('mouse:move', (e) => {
$('#posText').text('X: ' + (e.pointer.x - background_image.left).toFixed(0) + ' Y: ' + (e.pointer.y - background_image.top).toFixed(0))
})
- canvas2.on('object:moving', function (e) {
- updateControls()
- })
+ canvas2.on("object:moving", function (e) {
+ let obj = canvas.getActiveObject()
+ if (objs[getIndex(e.target) - 1].type ===11) {
+ let pointer = {
+ x: obj.left,
+ y: obj.top > canvas.height/2 ? obj.top + obj.height/2 : obj.top - obj.height/2
+ }
+ console.log(obj)
+ let distance = getDisdance(pointer.x, pointer.y, canvas.width/2,canvas.height/2)
+ let angleDeg = getDeg(pointer)
+ let flipped = pointer.y > canvas.height/2 ? true : false
+ obj.set("diameter", distance*2);
+ // obj.set("angle", angleDeg);
+ obj.set("flipped", flipped);
+ // canvas.renderAll();
+ }
+ updateControls();
+ });
canvas2.on('object:scaling', function (e) {
updateControls()
})
@@ -5594,6 +5921,13 @@
selectObject(select_obj, i)
selectCounter(select_obj, i)
break
+ case 11:
+
+ $("#component_type").text(language_str("ctext"));//"圆形文字"
+ //console.log("圆形文字");
+ selectObject(select_obj, i);
+ selectCircleText(select_obj, i);
+ break;
}
selectObj(i, true) //如果是点击画布中,则相应列表
} else {
@@ -5623,7 +5957,7 @@
event.target.scaleX = 1
event.target.scaleY = 1
event.target._clearCache()
- $('#text_size').val(event.target.fontSize)
+ // $('#text_size').val(event.target.fontSize)
canvas2.renderAll()
} else if (objs[getIndex(event.target) - 1].type == 4) {
event.target.fontSize *= event.target.scaleX
@@ -5631,7 +5965,7 @@
event.target.scaleX = 1
event.target.scaleY = 1
event.target._clearCache()
- $('#out_text_size').val(event.target.fontSize)
+ // $('#out_text_size').val(event.target.fontSize)
canvas2.renderAll()
} else if (objs[getIndex(event.target) - 1].type == 10) {
event.target.fontSize *= event.target.scaleX
@@ -5639,7 +5973,7 @@
event.target.scaleX = 1
event.target.scaleY = 1
event.target._clearCache()
- $('#count_size').val(event.target.fontSize)
+ // $('#count_size').val(event.target.fontSize)
canvas2.renderAll()
} else if (objs[getIndex(event.target) - 1].type == 5) {
canvas2.getActiveObject().set('width', canvas2.getActiveObject().get('width') * canvas2.getActiveObject().get('scaleX'))
@@ -5724,9 +6058,33 @@
canvas2.renderAll()
$('#addCounter').css('background-color', '')
break
+ case 11:
+ addCircleText(e.pointer);
+ addState = 0;
+ background_image.hoverCursor = "default";
+ canvas2.renderAll();
+ $("#addCircleText").css("background-color", "");
+ break;
}
})
-
+ var circle_text_size = slider.render({
+ elem: '#circle_text_size',
+ min: 10,
+ max: 120
+ , change: function (value) {
+ canvas.getActiveObject().set("fontSize", value);
+ canvas.renderAll();
+ }
+ });
+ var circle_text_diameter = slider.render({
+ elem: '#circle_text_diameter',
+ min: 500,
+ max: 4000
+ , change: function (value) {
+ canvas.getActiveObject().set("diameter", value);
+ canvas.renderAll();
+ }
+ });
var out_pic_op = slider.render({
elem: '#out_pic_op',
change: function (value) {
diff --git a/output.pdf b/output.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..f0f56b09c14cf802a3dfbbd8e7d4e690365caf63
GIT binary patch
literal 2626698
zcmeFaS$GuH*8l%r{I7hT_wIM|UYu8s$PhpQXOA95QD%}(&zTcQfFLtC4>&U^ARq!N
zAcKGdppb+F0s%xlipn4!N031#0Re%8A@qNR(mwrm*IwOO*(s~5zdZF|XRTVp{_O7f
z?ai*LR<8THUDx^g8?S0rwdcK`uez~CrxwHe4ZiBmJ3D$G9Z}MvqpN6O$yN0CsFGo0
zT689_`>KxalF`E-9M!*Mbc-7dL*J6((xQ8ZKhh$n6B#<+c+>6I-x%@dhMRA_xy5a_
z+;n~3RUNwyA2x
B`Z6=v5tic4~3o@T)Q#%KVY(kAe+@
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
Q3evWV{_B5z_HH}>|LUo2Q2+n{
literal 0
HcmV?d00001
diff --git a/print.png b/print.png
index 7f959036464fceccf5ac292d518df6042e6fca13..37ab2ede7cbbbc25b27580edcd6a93f9bac4c5b7 100644
GIT binary patch
literal 44560
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