seawolf2357 commited on
Commit
e2406c9
ยท
verified ยท
1 Parent(s): 5fefdc5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +26 -28
app.py CHANGED
@@ -654,29 +654,30 @@ var nw=sw*scale,nh=sh*scale;
654
  var ox=(dw-nw)/2,oy=(dh-nh)/2;
655
  ctx.drawImage(el,ox,oy,nw,nh);
656
  }}else if(mode==='blur'){{
657
- // ๋จผ์ € ํ˜„์žฌ ํ”„๋ ˆ์ž„์„ ์ž„์‹œ ์บ”๋ฒ„์Šค์— ์บก์ฒ˜
658
- var tempCanvas=document.createElement('canvas');
659
- tempCanvas.width=sw;tempCanvas.height=sh;
660
- var tempCtx=tempCanvas.getContext('2d');
661
- tempCtx.drawImage(el,0,0,sw,sh);
662
-
663
- // ๋ธ”๋Ÿฌ ๋ฐฐ๊ฒฝ: ๋ฐฐ๊ฒฝ์— ํ™•๋Œ€+๋ธ”๋Ÿฌ, ๊ทธ ์œ„์— ์›๋ณธ
664
- ctx.filter='blur(20px)';
 
 
665
  var scale=Math.max(dw/sw,dh/sh)*1.1;
666
  var nw=sw*scale,nh=sh*scale;
667
  var ox=(dw-nw)/2,oy=(dh-nh)/2;
668
- ctx.drawImage(tempCanvas,ox,oy,nw,nh);
669
- ctx.filter='none';
670
 
671
- // ์–ด๋‘ก๊ฒŒ
672
- ctx.fillStyle='rgba(0,0,0,0.3)';
673
  ctx.fillRect(0,0,dw,dh);
674
 
675
- // ์›๋ณธ (fit) - ์บก์ฒ˜๋œ ํ”„๋ ˆ์ž„ ์žฌ์‚ฌ์šฉ
676
  var fitScale=Math.min(dw/sw,dh/sh);
677
  var fw=sw*fitScale,fh=sh*fitScale;
678
  var fx=(dw-fw)/2,fy=(dh-fh)/2;
679
- ctx.drawImage(tempCanvas,fx,fy,fw,fh);
680
  }}else{{
681
  // ๋งž์ถค (fit): ์›๋ณธ ๋น„์œจ ์œ ์ง€, ์—ฌ๋ฐฑ
682
  var scale=Math.min(dw/sw,dh/sh);
@@ -867,29 +868,26 @@ var nw=sw*scale,nh=sh*scale;
867
  var ox=(dw-nw)/2,oy=(dh-nh)/2;
868
  ctx.drawImage(el,ox,oy,nw,nh);
869
  }}else if(mode==='blur'){{
870
- // ๋จผ์ € ํ˜„์žฌ ํ”„๋ ˆ์ž„์„ ์ž„์‹œ ์บ”๋ฒ„์Šค์— ์บก์ฒ˜
871
- var tempCanvas=document.createElement('canvas');
872
- tempCanvas.width=sw;tempCanvas.height=sh;
873
- var tempCtx=tempCanvas.getContext('2d');
874
- tempCtx.drawImage(el,0,0,sw,sh);
875
-
876
- // ๋ธ”๋Ÿฌ ๋ฐฐ๊ฒฝ ๊ทธ๋ฆฌ๊ธฐ
877
- ctx.filter='blur(20px)';
878
  var scale=Math.max(dw/sw,dh/sh)*1.1;
879
  var nw=sw*scale,nh=sh*scale;
880
  var ox=(dw-nw)/2,oy=(dh-nh)/2;
881
- ctx.drawImage(tempCanvas,ox,oy,nw,nh);
882
- ctx.filter='none';
883
 
884
- // ์–ด๋‘ก๊ฒŒ
885
- ctx.fillStyle='rgba(0,0,0,0.3)';
886
  ctx.fillRect(0,0,dw,dh);
887
 
888
- // ์›๋ณธ (fit) - ์บก์ฒ˜๋œ ํ”„๋ ˆ์ž„ ์žฌ์‚ฌ์šฉ
889
  var fitScale=Math.min(dw/sw,dh/sh);
890
  var fw=sw*fitScale,fh=sh*fitScale;
891
  var fx=(dw-fw)/2,fy=(dh-fh)/2;
892
- ctx.drawImage(tempCanvas,fx,fy,fw,fh);
893
  }}else{{
894
  var scale=Math.min(dw/sw,dh/sh);
895
  var nw=sw*scale,nh=sh*scale;
 
654
  var ox=(dw-nw)/2,oy=(dh-nh)/2;
655
  ctx.drawImage(el,ox,oy,nw,nh);
656
  }}else if(mode==='blur'){{
657
+ // ๋ธ”๋Ÿฌ ํšจ๊ณผ: ์ถ•์†Œ-ํ™•๋Œ€ ๊ธฐ๋ฒ• (filter๋ณด๋‹ค ํ›จ์”ฌ ๋น ๋ฆ„)
658
+ // 1. ์•„์ฃผ ์ž‘์€ ์บ”๋ฒ„์Šค์— ๊ทธ๋ ค์„œ ํ”ฝ์…€ํ™”
659
+ var blurCanvas=document.createElement('canvas');
660
+ blurCanvas.width=32;blurCanvas.height=32;
661
+ var blurCtx=blurCanvas.getContext('2d');
662
+ blurCtx.drawImage(el,0,0,32,32);
663
+
664
+ // 2. ์ž‘์€ ์ด๋ฏธ์ง€๋ฅผ ํ™•๋Œ€ํ•˜๋ฉด ์ž์—ฐ์Šค๋Ÿฌ์šด ๋ธ”๋Ÿฌ ํšจ๊ณผ
665
+ ctx.imageSmoothingEnabled=true;
666
+ ctx.imageSmoothingQuality='high';
667
  var scale=Math.max(dw/sw,dh/sh)*1.1;
668
  var nw=sw*scale,nh=sh*scale;
669
  var ox=(dw-nw)/2,oy=(dh-nh)/2;
670
+ ctx.drawImage(blurCanvas,ox,oy,nw,nh);
 
671
 
672
+ // 3. ์–ด๋‘ก๊ฒŒ
673
+ ctx.fillStyle='rgba(0,0,0,0.4)';
674
  ctx.fillRect(0,0,dw,dh);
675
 
676
+ // 4. ์›๋ณธ (fit)
677
  var fitScale=Math.min(dw/sw,dh/sh);
678
  var fw=sw*fitScale,fh=sh*fitScale;
679
  var fx=(dw-fw)/2,fy=(dh-fh)/2;
680
+ ctx.drawImage(el,fx,fy,fw,fh);
681
  }}else{{
682
  // ๋งž์ถค (fit): ์›๋ณธ ๋น„์œจ ์œ ์ง€, ์—ฌ๋ฐฑ
683
  var scale=Math.min(dw/sw,dh/sh);
 
868
  var ox=(dw-nw)/2,oy=(dh-nh)/2;
869
  ctx.drawImage(el,ox,oy,nw,nh);
870
  }}else if(mode==='blur'){{
871
+ // ๋ธ”๋Ÿฌ ํšจ๊ณผ: ์ถ•์†Œ-ํ™•๋Œ€ ๊ธฐ๋ฒ• (filter๋ณด๋‹ค ํ›จ์”ฌ ๋น ๋ฆ„)
872
+ var blurCanvas=document.createElement('canvas');
873
+ blurCanvas.width=32;blurCanvas.height=32;
874
+ var blurCtx=blurCanvas.getContext('2d');
875
+ blurCtx.drawImage(el,0,0,32,32);
876
+
877
+ ctx.imageSmoothingEnabled=true;
878
+ ctx.imageSmoothingQuality='high';
879
  var scale=Math.max(dw/sw,dh/sh)*1.1;
880
  var nw=sw*scale,nh=sh*scale;
881
  var ox=(dw-nw)/2,oy=(dh-nh)/2;
882
+ ctx.drawImage(blurCanvas,ox,oy,nw,nh);
 
883
 
884
+ ctx.fillStyle='rgba(0,0,0,0.4)';
 
885
  ctx.fillRect(0,0,dw,dh);
886
 
 
887
  var fitScale=Math.min(dw/sw,dh/sh);
888
  var fw=sw*fitScale,fh=sh*fitScale;
889
  var fx=(dw-fw)/2,fy=(dh-fh)/2;
890
+ ctx.drawImage(el,fx,fy,fw,fh);
891
  }}else{{
892
  var scale=Math.min(dw/sw,dh/sh);
893
  var nw=sw*scale,nh=sh*scale;