From bbdd1ae5d9c19239de5baf361ae793dbd6a3f037 Mon Sep 17 00:00:00 2001 From: mguessan Date: Wed, 1 Oct 2008 09:53:55 +0000 Subject: [PATCH] Jsmooth patch : improve icon scaling git-svn-id: http://svn.code.sf.net/p/davmail/code/trunk@137 3d1905a2-6b24-0410-a738-b14d5a86fcbd --- .../jsmoothgen/application/ExeCompiler.java | 75 +++++++++++++++++- lib/jsmoothgen-ant-0.9.9-7-mgu1.jar | Bin 449478 -> 456548 bytes src/java/tray32.png | Bin 2152 -> 1893 bytes 3 files changed, 74 insertions(+), 1 deletion(-) diff --git a/jsmooth-0.9.9-7-patch/src/net/charabia/jsmoothgen/application/ExeCompiler.java b/jsmooth-0.9.9-7-patch/src/net/charabia/jsmoothgen/application/ExeCompiler.java index fcd97b30..ee045f72 100644 --- a/jsmooth-0.9.9-7-patch/src/net/charabia/jsmoothgen/application/ExeCompiler.java +++ b/jsmooth-0.9.9-7-patch/src/net/charabia/jsmoothgen/application/ExeCompiler.java @@ -430,7 +430,7 @@ public class ExeCompiler if (biggest != null) { - Image result = biggest.getScaledInstance(32, 32, Image.SCALE_AREA_AVERAGING); + BufferedImage result = getScaledInstance((BufferedImage)biggest, 32, 32, RenderingHints.VALUE_INTERPOLATION_BILINEAR, true); checkImageLoaded(result); return getQuantizedImage(result); } @@ -439,6 +439,79 @@ public class ExeCompiler // return null; } + + /** + * Convenience method that returns a scaled instance of the + * provided {@code BufferedImage}. + * + * @param img the original image to be scaled + * @param targetWidth the desired width of the scaled instance, + * in pixels + * @param targetHeight the desired height of the scaled instance, + * in pixels + * @param hint one of the rendering hints that corresponds to + * {@code RenderingHints.KEY_INTERPOLATION} (e.g. + * {@code RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR}, + * {@code RenderingHints.VALUE_INTERPOLATION_BILINEAR}, + * {@code RenderingHints.VALUE_INTERPOLATION_BICUBIC}) + * @param higherQuality if true, this method will use a multi-step + * scaling technique that provides higher quality than the usual + * one-step technique (only useful in downscaling cases, where + * {@code targetWidth} or {@code targetHeight} is + * smaller than the original dimensions, and generally only when + * the {@code BILINEAR} hint is specified) + * @return a scaled version of the original {@code BufferedImage} + */ + public BufferedImage getScaledInstance(BufferedImage img, + int targetWidth, + int targetHeight, + Object hint, + boolean higherQuality) + { + int type = (img.getTransparency() == Transparency.OPAQUE) ? + BufferedImage.TYPE_INT_RGB : BufferedImage.TYPE_INT_ARGB; + BufferedImage ret = (BufferedImage)img; + int w, h; + if (higherQuality) { + // Use multi-step technique: start with original size, then + // scale down in multiple passes with drawImage() + // until the target size is reached + w = img.getWidth(); + h = img.getHeight(); + } else { + // Use one-step technique: scale directly from original + // size to target size with a single drawImage() call + w = targetWidth; + h = targetHeight; + } + + do { + if (higherQuality && w > targetWidth) { + w /= 2; + if (w < targetWidth) { + w = targetWidth; + } + } + + if (higherQuality && h > targetHeight) { + h /= 2; + if (h < targetHeight) { + h = targetHeight; + } + } + + BufferedImage tmp = new BufferedImage(w, h, type); + Graphics2D g2 = tmp.createGraphics(); + g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, hint); + g2.drawImage(ret, 0, 0, w, h, null); + g2.dispose(); + + ret = tmp; + } while (w != targetWidth || h != targetHeight); + + return ret; + } + private ByteBuffer load(File in) throws Exception diff --git a/lib/jsmoothgen-ant-0.9.9-7-mgu1.jar b/lib/jsmoothgen-ant-0.9.9-7-mgu1.jar index 088ec8bb0de20c799762027ebde57a82fdd23203..b5cb9b033520eb3d3a48b08e1464fe8d5a907981 100644 GIT binary patch delta 18528 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 Gf%|{oqviVm delta 10954 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 RKhppJ002ovPDHLkV1i|5teF4+ delta 2140 zcmV-i2&4Dq4(Je&BYy}lNklh8OML$w>Ka+t8$75C}PB`ja8GTOpE z&|RUcLRlj20)MVD8@Il!zkB#o4)6VzCC6@3AS=9&3?O?lPloklTikOb1@#HjDY}Wm z9VZlzy($=YoorLI2afUmuR*8JB_QOW;Ci3B>uxgFa&-4mRvs+k*dqbBIGaTwKV?Pq zG=o(akS?6%LS2O1)O$4U6dMWYVnJ0~W7jl|sxmvlQGW`0;}zj-!+ra6a^K_5imlAL zbcf8`+j3BQ05%O{=+xh^FXDNuM(cRt%oDOUni=Y9G+g#h1Y0dAZP>25+~K!Er${+i z(aG-$p$uH**<`Kq=B)jM`NvB+(I$Yoeds%LEFV6;LjRa9V5D&V&}dezNxM76DnSv^ z7|d!b;eYlj7qz!-L?+Zf08XNl9k@#Oabyj7vv=}~k~)f70oXZ~?Ne7XEAX)=3@~3f z;WQ6mw?o5r!$g^$m=u7*q6iFn{Gd{1^{!D zNn4Y_$;h#t0#xH>;e_#E(B7@^k(DkpC;sKbwpK(P698PPMyP=Sw_K85 z2Y+MkWNI;2Q(A%TdQlS~&09h200%}(TdpX>UA>Z%8SaYFe<8Kj!!2cQU!GpIjt`d!YF}1DjuaW*;6ck!A14te{2ffMA2tX&A=isXPjOhNJc8V_kb!ew?mt->QSK3=2Tw$4VdVe8j z`z~UjC3+y}hY1KX?e-5*%$6@&o1P~!DXqy`&YBu-o!c(LD=`?AcDDOmB1O=(U$nWw zD`VLI=2_+{rxx;k>WidUBBizI66J7T`8Brb3ZLl*NyC4YVKa~#}yhFQwzGszzQJBC@T_p}TZSEUG;p0ZDW zKiGuIb7d;(Rl<6t+;@-1O>Job^-eo?OKze%_Yj??(p2L#DbJn)(fq9ZaroI@J1m&Q zKX+bWfwE;JAI*E6spgpGfJFsW8jzv8xTPU2>#E({x|~eHs1=gutrOjCuYaW^dlykX zvay5+a7|*#Qz8>NqID%rwMDi%i(&i}-a06SQJLMJB^y_>F08kNXj{J1Np|YOany!j zyCzmK^+XLwCVIpREtZuWe_tH;cOtr1iBO4HZk8SIK?O7*;iP4sfxcU)A}%C z`5Zn>9U~RUL+b{u-TTr}Uw?1nc7c&PZ7K0%UTc~!KX+JC>$fBfEkma|TE>sk@+_|y z=E6VVnT?Dqck*wgUl?5$kKp4OZ}6nf#KSL8g1#Howd%-5&J6goc!g2ZyWYQ6Sa4!FSVhVA3OFNr=X($c!$1CHBpSfES z#E30x2l}#?2=7J5!hQQ)uzfB0E3aTlkzp7;0rYt0OE-$+(7Nn6J7uV0R$S4eD2 zv(}6GDhhiMKK&aiGglJi-HIhrYk4_tM|fo+Y}v`>H_ww%;eTWg%^FUto+%gJv_%8> z(}HQFhsVhsL~T&tA?aQ1o{Xu-&(SU|AvD3!0I;33^;bOkU2qA{yPuMqaf;sy_c;D? z*djDq4P8tC{pJl~^YnB^B&11dOZ3`pMrs4+quty~L|l>d`-hw$Jhuewb$J(U*iZJ} zJhoLj*-OI>m4A)^_=icw+Ao|*3x~3Ja0)RAiK@j}Z5H8n)cecz0NHE7qb z;yQGi8y{WbKNl-`Tc)qm);*7o--hNWvpms4NS~0(gr9XIscUCUp>kmkkl^!mJ-5V$ zv;k~VdF6KI&b&-c)-}G)yTgGhH@*&3#zU%0hmX_7;Z=(SYoMN9T>|8hswdWLAY9@@ z6|FUghr5+7isW6AXZQFYq>`}MALZaj1<-uGsgVqgzIqS_Z+uJ%mb-uNHnz6`k* SVh;`g0000