import{k as L,ak as N,_ as F}from"./index.1f70c53a.js";/* empty css *//* empty css *//* empty css */import{d as U,r as V,o as j,bH as A,bP as H,C as h,D as b,aI as f,aH as g,G as x,aK as k,aJ as $,F as K,aM as y,aN as v,a$ as O,ba as T,bI as q,bK as z,be as G,bf as J}from"./arco.949c921a.js";import{h as Q}from"./vue.d12e9c08.js";import{e as W,b as X,g as Y}from"./serial.c741fbda.js";import"./chart.b6f2f6d9.js";const E=w=>(G("data-v-ffb80c1d"),w=w(),J(),w),Z={class:"container"},tt=E(()=>x("div",{id:"canvasDiv",style:{zoom:"250%",display:"none"}},null,-1)),et={style:{padding:"0",margin:"0","border-spacing":"0"}},ot=["onMousedown","onMouseover"],nt=E(()=>x("br",null,null,-1)),at={name:"Backup"},it=U({...at,setup(w){const p=L(),s=V({binaryFile:void 0,loading:!1,matrix:[],mousedown:!1}),I=Q();j(async()=>{if(I.query.url){const e=await fetch(I.query.url,{responseType:"blob"});M(window.URL.createObjectURL(await e.blob()))}});const D=()=>{const e=s.matrix;e.map((n,t)=>{n.map((a,l)=>{e[t][l]=a=="#fff"?"#000":"#fff"})}),s.matrix=e},S=(e,n)=>{if(s.mousedown){const t=s.matrix;t[n][e]=s.matrix[n][e]=="#fff"?"#000":"#fff",s.matrix=t}},M=e=>{const n=document.createElement("canvas");n.width=128,n.height=64;const t=n.cloneNode(),a=document.getElementById("canvasDiv");a.innerHTML="",a==null||a.append(n,t);const l=new Image;l.src=e,l.onload=()=>{const i=n.getContext("2d");i==null||i.drawImage(l,0,0,128,64);const m=i==null?void 0:i.getImageData(0,0,n.width,n.height).data;function _(o,r){const c=(r*128+o)*4;return m[c]+m[c+1]+m[c+2]>128*3?0:1}const d=[];for(let o=0;o<64;o++){d.push([]),d[o]=[];for(let r=0;r<128;r++){const u=!_(r,o);d[o][r]=u?"#fff":"#000"}}s.matrix=d}},P=()=>{const e=document.createElement("input");e.type="file",e.onchange=async()=>{const n=new Blob([e.files[0]],{type:"application/octet-stream"}),t=URL.createObjectURL(n),a=document.createElement("canvas");a.width=128,a.height=64;const l=new Image;l.src=t,l.onload=()=>{const i=a.getContext("2d");i==null||i.drawImage(l,0,0,128,64);const m=i==null?void 0:i.getImageData(0,0,a.width,a.height).data;function _(o,r){const c=(r*128+o)*4;return m[c]+m[c+1]+m[c+2]>128*3?0:1}const d=[];for(let o=0;o<64;o++){d.push([]),d[o]=[];for(let r=0;r<128;r++){const u=!_(r,o);d[o][r]=u?"#fff":"#000"}}s.matrix=d}},e.click()},R=async()=>{const e=s.matrix,n=document.createElement("canvas");n.width=128,n.height=64;const t=n.getContext("2d");t&&(t.fillStyle="#fff",t.fillRect(0,0,n.width,n.height),t.fillStyle="#000");for(let l=0;l<64;l++)for(let i=0;i<128;i++)e[l][i]=="#000"&&(t==null||t.beginPath(),t==null||t.rect(i,l,1,1),t==null||t.fill());const a=document.createElement("a");a.href=n.toDataURL("image/jpeg",1),a.download="image.jpg",a.click()},B=async()=>{var l,i,m,_,d;const e=new Uint8Array(1024);let n=0;for(let o=0;o<64;o+=8)for(let r=0;r<128;r++){let u=0;for(let c=0;c<8;c++)u|=(s.matrix[o+c][r]=="#000"?1:0)<{const t=N,a=O,l=T,i=A,m=H,_=q,d=z;return h(),b("div",Z,[f(t,{items:[e.$t("menu.list"),e.$t("menu.image")]},null,8,["items"]),f(d,{gutter:20,align:"stretch"},{default:g(()=>[f(_,{span:24},{default:g(()=>[f(m,{loading:s.loading,tip:"\u5199\u5165\u4E2D...",style:{width:"100%"}},{default:g(()=>[f(i,{class:"general-card",title:e.$t("menu.image")+e.$t("global.onStart")},{default:g(()=>[tt,x("div",null,[x("table",et,[(h(!0),b(k,null,$(s.matrix,(o,r)=>(h(),b("tr",null,[(h(!0),b(k,null,$(o,(u,c)=>(h(),b("td",{onMousedown:C=>{s.mousedown=!0,S(c,r)},onMouseup:n[0]||(n[0]=C=>{s.mousedown=!1}),onMouseover:C=>S(c,r),style:K("background-color: "+u+"; height: 5px; width: 3.5px;")},null,44,ot))),256))]))),256))])]),nt,f(l,null,{default:g(()=>[f(a,{onClick:P},{default:g(()=>[y(v(e.$t("tool.selectImage")),1)]),_:1}),f(a,{disabled:s.matrix.length<64,onClick:D},{default:g(()=>[y(v(e.$t("image.negative")),1)]),_:1},8,["disabled"]),f(a,{disabled:s.matrix.length<64,onClick:R},{default:g(()=>[y(v(e.$t("cps.save")),1)]),_:1},8,["disabled"]),f(a,{type:"primary",disabled:s.matrix.length<64,onClick:B},{default:g(()=>[y(v(e.$t("tool.write")),1)]),_:1},8,["disabled"])]),_:1})]),_:1},8,["title"])]),_:1},8,["loading"])]),_:1})]),_:1})])}}});const pt=F(it,[["__scopeId","data-v-ffb80c1d"]]);export{pt as default};