From a94ec9946f3f80129ccf7690173d2dfb32882ec9 Mon Sep 17 00:00:00 2001 From: Dimitar Tachev Date: Wed, 28 Feb 2018 14:04:01 +0200 Subject: [PATCH] Improve ImageAsset scaling (#5110) * Do not depend on current device screen while calculating Image Asset size. * Scale the image asset to the exact requested size. * Process image assets natively, pass keepAspectRatio based on the stretch property and Asset options. * Fixed the splashscreen resource name as it cannot be read when containing a dot. * Updated the Image Asset scale and rotate logic based on the Native one. * Make the ImageAsset size more important than the Image decode size as its more specific. * Fixed tslint errors. * Added filePath support in the ImageAsset constructor for iOS in order to unify it with the Android implementation, support for relative files and file not found support errors. * Added unit tests for ImageAssets. * Added a sample app for UI testing of image-view with ImageAsset src. * chore: apply PR comments --- apps/app/splashscreen.png | Bin 0 -> 36214 bytes .../image-view/image-asset/image-asset.ts | 8 ++ .../image-view/image-asset/image-asset.xml | 6 ++ .../image-view/image-asset/view-model.ts | 44 ++++++++ apps/app/ui-tests-app/image-view/main-page.ts | 1 + .../Android/drawable-nodpi/splashscreen.9.png | Bin 26614 -> 0 bytes .../Android/drawable-nodpi/splashscreen.png | Bin 0 -> 35399 bytes tests/app/App_Resources/iOS/splashscreen.png | Bin 0 -> 35399 bytes tests/app/image-source/image-source-tests.ts | 94 ++++++++++++++++++ tests/app/splashscreen.png | Bin 0 -> 35399 bytes tests/app/ui/image/image-tests.ts | 3 +- .../image-asset/image-asset-common.ts | 12 +-- .../image-asset/image-asset.android.ts | 64 +++++++++++- .../image-asset/image-asset.ios.ts | 16 ++- .../image-source/image-source.android.ts | 1 - tns-core-modules/ui/image/image.android.ts | 30 +++++- .../android/org.nativescript.widgets.d.ts | 4 +- 17 files changed, 262 insertions(+), 21 deletions(-) create mode 100644 apps/app/splashscreen.png create mode 100644 apps/app/ui-tests-app/image-view/image-asset/image-asset.ts create mode 100644 apps/app/ui-tests-app/image-view/image-asset/image-asset.xml create mode 100644 apps/app/ui-tests-app/image-view/image-asset/view-model.ts delete mode 100644 tests/app/App_Resources/Android/drawable-nodpi/splashscreen.9.png create mode 100644 tests/app/App_Resources/Android/drawable-nodpi/splashscreen.png create mode 100644 tests/app/App_Resources/iOS/splashscreen.png create mode 100644 tests/app/splashscreen.png diff --git a/apps/app/splashscreen.png b/apps/app/splashscreen.png new file mode 100644 index 0000000000000000000000000000000000000000..61fbb7ed0e27d2ac6f5129687a52f7dc282386e2 GIT binary patch literal 36214 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 IqK;ko50jsk^Z)<= literal 0 HcmV?d00001 diff --git a/apps/app/ui-tests-app/image-view/image-asset/image-asset.ts b/apps/app/ui-tests-app/image-view/image-asset/image-asset.ts new file mode 100644 index 000000000..3d417f208 --- /dev/null +++ b/apps/app/ui-tests-app/image-view/image-asset/image-asset.ts @@ -0,0 +1,8 @@ +import * as vmModule from "./view-model"; + +var viewModel = vmModule.imageViewModel; + +export function pageLoaded(args) { + let page = args.object; + page.bindingContext = viewModel; +} \ No newline at end of file diff --git a/apps/app/ui-tests-app/image-view/image-asset/image-asset.xml b/apps/app/ui-tests-app/image-view/image-asset/image-asset.xml new file mode 100644 index 000000000..ad4053ae2 --- /dev/null +++ b/apps/app/ui-tests-app/image-view/image-asset/image-asset.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/apps/app/ui-tests-app/image-view/image-asset/view-model.ts b/apps/app/ui-tests-app/image-view/image-asset/view-model.ts new file mode 100644 index 000000000..053c73d33 --- /dev/null +++ b/apps/app/ui-tests-app/image-view/image-asset/view-model.ts @@ -0,0 +1,44 @@ +import * as dialogs from "tns-core-modules/ui/dialogs"; +import * as observable from "tns-core-modules/data/observable"; +import * as imageAssetModule from "tns-core-modules/image-asset"; +import { ImageSource } from 'tns-core-modules/image-source'; + +let _cameraImageAsset = null; +let _cameraImageSrc = null; + +export class ImageViewModel extends observable.Observable { + + constructor() { + super(); + let asset = new imageAssetModule.ImageAsset('~/splashscreen.png'); + asset.options = { + width: 300, + height: 300, + keepAspectRatio: true + }; + let source = new ImageSource(); + source.fromAsset(asset).then((source) => { + this.set("cameraImageAsset", asset); + this.set("cameraImageSrc", source); + }, (error) => { + console.log(error); + }); + } + + get cameraImageAsset(): string { + return _cameraImageAsset; + } + + set cameraImageAsset(value: string) { + _cameraImageAsset = value; + } + + get cameraImageSrc(): string { + return _cameraImageSrc; + } + + set cameraImageSrc(value: string) { + _cameraImageSrc = value; + } +} +export var imageViewModel = new ImageViewModel(); diff --git a/apps/app/ui-tests-app/image-view/main-page.ts b/apps/app/ui-tests-app/image-view/main-page.ts index 2e714d423..40fcf5a3e 100644 --- a/apps/app/ui-tests-app/image-view/main-page.ts +++ b/apps/app/ui-tests-app/image-view/main-page.ts @@ -16,6 +16,7 @@ export function loadExamples() { examples.set("mode-matrix", "image-view/mode-matrix"); examples.set("stretch-modes", "image-view/stretch-modes"); examples.set("missing-image", "image-view/missing-image"); + examples.set("image-asset", "image-view/image-asset/image-asset"); return examples; } \ No newline at end of file diff --git a/tests/app/App_Resources/Android/drawable-nodpi/splashscreen.9.png b/tests/app/App_Resources/Android/drawable-nodpi/splashscreen.9.png deleted file mode 100644 index bd53be2ec8d7d24fecd0cfb854c89f3b81299c12..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26614 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 Q1^@s607*qoM6N<$f>N!hyZ`_I diff --git a/tests/app/App_Resources/Android/drawable-nodpi/splashscreen.png b/tests/app/App_Resources/Android/drawable-nodpi/splashscreen.png new file mode 100644 index 0000000000000000000000000000000000000000..a157c4dda0899691f03bc04e566721e717c69629 GIT binary patch literal 35399 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�ms0tkzD7=jQNq9UKg7_;DV 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 @;XLDja8*f%7}LQZ=1qk_B6 zBqwi^d`NaNP)T(=v0aoj9MeyA(THS{MWWb0fg@AI*)~q3&*^+jj;i4juwF>buv4j0 zrzy38X`lr3fvJ{)YgYt+Y|LAe;wpw684{$B_t0?J}5S3k5+> zag|N8^9+Ivz&1b-qpoE(gC6jBYlXo|J@f!gj2?b6u;CCr%f_BAK;$Qoa3z+}4*_iT zZO;aPWZ%+jm5}B1x;sE$AWB;>(k;qtS8YS4Eql_O3bGk}xz8FGAqaTPq%@5P)r8oo$1L7Xc55WM!hv*k@xSfPJQZ(7rA_ zB(}D6R}r_Y{5M&EM51htsT!ApzAlo)$G(b&ZCD4=Hk2+FfGL2YZ65&8q0n7t0 z5r*T?Y#-f0zWu`fF^Rx(RZ(aET^`AzIO{L#Ewe_uh|9^v)&O{wa$Owh94?+5AwW5efd)!IAE=Vu!fD({F|%^4IEjFM0?wV#9XdIw z1*l3C1SnWhKA`UGq^In}Pub?|+NO{Io=8WhCoK=Iq}c{w70~3!fk}kOqg5k=F{lzh zHcxz2ngXSSMjA8%*}6C=5L>;v7@&V_mi=T9N08$0v#>pT`-P|&07<5{z>r@|*k=Vs z@JSduNLm~U&L~hPTCtN5iQ`gxY>QQFCy|E%TryCJb(0zIQrH)6Ns%9i(ULFfj&SP? za!a}Z3GNW~FW%XZk2q~t`2~@(ot6dG9nh?EY#`xS)GqlrN95sHosV!5QdACO8Ha3! zW%f%9g{DhHwNYCc)^)3gO*+c<;6eE` zG1i%gi**(i4H*1b1h2^04ud3v8xc4$u(Kb4p#&}t28r|vR+JH8>L-xhKs4|%Z2*sU*hCx8C3lgcWj)5B&nsgzc?AQh+DX4Qy2-Zn26o4cdD&WLM zNY8N-heLNV$eCPbEhn7xWUxfNBwESwz5p*?(#3Yv2=P^uAW~hK>;qNtQ5Y57lE{+v z!6*boG0JOUE1-hZyr5jgb#k>a?I&9?XzDaNU74z#5%p-+AXU=LBP z4;ruQgdI?sEpki%AhVwfAPhz7)pF?Q*E;!fD1<X4Jj<5Ze)u0;)u`R7`qwRNYR& z-1;D~6^oTbZ%t@k$r)iy(o!E=4U~XBaDB^7&M%H{eaN#QO?n7rKv$4vyCk+CQuUOw zK|@;aqgK@1VjvEDh$t3#LB=uSzdrQ`R(P`V)kLj$SwWIK%k`Ijbg@7mBaH_-@@PTM zaf!xxd0_#}A2y~OFb+jQmRla=L$C0f;t-T!KUF|H?-V$$I6m?-sb7=}90b|+iZH-Q znK92{psyus6NG?*hyBq>9gCFCW3*l~9+DVb#OVS+9mal|P|=wxD+%HOzg_UHR>}2x zq>5~{x2}@xI&Gkh$}c*Lt8EKqI?XbP5G{Sg+0FtEg-=}i{WDhLwJALgpB zfc=*f(^y;!jMf|<1G)Z)1p9z`9J&pfbpkjB(&9i@Y&;PL97TwZw5%xju|LMk@#+s% zfL%CkweU`cGUK)iP~L`*!7eh9hj=9liHZG5MYNYE^#cI)f$i`xnrbh;;umYGM*3Wy z6r+I(s-b4|))ie=BNqcZi$=ux-edP?g%`ZwdEqgSSu5Oj`#-~vesq5LzyJHS=^-he zIxA^eXh53ZYOANDXc5BAz43_f-~$gw(ZqvS0U1GBZ-PV~w!=o4r&T-11&jOZg0l~#0bj%!J>aSXt>7Q! z0>;1b>4D7nq6~ecgfRG z5wJC8ZtHNINsz6EY%tR9bl9eGzEFNns1%1Mq)CbCBe+7Z?2-i3`Yu2V{ zorru&K$UK7a&(hFU31N)X6xW z8ezS4*9<@V-%AjzTpj}n$_Qo(Zj?wA1#$)MK~61^){?eraysE7FG&>OqHM7MN0{1W znL!jelSP_{;@twaLqrGqNMiCtOa}b7zSs|a8QfkmG#rDf4g`4xSkjA!c+lfP<*ZpV z^jKj5f3t=CLGZKLAP={ZI6$_;1Lay!k1!9!pa2s@Q#ey>$0}eaym=5QB^r);h`KOZ zwn3g|ays&2)^w+q(=nj)qVF({hh@)0IOw2%3$K6uYnp;pf5NuggxhYrJzRCw-{L&D zoL2Ha1KG!sMVk3?{F67`efMogj^izte4_Gl2>b5);*MG2gxzt+-FEvYXXrI~xxA{p z>Z+@R=RD`xHQBi#+<7PEUjlqD*){f9p~a2F1H6-wR7T1I1D5lmtPXjd;z39lGFxY{ zr3e!m<71ta%&-cVvto;bV)w^3OLJu|;&^)Dp1XyQ9(_W1=)pOFFsNb`td%_Vh5*90 zwbEs~>=)Z+W^Jkr8ucOWEfZ%S8i9~>+Ohx-lVrx#yZTKUv}>I=yxNF+<_f&z*62-u6bbJ;(E$sZ%ZNe@)KQTOU+s(r!8?PHyS$V}U zbEdh={P~ZD`|f`z{Pk})gg;+>J+`O*82hwj(j1r!wy!`R11#l= zDDK0neaRsuN5H<2m-EO*Vj@ia6b3-h;-WFkFHiL_6Jd;Fa9-(TSONQ0FW)n~_LY0# z?qqeB){!r_+)Uv~v+FK9gf}0$f4Jes+rmlTI4AtiPcFt#v2v$;bt(1}SX+Tdi6(`LnjCqA?n~h_RIWpXO z>us8}?m?ZLZ8Cey78gi*%WdnG!}6d5m{&c|gA&j-RQ3sd)k8n)A9e8F_x@+tVEy%6 za4o;>wtt56e)bFXQ-O}bjctH0Jxr4W2dp&jukp53?z{IsuyR|Y3ZUAXjxy9gF!~!X ziB`b@4QpT40}*qRQ`2^wSHgI4VoxQ{F9g($bO3%aYCtBN7m0jTELpKV^%((CKW$51 zTqINb5QJ4V_l>vSa^vv1qYn$4K6ZV`TKq)5kAL_r;T8KoKfL?!FNB+Kxh-9=Vuz_9 z1$E|ea;>2__6o+nGjUvbVt;u6?#qBl z22)kN_ui51sG?rl5_)9agdi^)V5CLaDW{x)*zgzdxdNBAFXM}!m;Z5>^2y34%nU5e zWNW`?&00R3aKh)p`s=S7Cq1Y4$%j;dSvNd$Tm7_(jlf)1FS;ecH9f6rEAOiwTG62^ zbeG2BSQYF*!d0L6@^MZJKl|B*UHA=r6;|fA;{uT!fHLR|+6LivLhK0O)SqoTcpIc+ zyWHYnpLvkp`@%Y8=%8Gpz^hfX(b~Rt+#+!~+L{1gx=^?r&m)dix+|(aarvY#bg zd6~xS#?UUW39b6o#EevDyY;p!jvS8uxUZ`*?;isu%N1Am5{Y<`V4^VA{UD6Nc2W4> z3oZ&j`ti>R=tvJgJSQCf;ZJ8`oWCg#a5mKum?#pof`cXnD9VZO)F-Dyt^ka25*JtK z4Dt%@kfA_FB{a&_g(1qP9JNVW)17z}*b&T;KW3fP!U>;$AGWV%v9onz#_uU_E#fto_bAB9Ny5AvsbAf$PAXM9^#2{;(^gu)+Z;yTB_Cghe ziPO90>;nTWWpKrke|jix^ili-Kiz=8=xtlJO-;VbX1Jr zgt&|jq6rKbr+etGQ7YbzpfVE2j+F1V+cUA({EqO6PaIn#b)#^g8=Tiin>XbcU$nRm zA-?jdoTZgtWYKWxy!1z;s*jaX8>aId%~i&)KXNPpPTEhVFbHMiu}cgVXP$Wuj&t<} z3-_?K$is>I*o#0vjr-2_=_qCdj10uU>ER##(vU6X*bs1(E9XX?bO12;+CDAoq~pP4 z_^=2MEY%;!F^@ryWbC`z1QAib?Z67&D<{Zc$S^hrE5Wo)gAk^m3J3!~%EWDgeedT# z=jr6^nQpoDU*V_cUmR|_`L?j!%$ecw+iV{8eC{)K2iS}8$=h!oUhuqUhM$~w5xT~H zvsL@!7}g)aG-m1`CiY!(Ls}ulr^hSt8H+x&;sqhTZDcyGG-~Zo9>+~NOfD~@6Buwd z1H93CPFU&zO2gs72OkWdJmzycXd}dOTpSt`pV!#yqh7bX^Xz@<#8{slZgiFWI^1jC zcMi20Z-uRwI6kzZ3nTSYmFsj9vo_8HdahKP++?3Qsz>=XuX&|z70)>1tVm^YDwe7~ zvN6zL+yE#cIvh&%epND!hO{}1^==7t=DlKp`9U^e8tk*Ffb`Pe6p3m^I5e}PG8|RjDZ|KW zXA=St3M^-$EReI!8pjBgCUGTH!;ZbK%k(yEe40y$F&cx7(5O0Y7az87HqOE17o(A7 zj8BSj8_=7RSgEgR1Qn)R>4P79Z@B5ETf(n?^_y(sE9!b%6}-JfqjAgjzF1B<8*H#% zcd_Q*%fqjJcf0qD!Bjr=NCmt2(uvPnY%Es zk(RO}y@Kjcxc#61!WPUO;VC;lF&aGaK7QnQt#RRk1>u(${x$|?h)^)Hz$sD&Qpw}1 zgF|>=xCLJOThrR)c=T71qD(}Wf82C?xbFI!LCcF0q7Cp2qRY=*E95#u*gY8v3i$uPgAasvz3*r&l83^JU${qCF*`o_@nMbCR}1&tb1(QP1c`y1 z`aoZFfsvAi!iNg{~Uhv+snfRzxcl} z|B-ls(-_Sr*gv!7MPdE*9upq__^s5O+l=W$pm5b+{)&%*_^{j4FrFu@6Q1#mr-m)I zd>po+Rt|IL&I{+9^MmlmKmH|b{Me1dR$D#JiESvDOAmrqUiqhR*Ijo3KP=l{X{GjU ztVbV(t^D$0(XG1bs$uWF_YBW`=F{OTn}yY(C%$(0;DZl^n{U1)Tye!8^$POue}6f~ zWn;9Ah(3e z8`#=wuNB_+zIW==XgBg2VWV>4g}(|%9rfw(rZ*kZ`k|DQ@3z~E!ulJo7ru4cNe)`- ze9Nt$t}sCF=LP7O7o5{o<~is7Bz)wfp9>fL@+>)dH^P5=<=es^ulhUCF=$aSyg(qA zj^H^AtTSdz4;P((T3B<9)w+oauRiqs;kTFm33zf0g;~ol7hZGFKH;^m+9#~O+A3Z7 z9Kkug;KJXBW50Atxc(ov3TzKl(HCA^xc82(edn}e!wyf{*4aApGr#-eaKw?H1Ds>B zu_%&hOthJRpu0-A=zqT*X5*rpr(16QXZXui*XlUyoS#}i2LVUKy?nMWsR-`7K69t= zpKp6zc;a^3?-5E?>jP_ zeYSlF#COc!^Pabb=ONHFZTJ1}KQep=pY|X8x&y-zhrg$*yf?r3ox$I9`N0pq9rz5Z zEiqW{yz_IyTi){eaL6GCh2@v8>#dFF>Z`B8_aUDTzy9@ag|^sW<2>Ss{|c{t?SXA< ziw!&HoF9hwzyBlPi#EL25|%9kKm8xKEA%$i&|Mf6JME}XrhCzI_d zJ`@<(U;FBpcWq_={q{mY{~{w65>}7QaoAoq97Ih{3%l?7w4TBI@7LcHe*61BfDwTg z|F+p?i}3kRzaL*~ZqT*uCW1lfIlJwomHekZ_w{h#-!%!hGt>23ZSZMZJ3 zNf?ChzFlUicb!ankCmuNvO`#@B?G?Xy>S*SkL)F1rl+qPB3cVxr#ouV=!zIF=W_ z@Oj~wPktoKo;|yjoU8QF#5dZK*^^Y;DvLmVly%lwr*;kaZH(J&vsL)!H%|yBpL}{a z=9pu{!iClrr-nyA6Xp4hR6pg8l`L*FPMNg92J468j{7XW2%NdZV|K&!oDT8TuYPH< zg1I-&ZIjJ6-_)zExjRWKa*2WF%nDQ^UM$RcPCMP7L9{pe!WZloSE=^UQDKF_GkP6^ z2jBVLf1ek$3y9Fu&-?)b6IZYc!ZV)sq;TdbpIxkAo(t!v`iKA58^XK)^B_Ig#YimB zu`l>{&pr3$&Sr4(53$*IRd;aLPBngs+Bomu$1isPhr# zmE+%Y&ppEDu@LDN%-Po5d2>ODv2wU0Bx~Pw(@xA4dAHSjJ4XdQ_}~M>r#^L*?jmGY z>eMJYR*4v8X%I3;+4NG9O{suRU2!kE{?h@AGkI>TmT$M+ZwbG- z=zHOFpZ-92^@00f|9>m3?0FZUm7Mg$RUKF3$fHheC2wQrTSBU%P2RDrveN8u+Bd%t zHrsUL5!)Y$fOi?6{mhYJ=cnyRjYnOp)RT3y%{Bqw$9w*c4+Zee7V1jI(nF#LSj&45 zE+y(EFWD=+;~j5Se+J#wQg(Hjuur*wPA$Lq#e0RfzV!_#(NOc$tminhYuYvqiH>ya zu}3e}YQHYMTdjAWx^eY_)7|x-!EF?Y<7GfP^|bEK7bs@`efI(#-%J7hLawqA$PnQa z%n(fX#p=A*4}pFEhv(y`dLKX#pBcXJnGfk<@F==BDw6lU>(KDH&G7In1*c&=$o>E@4a?MaDQt!>&)ZBmB0I8IP=smh4;SeKf?3z5OXy=n6-zl9J=lM^TNTExDxe% zvIX|x@TsE@AMrPIM%A%Mq@e!UkK!(IWk907M-cG(Lti~A{mz{`S29Ns7u%(+_TOHc zZS%R)lb^hO6I|-hK<`b&38#zSu_~8$K(u=GGM~4{> z2OjwHu<53cZNb+;dX+HiPe{v-N*nw*TktHC!Q z+R{S&ZplCKc1qWj1vT5;?n-G01SBp;|MwRcLGB&+O^a0bY={TJz0x&*yFUB?7l0dXycJspv%*eK-9GH| z;^%9RwvCTL@BQz2Q#j;}?^7G>*YAISW%x6G^7RRiZ-0Q-CWo-)@sM`M9iE_r^+njb z{sTVBI`@BmhCd2&ewaHa?mKhbc$>x4%~w1_c+T#-gy-z>EVA`XlzH>bw+7y|tcy2R zR$pz^p7d+4wPtwRTVEeO_OZ`^Zsefe&32lN%)=hKrm=}=t+U-$L{}hv>B=krs5?Mz zg+Ad4+k{Ov>Frm%8~VTp-W~Se|5f%O9DcjW6J@Nk&e~q>$RB?AVexRgteN;G+C)#2 zE}-)j!PmUz4dL8#&kTI?q*waXr#^~6d26`*@+*6h)o?UGt}t6TjaM)pQjeE0>>5{{Euejn5c(rR!I19Xmc8L5}zd9dpsIHK0rF`9skjlgAYfKKIXXC z4nqs~)E9=GciN%nD`l5m{-<#D)qe{sVe97A2kzTdKKpz0r;ZO_|Hii!NNwL^D4dNi zTTeXcTjAsrKi##RU7v|p@;2W%{O#HswD(OteBg*KVyhp4=xYQ7)oAp}6BQHZ0BEKa+>zyjgOBR>&t zyzv%mBR2GmXFLrb1AZht7OzTnOFQhaJyz*Y3}5`>2{?|YStHq-YCrkO+1=Rm#?Dbk zeJXB|nQz#38Ovnr4D?-vjYGtQ+Hx_4kE})h+Ty_nzfr53UetU*^WXpdMFd8^K`{!8 zB^4}(w|m`!Dcj@f>X1X;62A7eQ}7Ntelisu_rCKE;<)2Z1pZAHkjOAXaubu`shbYz z!3YwxD*H5JCv84Pl!3@0?b4jW=+FH2*?||UZs}z&eE}|1Se2?Z@?hHm`{*y0--Z40+ATk~@0NJyu;=slKzlxC-6%WZv{`;5as2Tog~Jd3 zXn4z8-xc2Y#<%0$^1DF{dH$wPC#xW4W20~P+uuGb9D3+m@qNgxHUFT&UUJEA@iPPe zjzE7?m(~pYl9%`$U!^Jcvu=zYyyYDtu6X4v-54hbd_o2E(d%?5{Q1vUhd00Zun~ji znrp6szm&27;{0Z}g zuW!v*te@y8`^wew2M#}~RmQc~UKdXP)_3hY3r!VHqfF=h?1He{?k@`e_KJhUXOI0- zI1|D4CqFqKzo~yg;2lF|G9yZ~z}}mTzXkK*4}U^L9H$3aA2UbG?T>f9^Zh*qaV76O zrY@h+o^0Z2@ z=X;R>M<*E$+u~1d^-3q7d|EQJoX%G<>>t0FJn_V@hyVDGLwat#xUt9AC(N@)<24Le zvdd_ksOUFN)HuahI3Jzq=077a6iz?=yWvGIdR{)XTKVM%yfpmyC%-@o47S7gJpTFG zcdij-m2ZFd`?!;t586dxyB;6ctc7>Iule&u8Ry~`x7qq}dZ5j_4C>ax`f#}R+JA(7 z_B$AN2+t0${P%tF_3TcqbGSGyK5eHbheKZbityiGJ%wfyw#PGuZizp3btXO*;ym-t zN`C-^`a_w#oJ?FE_4VXc_|S%1i+l#~`%5nmm;U|=?F&=iwzUHW&hseJNhh5Wjy@W{ zb(F|ipzWX!GIyT(n@&3Eo4U*MpvrdG-72>>xfRO&^(Q^)iLD*r*QLuXw;Z-K9|12f z4CG4#Y2_i%+qIm0f{K2WY7^~vJWaxY&e`!v9S&!l@m)M%+W@Qe*Z0&vKMvwY4#q}T#ZMj3 z#SZAP-9r6*>x{FdCwlaTU7icHwX-BJJ`7xUoi+7~lGMu(U#nCvP16J0a;ig&h z79XanLM`&wX*drd?DMi$Xw6~png$-EM84?Kh1NMw2;2C5 z7_K(?J2CvnP_BgeVr>z=lw_U~=Tq8_P-cQ9iq^tsKl^3DhwxC>e1?oTWT40q*e!V; zt4opb`G)(5jfTxpKF4f_!`aO3xA%Bk3;2~+=Bt{X$nWL$Ja5BjjUg|$b50EC1Pth- zQEYA?X4~(2*9Y+W;ANv>9)V`K_SQ<1n74pTW;kxFd0kji$oTly%SfriMmqp45=3Kq zFl^4mats0^Ilhz0;<-jNIcJ~!eLQrY)6%ek4%q)C_}wl9c5J`&N~eE|7X}0<1U&x8 z)|jL;X12=~xiw@Xv)gunfFMp9#A!aZgs!;qPvINiJTtugu*1WyyS+F(f6oK(lL$W= zvCBK)Z4Bi*V)k=G5Cwb8q6-eArZ%XQH?aa9J5oJER^H{u9R58+3l&i$VsW50R-iZ(0pR`|Kk z-8Jm<(!DZhy~y{hFTR)`_n<$J&(|XPBWm65fbN6dM_RGfTkx6<)Q3Co5xggE(NYAA zkF!?5C+S;lj$gmr63hTBf>eAfr@89#odu*ZY) zweXHO)7^L9gI6lsf0Krbvu?3)HbC_QNYfBmOjoy*r-sxSU?Ojg=HO z{HorIYa-w#X+YOh$w(?=;hyyact`z>ct`z=;7+zAlf>7l_`_Oli60Gd>*kV6s;>|$ zW36*+x81gQ*LI^iuv^VZ#x9 z8qmr5iK7k=tKc=hZs~Nqs<=q#x5t?EmuD#n1x^c_a6lxk@9y zI%%xHS(oEoh3XuKje*-hJ3aNu_>g65?T_<9oPWj2i^s{|JVUR(su{3)3(PHXWgqYz z!ykGEbf1sw@LJ`Qp0u4a*K&SPv*Cv8rw_<{Bv{u+I%}QqV?O!eusJ^9dgPJ$3XGTI zXJ-F!K%3cirf;;3qSPf zl@2@XO^vTO5w0qW6DwEoANtVydWng+%J_1VqcL|&d=+ygevPU&X|a^S!;=Me526n3 zp0i~fyr?ikjl6&T>ovM<@5aa9g722*&z~Q@_r331*CG*H;Wj|Gv;%%8yxNcVj_~ho zvPb0p|Mspu=#HYwch*NKWo^mwkB|63koY7BtE{X@r6?m3geWC1lMO_yWJ5$HAuFr~ zG+0Vdln{5LQ3^=C3}A7^soEO+?l!e zetgMyzc~GU_jdQ`^Xk*xXXf^F_gEM!M*<&v%=>gJJf?D}vDyPRkq_3zU-X6Z!$)NW z&LM}qx!}yf<<)X7_jxnVF^2k$3mF2wahGmZ0OYl@Yqu#pE5{ii-1i?3)}rBJa?wAW zANvWcD}O3ONF-M2QkRc^{3LbeV1#w&*j)3e=~HBL&BE|+8&`+f=QTh4rvg}2gR0EYmm-<;4=J+&QSR}1HyGo^8J;KL7Z5yYZySpCx!cmrjo zHCaC0L^~SF_DhEj=gp6H*HV7#)@^bgbN4ms)eR_H;MZ-)gRKH-{P=gvQproysprnB z<5KBx=kX0W7^&Op7SCGm5&?*J>d)XrznTE&Fm2kI@*FM>4vDD8>$_~JuVM*XYDduv zgJGx(5cu+CE2~Jl!hW*qr~2Xsdkaq1WA`l_T`QB&>4p=I+l^X3Ur-=dhn<4VScvHjVlB z$VKMllTS#cRf+9C|E2Q4y6&b;SraEt2$y_muCAuhb8zIsq35^bq9mWcm37yb$ZpZ5 z@UzYLHx;Kc97$moqY=wa9rg5|MEar=xDYK}x+q|aKl>$ObF9YxBOjR<=FR(Dqbz$- zMn=IH!MjhJ0$!$pDIe6$JMve)@__K_9?sft;ynmu`{k62IdL6BdI!Ref(A!G{%(2O z{rvft$x9~Y8?cY>-MfDq?zv}EIPSO))KYy+UNC^4(RisY-jww8)6d8>&tHXOk3B}_ z^3N{Zq0};|D-iv=t&aKZXJ_hpHk&qW*12gM(>q~;{d_&)#8YjoDt`>x=79S{^_Frm zk%bpJ%&{gK|Epvr$b4}!O?Tr}-0?6J7YYny{N%Me&^_TnIoo^t_Fu{ot8c9$3x~@R z!e!TeC(NC9Y1pM(#?h$I1v@d{7A{+GabYd{o8B~5rnSa~Nhf|t`F-P?{}h&d@4B%5 z?u|MHhd1Ojg)e<^j?%7_mpnZ5(4*nEPd=&p1`d{&Lg4t>sZ&mCJfIEr+pzIowI8v(;;4{TN!uv7K{{K64)bPN9{ zo1HpYfiT*$bm!ZRU%%yVeB)TL#f@^#`Azatnboo(YL^@q_Hup6%$f3B=A@IFFOv9$ zcl+%>);e%}LkDb9d;a<7<=0E~VgsD%bJI=Ngd1fO)?<(DlneX;vOnP6;rQc^)AQDC zvtPZ9`>p4`#@{a;Iye-szsGpsf&UDXC!gd&9qCDvCdvk&i5>9Q%R2feFxT3{z)!?tJZJ(Eb?~v^ zPcpDp-h6BL`>_0vr?;f7rAM?wa<5D`Yv{50+k4%Lda7Yyag(;h~4O zhF^(O#~t5WWKQ|8!*J(SAMgO}`sFuE1zwPscKjhM{r<8rcg}hB1hM4EBM%Sw3?-~t zb9dOygVMx+IBR9nqz^ZqbO>iR=Ym;%i@R#k5~*50jVdA%Iuf~st$_KyRq2TU=djP5 zIbA71Ava@fW2G%F&yB3>%zBj2g0S}ru zkioJ`fbGR%YEC#_qzxua1iW0FBph+C0c+TmUT8svwjcn!acI*WcQ&7b37YrF1IANi z70n4J9N*QML$@z~d7-?r?Kw%AuHTolcD8KU)~nim zFAB%%0KIK`06ym#r8!fjArGf(tIzizRU1n7qd43;cmN^ zprb#HYrC-6U{c%4#QF`(dvj2?%8Ph$#!e0@4i4<3^^*tI zNaJQ;@#63G!?qF^5BSeGV|w^sS+ycvTk8k@-9v0sCCO>fsjl*6v2n8gXX%mp#zA4T zXJ4q#3G#S=zC~SuH+SwoHa>u^s{^K8EEH{0hd*fWfpzGehC-wD)Kj%1V)*1>v__6} zcIvLvRGj;Pvrt3^u=K*h{d+MpDWGUGv!)>?S)rs5%vS!U%c~kn`jaXLa zTo*c15Iy(Y@55PVo!j@X1UxXpJhWXLGVgjttiD!fV8wj$^LxTQ8~;6?sZq}bB{#++ z1C$h=mEx79*c2z0ME2NZG_?D; z&(m^5>=|cG7pMO{>HQ}2)s8#c)Uy))&c!u87A&fUR<6P3!+3%$hZWVYiN-IH_3Jmv_VpXX=FRshU+grr!^FU`6htH* zB&IfyJXX+2tKdsQwgL3I=9*>U)1RIenJ7Ym;UkYc8g}m5B`|T?pw-(6Yzz{Iho%63 zq>&JzSh|P$Uw!ow+2MPKzEouLDJOPaQS+E=PQq#u%eQhuWJQ^fhbfX} z*RKdS-*S66MK->CRNh^Av}_*3s)%j@J3!aUQdUfXZIL$@vAtjcJV4HU2AoU})DwuC zHr*?)v70Q<0w&4D`4hDpkEjEdgE2Gfwd z5kq&V#$dYd(H*?SaYqb`?NxO}SaoiU_7n8|*|TTp>mch^q<|hPcdos5dAQ}4JL2JG zT4BdJ+n0Kq{X2QsVGc1Gy4?Hj&BO6-| zJ@gRWDG8^9r`zWo<^^r~(sfm5;nq8?FJhaMauz=nMMX}v9G-5CRo`de&w-JY-2%k)>a z_>#Nm0&l=nmL@d)5~<_6-t`XIVD$Fz23ZaAvX{M7oiXaQQ(k1f?a>{wobgvulh|&E zvDOj+;v|`Lk1Ik_9(6)pqo>CX&vE14Dog1O(+w_vDF;ElRODgG2=bng(Ceh>zkxqe6%>ZV0zKaYx6$sKv*5#f+S4-N;(D+>|u+yM^)v5^MTd-$~h8roQq zz&-LbSpwC(s-`Hww_gm1QHa>6@lE<1NBunSjGj{2e##}RT6L?~Y+Ne$3Djl$_`ea5 z3C8OK-}~O9wBH_d(1Ei0=M{QP$K#JbE<11^kz*i@w2qvQ`8j{NZZHgbD7xzP~T~D zU5Jlz8!U+9^hF#zz`;Cg<^@PGSS>*p?TNc+KCq0aq5*(9cmOgx2+aN!%X*f`BcBwb z*mx^}V%rz)$WcaqrYFw$23Tk`feeFbYq@AE!AmkxpmdBqE%iqX#F%$-a{Hn@w*_(t z0>PK1K!=o0WFywBevv;iB1NlRtYg#*ML;H7W3D{3PTCgW9c2+wS&|3qqh#@mj*4}l zji@L1WxBF%*$z<#uv3zBhymQwgF}CR)GOA*q6kA&*3;*$+#x5qfI$c9VLB#79f{`$ z;g)B=0U~Yehz33hhu;17ufYuw>n!;FK~>bUSor2o>Hv3QgU@{_+~HVm)INe7-#G1X}^EpZZnO9N^{fg1wrX3R2<h61E@wnqB<$6Me>T#Nh@BgyQD<}rLe&rnc!Ly zgO*1yoN#g;N(&?wO6o79t#$eXcytnxkviO%Ru5(l?3gKaov6XA&;)gvFl zOHN&B%%Q@uLMrtOFPKaN$Tu${%HQykjEGdsgRd!r7fEQ4tf>?80IGu*C_si@)I$mJ zMSU`@%HxGd85sNM(fB4*n8;nWf4xY4JNZf&h$%)l+hs1#xCj zw1J8Nqf$U!=%87z*bWgB<=_h$;K>-pCf9U{=#>$trL2&0%BY0b*Mapb>YVkZJ<6PO z-gtZ4_;kh_J*fe9=rCec2dg)3?~P%6!HJ!}d*fHhWv9!Xyb6o3W*NET0zczsxDBSV z&ULccSrHqK>7m{d5=w9@)$fSjVNWww)Qtl_>M9Q_^@ROC;cAr<6WH)LWt zk`fAN&aNI_rpa_gUdm9vY-~ieAjQeCI-$&*sFm>oX}s(BW(h@}Mf|LL6}$+`9KFt7 zU)Vci`Bar0gVo9K)PtKIaEA`VSz{s9PvZc;IatG4BXV$eQdBj(VOdWxojk8j9{oV- z<$(+3ycpS_Wv6BAG?e1hu}w@aETD7XMBCXYC$Wi0yeQK#U}HK*WP&1JDOVII13oCk z7j<&15{&W^vcm^G0_laB)-&p1U?C(Aho^EWk8p{Zh{I0&cBkd{)b zpr*~{n#_!mjcj6xI#T;tLWK;;F7~ETtP)8y&ip-H0mWsgXPKYTW@pZELpbZ?SXCrV z7s>!awN69TIoIFIs8A$=s82n{=qVWm4jsnK9cJ&Cwzq~a$}a0v?)-+GJ7tkNmR13K zfO**_7eu)u8;hds>Om7RL2b!2xR5W=co5MAN3lFA(@6mW5>aFgxWJSzaiSXF%R5v2 z%qMD$qqmP2A7x<9ljMw1)Da@S30B^Dn!{u%84Q~05NR+4L> zAP^mih|=7C-~q-IUgpVir*aiaUofjkGJz;+I%2#a?Z-_y-z121#-Es34j{!c;&hM6 z8<^Sl-nPRdr@JO2fiX%P`be0jUzz33-!J`8@pH#7cGQ0Pfe!`%KIG}skzXDo5m17Y zv{+i5Q(PyvT!F+(5;3iF&cIXEB3yNf2q<8gCPZ}Ns|C4=F`JbWfU=2Bfh;Lc5g`*F z$#^e;GKH1kWf@8XMBw2orjg1?6jX#VGony1^Ls0XU9wY;6^O!EHb!>Je!{_!M45do zO_;^_-a8>1w7YHhjt2XhYwOVWwZ#Wgo_ZG1jE;eh12NN3oN2~@l>&+w$j;}PMhxes z&QTDNE;~ri%cr4-PGx|G3{%3YLD`5ilBIQYJ03t$Jx~ljju*?}#3uZDPHjmy3$zZsn}yo)3JcUZBf$O0 zF6Yavq+B10Iy@vhf-6TEMO5O(a+U#?X-|tZ0?WGbH0=0IWYU9)gB8*w^f*+CF>x4E zDdq<+hC{aNS}#tW4&Q84br(N)H5{E9wGMrBw%dSd?H!O$L(Ou&N_FqpY|tAW(~Ki+ zfh98zhoCC)zD#wCbn2au27==iMdpYMh>H@R&X}Dk(w5^+%)y7ykwa6atL@h5z^m~F zzs`fNVe8Nbzm4{D4e8uiO`rE^?*ss^a-zidxa5nNbcA^xOqXNe5=J`2lvPf9oc%pb zM~-^(F1)_ZosPX8w=Ef(1zLwbG`qD_BW3|QW$#d-jL-XYSy7gGC+*WL_jFY-U;gKu zHm42?q(=)SbC@Fs5O!|E-n2mL(D$ZwTi(NH0q<0O8X~+y?p37c;nSqAg0ZZPixx0P zogH_vw9V~13t;O;8(IsDatpN1ca%3^tNt)qpmpfOWXP6HYk}4Rtp!Hf0eZ2>s+b^>ywTcMTTTA;N+Yk}4Rtp!>Ov=(SB d&{}{N_Tonuq-2Lr-1pxE*-2~C<^Y#bIN<={f z46H65;n@WG?U~q2T2%oI%$E`jEHD%d?DyNNz(X)F4`wj1V`DHd-V87>Z0GDY75+ET zFdKDkcWniEUNa{LMiX-ARx;`TVn<4$cY+|D(#$?Vs&>Yax@ji8B)mBQukO1Ji$#baPj=_}@zY zS4lT@A7=|DRSP#K4_7mbx8h{~4anWb^8W$n{Xc)J@ZZGV?EU{<@BgvMTa)?UN-HSv zid(qacv_fCx;i=hHH@=~tDD7pB?UudKdiLOkNvDH+K_9GYc7U!8asE8yj<8 zGfNY8a}HK626J{34hD8EQx*nORxTa}W)3zME^aeZ6LV%xey0Br|G)a+pXlaJW*!a} zj_&_NH-AGnVKXta;N)guFf-*eV_;{o;ASvkwd7>5G~s47Ght=6WaVc57y7@6|1UZ} z(|z}X^|6j2GCi)++O0G6mHjXCt;{U7qy)*v*o9iF7`!6v6rs{pn@xB## z>kgB52NGoAXZnwK|5pADlUK~u!o=OlRo%(SUQpzn7l@Uuo!p(=teu>R#l(oI6->-* z9N(X5{#x(%f5f@SS20t}` z1yM+(RtbSy4(rrI$&eO+A`1XGs1g#vC(&hqwm}U9kyE4RY@yxFlE0cyI z9fW0Rj8g|9JWTPPmp(?>KOswY+Ip5H&u7d7rgb%Fq6tV=tw9m#x|-F4pPZ|%^hbYYyla(Mn+ zkN{k?pS9S#98Rh<>eaD_wPI09~neyeFSALt%Njoxma2j%q2I$spbKsZhd!yPinX10MQx*bILP_6-- zvuP+}HBELIor5=ht`(<|o1H6j8q3sD69}tQF?*m24VURv>QIfmTyAWJ7N+rl%X;RE z+`Nci4@NlQ*d&iAdc+UHd69DY)}RO&S>cQP?5`oCkUUan9w@tMN_mYs+BWN2;mdaC zQS%ScYElA_gfvW%-!uc_;`ynPRq!6;Ni<1DhKKePBwVtL#LHOAq&XcqQfk__WwS zvEwBxHjh3h;*md`)BQeZAe1&{Jk~?FioKV$c46?dx@@&A3Y)_*7nZRDKMa3Ot&@B{)GEM<$wAW))@i5NtUXT*U}{5 zW6s&61oKanv$V}=sXeBWGLp)L2P8YeE#Ml7fL2G-cSr1>0~ngaRIM&MxnWQ4#LMH z*a^J$GyCuBVv5nk+9An*X|>e$uRuqg<5Kd{(}=kF#U#=>Gq%f=8YpOUuyjA@0PPrJ z4|5Y(gI+qh!d=<;Lu+hE1bqtm@s&4(_h9Ov>52K8_-9VJF=f-+P|91nSv>6Is}dr< zIm6t?+N|p-2teEyo7IA|bG+O8FpjUAEv*54#~?^l@rB(0&1a9Z7@ses&}f zRWhfO0#^jS`=iT#xs=iuMZA+y`r0S>^(N!+E4V)*CJVOhw+TAR=rWLFHNRtOd(8}S z+s6^OqZPiPrjZCq?d}a5*27i2^VsQJ-Ht)FN`(u)c31N#Ydr2ZLTt_T$1`-_-Qt@Z zJZ+zlX3mX|;7AJOnKD%$&=4;v6tLbElUU6Vuo*e{Yn>6++)hH0c`oe9=w1SdB!z-J(pYj`6<8Co7t+hXyh-0&e3xc)TmftR=CNfmEP38 zOowAGuHYNt3)+arwz+%W;%Os)mlN`G;X#Uq+hij9SNdOXP@SHBgfE85nf=Q z+vgpNPe+0=UfTBNV5pXtxQ}&J&GH#&>2ZviFq--ovDz7v4Seie0PJ~F!MJ*Uwi4cg zIm*DdZXD34V$vhgzF@|-v0E0zbo z4>#GMi( zUA0%O!D8zyrQW6Sx^*F@Jn>m|QB=vB)ran4_7qcn2tR)+dX>`UWpW)O+cdLCfS{k)Tg`s%F!KoQj6g3-xp+()=-maVC!w1#;dlt4x!+~!*-EF!Q2-sqzhXt^bH|{K%%&d!}j^EOOK|aYp`uqa4No�ms0tkzD7=jQNq9UKg7_;DV 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 @;XLDja8*f%7}LQZ=1qk_B6 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 d&{}{N_ { + done('Should not resolve with invalid file name.'); + }, (error) => { + TKUnit.assertNotNull(error); + done(); + }); +} + +export function testFromAssetSimple(done) { + let asset = new imageAssetModule.ImageAsset(splashscreenPath); + asset.options = { + width: 0, + height: 0, + keepAspectRatio: true + }; + + let img = imageSource.fromAsset(asset).then((source) => { + TKUnit.assertEqual(source.width, splashscreenWidth); + TKUnit.assertEqual(source.height, splashscreenHeight); + done(); + }, (error) => { + done(error); + }); +} + +export function testFromAssetWithScaling(done) { + let asset = new imageAssetModule.ImageAsset(splashscreenPath); + let scaleWidth = 10; + let scaleHeight = 11; + asset.options = { + width: scaleWidth, + height: scaleHeight, + keepAspectRatio: false + }; + + let img = imageSource.fromAsset(asset).then((source) => { + TKUnit.assertEqual(source.width, scaleWidth); + TKUnit.assertEqual(source.height, scaleHeight); + done(); + }, (error) => { + done(error); + }); +} + +export function testFromAssetWithScalingAndAspectRatio(done) { + let asset = new imageAssetModule.ImageAsset(splashscreenPath); + let scaleWidth = 10; + let scaleHeight = 11; + asset.options = { + width: scaleWidth, + height: scaleHeight, + keepAspectRatio: true + }; + + let img = imageSource.fromAsset(asset).then((source) => { + TKUnit.assertEqual(source.width, scaleWidth); + TKUnit.assertEqual(source.height, 5); + done(); + }, (error) => { + done(error); + }); +} + +export function testFromAssetWithBiggerScaling(done) { + let asset = new imageAssetModule.ImageAsset(splashscreenPath); + let scaleWidth = 600; + let scaleHeight = 600; + asset.options = { + width: scaleWidth, + height: scaleHeight, + keepAspectRatio: false + }; + + let img = imageSource.fromAsset(asset).then((source) => { + TKUnit.assertEqual(source.width, scaleWidth); + TKUnit.assertEqual(source.height, scaleHeight); + done(); + }, (error) => { + done(error); + }); +} + export function testNativeFields() { const img = imageSource.fromFile(imagePath); if (app.android) { diff --git a/tests/app/splashscreen.png b/tests/app/splashscreen.png new file mode 100644 index 0000000000000000000000000000000000000000..a157c4dda0899691f03bc04e566721e717c69629 GIT binary patch literal 35399 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�ms0tkzD7=jQNq9UKg7_;DV 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 @;XLDja8*f%7}LQZ=1qk_B6 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 d&{}{N_ { TKUnit.waitUntilReady(() => image.isLoaded); diff --git a/tns-core-modules/image-asset/image-asset-common.ts b/tns-core-modules/image-asset/image-asset-common.ts index c6e35641d..b50f6594a 100644 --- a/tns-core-modules/image-asset/image-asset-common.ts +++ b/tns-core-modules/image-asset/image-asset-common.ts @@ -43,14 +43,10 @@ export function getAspectSafeDimensions(sourceWidth, sourceHeight, reqWidth, req } export function getRequestedImageSize(src: { width: number, height: number }, options: definition.ImageAssetOptions): { width: number, height: number } { - let reqWidth = platform.screen.mainScreen.widthDIPs; - let reqHeight = platform.screen.mainScreen.heightDIPs; - if (options && options.width) { - reqWidth = (options.width > 0 && options.width < reqWidth) ? options.width : reqWidth; - } - if (options && options.height) { - reqHeight = (options.height > 0 && options.height < reqHeight) ? options.height : reqHeight; - } + var screen = platform.screen.mainScreen; + + var reqWidth = options.width || Math.min(src.width, screen.widthPixels); + var reqHeight = options.height || Math.min(src.height, screen.heightPixels); if (options && options.keepAspectRatio) { let safeAspectSize = getAspectSafeDimensions(src.width, src.height, reqWidth, reqHeight); diff --git a/tns-core-modules/image-asset/image-asset.android.ts b/tns-core-modules/image-asset/image-asset.android.ts index 282bafea8..eaba56d88 100644 --- a/tns-core-modules/image-asset/image-asset.android.ts +++ b/tns-core-modules/image-asset/image-asset.android.ts @@ -1,5 +1,6 @@ import * as platform from "../platform"; import * as common from "./image-asset-common"; +import { path as fsPath, knownFolders } from "../file-system"; global.moduleMerge(common, exports); @@ -8,7 +9,11 @@ export class ImageAsset extends common.ImageAsset { constructor(asset: string) { super(); - this.android = asset; + let fileName = typeof asset === "string" ? asset.trim() : ""; + if (fileName.indexOf("~/") === 0) { + fileName = fsPath.join(knownFolders.currentApp().path, fileName.replace("~/", "")); + } + this.android = fileName; } get android(): string { @@ -22,6 +27,7 @@ export class ImageAsset extends common.ImageAsset { public getImageAsync(callback: (image, error) => void) { let bitmapOptions = new android.graphics.BitmapFactory.Options(); bitmapOptions.inJustDecodeBounds = true; + // read only the file size let bitmap = android.graphics.BitmapFactory.decodeFile(this.android, bitmapOptions); let sourceSize = { width: bitmapOptions.outWidth, @@ -29,13 +35,34 @@ export class ImageAsset extends common.ImageAsset { }; let requestedSize = common.getRequestedImageSize(sourceSize, this.options); - let sampleSize = calculateInSampleSize(bitmapOptions.outWidth, bitmapOptions.outHeight, requestedSize.width, requestedSize.height); + let sampleSize = org.nativescript.widgets.image.Fetcher.calculateInSampleSize(bitmapOptions.outWidth, bitmapOptions.outHeight, requestedSize.width, requestedSize.height); let finalBitmapOptions = new android.graphics.BitmapFactory.Options(); finalBitmapOptions.inSampleSize = sampleSize; try { + let error = null; + // read as minimum bitmap as possible (slightly bigger than the requested size) bitmap = android.graphics.BitmapFactory.decodeFile(this.android, finalBitmapOptions); - callback(bitmap, null); + + if (bitmap) { + if (requestedSize.width !== bitmap.getWidth() || requestedSize.height !== bitmap.getHeight()) { + // scale to exact size + bitmap = android.graphics.Bitmap.createScaledBitmap(bitmap, requestedSize.width, requestedSize.height, true); + } + + const rotationAngle = calculateAngleFromFile(this.android); + if (rotationAngle !== 0) { + const matrix = new android.graphics.Matrix(); + matrix.postRotate(rotationAngle); + bitmap = android.graphics.Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true); + } + } + + if (!bitmap) { + error = "Asset '" + this.android + "' cannot be found."; + } + + callback(bitmap, error); } catch (ex) { callback(null, ex); @@ -43,6 +70,26 @@ export class ImageAsset extends common.ImageAsset { } } +var calculateAngleFromFile = function (filename: string) { + let rotationAngle = 0; + const ei = new android.media.ExifInterface(filename); + const orientation = ei.getAttributeInt(android.media.ExifInterface.TAG_ORIENTATION, android.media.ExifInterface.ORIENTATION_NORMAL); + + switch (orientation) { + case android.media.ExifInterface.ORIENTATION_ROTATE_90: + rotationAngle = 90; + break; + case android.media.ExifInterface.ORIENTATION_ROTATE_180: + rotationAngle = 180; + break; + case android.media.ExifInterface.ORIENTATION_ROTATE_270: + rotationAngle = 270; + break; + } + + return rotationAngle; +} + var calculateInSampleSize = function (imageWidth, imageHeight, reqWidth, reqHeight) { let sampleSize = 1; let displayWidth = platform.screen.mainScreen.widthDIPs; @@ -56,5 +103,16 @@ var calculateInSampleSize = function (imageWidth, imageHeight, reqWidth, reqHeig sampleSize *= 2; } } + + var totalPixels = (imageWidth / sampleSize) * (imageHeight / sampleSize); + + // Anything more than 2x the requested pixels we'll sample down further + var totalReqPixelsCap = reqWidth * reqHeight * 2; + + while (totalPixels > totalReqPixelsCap) { + sampleSize *= 2; + totalPixels = (imageWidth / sampleSize) * (imageHeight / sampleSize); + } + return sampleSize; } diff --git a/tns-core-modules/image-asset/image-asset.ios.ts b/tns-core-modules/image-asset/image-asset.ios.ts index 48290c1a0..b0f338014 100644 --- a/tns-core-modules/image-asset/image-asset.ios.ts +++ b/tns-core-modules/image-asset/image-asset.ios.ts @@ -1,13 +1,21 @@ import * as common from "./image-asset-common"; +import { path as fsPath, knownFolders } from "../file-system"; global.moduleMerge(common, exports); export class ImageAsset extends common.ImageAsset { private _ios: PHAsset; - constructor(asset: PHAsset | UIImage) { + constructor(asset: string | PHAsset | UIImage) { super(); - if (asset instanceof UIImage) { + if (typeof asset === "string") { + if (asset.indexOf("~/") === 0) { + asset = fsPath.join(knownFolders.currentApp().path, asset.replace("~/", "")); + } + + this.nativeImage = UIImage.imageWithContentsOfFile(asset); + } + else if (asset instanceof UIImage) { this.nativeImage = asset } else { @@ -24,6 +32,10 @@ export class ImageAsset extends common.ImageAsset { } public getImageAsync(callback: (image, error) => void) { + if (!this.ios && !this.nativeImage) { + callback(null, "Asset cannot be found."); + } + let srcWidth = this.nativeImage ? this.nativeImage.size.width : this.ios.pixelWidth; let srcHeight = this.nativeImage ? this.nativeImage.size.height : this.ios.pixelHeight; let requestedSize = common.getRequestedImageSize({ width: srcWidth, height: srcHeight }, this.options); diff --git a/tns-core-modules/image-source/image-source.android.ts b/tns-core-modules/image-source/image-source.android.ts index f8847d5b3..0f14b2e4d 100644 --- a/tns-core-modules/image-source/image-source.android.ts +++ b/tns-core-modules/image-source/image-source.android.ts @@ -44,7 +44,6 @@ export class ImageSource implements ImageSourceDefinition { return new Promise((resolve, reject) => { asset.getImageAsync((image, err) => { if (image) { - this.setRotationAngleFromFile(asset.android); this.setNativeSource(image); resolve(this); } diff --git a/tns-core-modules/ui/image/image.android.ts b/tns-core-modules/ui/image/image.android.ts index fb03c7825..1e425dd57 100644 --- a/tns-core-modules/ui/image/image.android.ts +++ b/tns-core-modules/ui/image/image.android.ts @@ -4,6 +4,7 @@ } from "./image-common"; import { knownFolders } from "../../file-system"; +import * as platform from "../../platform"; export * from "./image-common"; const FILE_PREFIX = "file:///"; @@ -82,12 +83,27 @@ export class Image extends ImageBase { } if (!value) { - imageView.setUri(null, 0, 0, false, true); + imageView.setUri(null, 0, 0, false, false, true); return; } - const async = this.loadMode === ASYNC; + let screen = platform.screen.mainScreen; + let decodeWidth = Math.min(this.decodeWidth, screen.widthPixels); + let decodeHeight = Math.min(this.decodeHeight, screen.heightPixels); + let keepAspectRatio = this._calculateKeepAspectRatio(); + if (value instanceof ImageAsset) { + if (value.options) { + decodeWidth = value.options.width || decodeWidth; + decodeHeight = value.options.height || decodeHeight; + keepAspectRatio = !!value.options.keepAspectRatio; + } + + // handle assets as file paths natively + value = value.android; + } + + const async = this.loadMode === ASYNC; if (typeof value === "string" || value instanceof String) { value = value.trim(); this.isLoading = true; @@ -97,24 +113,28 @@ export class Image extends ImageBase { super._createImageSourceFromSrc(value); } else if (isFileOrResourcePath(value)) { if (value.indexOf(RESOURCE_PREFIX) === 0) { - imageView.setUri(value, this.decodeWidth, this.decodeHeight, this.useCache, async); + imageView.setUri(value, decodeWidth, decodeHeight, keepAspectRatio, this.useCache, async); } else { let fileName = value; if (fileName.indexOf("~/") === 0) { fileName = knownFolders.currentApp().path + "/" + fileName.replace("~/", ""); } - imageView.setUri(FILE_PREFIX + fileName, this.decodeWidth, this.decodeHeight, this.useCache, async); + imageView.setUri(FILE_PREFIX + fileName, decodeWidth, decodeHeight, keepAspectRatio, this.useCache, async); } } else { // For backwards compatibility http always use async loading. - imageView.setUri(value, this.decodeWidth, this.decodeHeight, this.useCache, true); + imageView.setUri(value, decodeWidth, decodeHeight, keepAspectRatio, this.useCache, true); } } else { super._createImageSourceFromSrc(value); } } + private _calculateKeepAspectRatio(): boolean { + return this.stretch === "fill" ? false : true; + } + [stretchProperty.getDefault](): "aspectFit" { return "aspectFit"; } diff --git a/tns-platform-declarations/android/org.nativescript.widgets.d.ts b/tns-platform-declarations/android/org.nativescript.widgets.d.ts index 85701f6d7..1d336d827 100644 --- a/tns-platform-declarations/android/org.nativescript.widgets.d.ts +++ b/tns-platform-declarations/android/org.nativescript.widgets.d.ts @@ -347,7 +347,7 @@ getRotationAngle(): number; setRotationAngle(angle: number): void; - setUri(uri: string, decodeWidth: number, decodeHeight: number, useCache: boolean, async: boolean): void; + setUri(uri: string, decodeWidth: number, decodeHeight: number, keepAspectRatio: boolean, useCache: boolean, async: boolean): void; setImageLoadedListener(listener: image.Worker.OnImageLoadedListener): void; } @@ -409,6 +409,8 @@ export class Fetcher extends Worker { private constructor(); public static getInstance(context: android.content.Context): Fetcher; + public static calculateInSampleSize(imageWidth: number, imageHeight: number, + reqWidth: number, reqHeight: number): number; public addImageCache(cache: Cache): void; public initCache(): void; public clearCache(): void;