From 95e506cf366290cf45198506685e81c625e8f618 Mon Sep 17 00:00:00 2001 From: mike-000 <49240900+mike-000@users.noreply.github.com> Date: Fri, 31 Jul 2020 22:25:33 +0100 Subject: [PATCH] Apply context options in handleImageChange update tests add new tests --- .../image-disable-smoothing/expected.png | Bin 3031 -> 0 bytes .../expected.png | Bin 0 -> 3854 bytes .../main.js | 29 +++++++++++++++++ .../expected.png | Bin 0 -> 1720 bytes .../main.js | 2 +- .../expected.png | Bin 3596 -> 0 bytes .../expected.png | Bin 0 -> 4071 bytes .../main.js | 30 ++++++++++++++++++ .../expected.png | Bin 0 -> 1766 bytes .../main.js | 2 +- src/ol/source/ImageStatic.js | 2 ++ 11 files changed, 63 insertions(+), 2 deletions(-) delete mode 100644 rendering/cases/image-disable-smoothing/expected.png create mode 100644 rendering/cases/image-no-stretch-disable-smoothing/expected.png create mode 100644 rendering/cases/image-no-stretch-disable-smoothing/main.js create mode 100644 rendering/cases/image-stretched-disable-smoothing/expected.png rename rendering/cases/{image-disable-smoothing => image-stretched-disable-smoothing}/main.js (92%) delete mode 100644 rendering/cases/reproj-image-disable-smoothing/expected.png create mode 100644 rendering/cases/reproj-image-no-stretch-disable-smoothing/expected.png create mode 100644 rendering/cases/reproj-image-no-stretch-disable-smoothing/main.js create mode 100644 rendering/cases/reproj-image-stretched-disable-smoothing/expected.png rename rendering/cases/{reproj-image-disable-smoothing => reproj-image-stretched-disable-smoothing}/main.js (94%) diff --git a/rendering/cases/image-disable-smoothing/expected.png b/rendering/cases/image-disable-smoothing/expected.png deleted file mode 100644 index 8735dd9d861594991c7b3ac65dcd4a206b105dc1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3031 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911L)MWvCLlCbx$lZxy-8q?;Kn_c~qpu?a z!^VE@KZ&eBK4*bPWHAE+-(e7DJf6QIg@J)P$J50zq$2L^9skqMQYG6z-mAH=%y&0a zxZ_$Mfuf5G+IAUC5h``lP~9qc{DS7(|Hh(QcZeOnc=q7Vibsm)A3yobl(+8w$J%M< z`S$v@^>ogUp#wl{@m{WhtCV||Nr&9xW4N7W5qvmAHSTOymNc~ z*KZeo@2{+X(f!?S{_f8o=RP-WI32Ll;VIKyix9mDJDi^~?RQrwY(K@SCGK&j_CDK( zyZ84=RsDJK@6KBDJl?-g_xiW*+wt}0o%eNLcQ3Tx_wVAJ)An_hFRqHm$yPmno_}WV zw?o;^+wFJRetDQJf97t@SQJvW~H5K~du=R-tkv^*|FqBD@JKQ@NoQfoz1D020Y&P+k!O)CjW3 z;|^3kL?o73!tp5+)FP0LNKTbHzyWs{$VR9MAgix4xIsKJ2)vfR|Hrordw18%@B01p z?#}SKPp2*{um4f;?x_4ei!bY6?`!}5j`!}5o4q?{@8A1#4_kpGil^rAtbdO!Xpf%! z@CzIP=%FyG0Vx5(Lup?<^N-gTHmmnPzxV5Dw6njwz3i_4+kY3E*HtCI__p?T@%uer z&Rv+jzoPiX-Rbw|{(f~no^P%!&%34adriKd+&$lBJ!4E8mKrsxj-{s3pLn6rz${Rob1@#u=Jg~~hh6amc_%ikST#Fa5DO8NP4W%_~h zV&#vwhZolW%YXN9Z@csPc{a1HPx8Ebef}L!?dPM{i~m=A%X#sq@8I3v&+f^{Edj;P zQO<9x_@{E$1eQ;dl!25bg>}b)VR^XO1XP?_9E|%4EMD|q`583>OH@!Xbnd+bFdix< zfb*UDjn#G`dLLZxdZraXO0c6pWr1_m zd(SZG|22k9QOqZ@cokNgHmn)tjD`UP>EOm)>;G&z?`_QIFJagMY>YE_y85}Sb4q9e E00~l77ytkO diff --git a/rendering/cases/image-no-stretch-disable-smoothing/expected.png b/rendering/cases/image-no-stretch-disable-smoothing/expected.png new file mode 100644 index 0000000000000000000000000000000000000000..65990bfdced6e8d5078a3dd787dbb5abe6910b1a GIT binary patch literal 3854 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 literal 0 HcmV?d00001 diff --git a/rendering/cases/image-disable-smoothing/main.js b/rendering/cases/image-stretched-disable-smoothing/main.js similarity index 92% rename from rendering/cases/image-disable-smoothing/main.js rename to rendering/cases/image-stretched-disable-smoothing/main.js index aef17f42d2..07b1cb1ae0 100644 --- a/rendering/cases/image-disable-smoothing/main.js +++ b/rendering/cases/image-stretched-disable-smoothing/main.js @@ -19,7 +19,7 @@ new Map({ }), ], view: new View({ - center: fromLonLat([-122.416667, 37.783333]), + center: fromLonLat([-122.39, 37.81]), zoom: 12, }), }); diff --git a/rendering/cases/reproj-image-disable-smoothing/expected.png b/rendering/cases/reproj-image-disable-smoothing/expected.png deleted file mode 100644 index d2050f0742977c9b7d74bb140fcb4d93882a3775..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3596 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911L)MWvCLlCbx$lZxy-8q?;Kn_c~qpu?a z!^VE@KZ&eBK4*bPWHAE+-(e7DJf6QI1!&SjPZ!6KinzCT&v%DEmu&m^@8w;QT`!ld z-Znum>eeL(B^Id;GdCZmE=AFL)+p!RKoiH~uX;WQd*460+ahL9jLp*EV-I)A+r2(K zy?EX2rJpBHxAs53b?@}^-S_rbuB`sQ{JnVW{(`+P?*Bg<`}gqGMUx*-Ui9-tanTQ@ zM^Aoi$gry_mOLP(CB7o&On97ih+e?X8U1$Z?fOa}#=RJ}4Q;1bwZuP9z0Nn4J4El< z;`1jTc5{Fj=F=J1EG%j~b+qQ`R_CWoQ@bICf*EI18M0TzEGROJuY4P@)8T27-LE+^ z`#L}jyw=^>DSzPKz3xTf_V2F5{(Jj$k@o)GK_xX6G2frg->*|u{AbyVd+OU?>-~F` zbg_B;d-1!!Uaz&P5&Zb=?CnLf=ih1JN#F&!a>5RfgSb`Rf$V1Lw5}0sJjMD--l)M8 zKr^p@syvu^3#$WA2(qfD6%oY`Y zSG_p-*1dGQ{#~tIzi-}M)Lt%kt@iKq_1*spAJ+-i^;_FnY3=&BeI~h1Pidc9MDMEe;kxnScS^Lil6~jq703M zKXUD$ROWF9tOy!Y7kZ&F^`Tk@WTrwPSP?9yhL^?nE;8<^`sjS|;la3zdslydwQv8= z1us7Cec!dNzG5%meb1UN-Ths5weK(QTD^aNRLRf1r(OH^Rfd#5|MYgz?(p{_w!i;L zra&?sGzy@>g&L-qsUMu?zw$%N08~w=v4xqhzgK{vECTNnmVo!;8d)W%!HfNXaw*Iemt8!EDmyi1P>#9F&|LrRO=S}mX zpW%(?-hC@Cf35fTS#*-PZZ>8o$1+&hJK4 zAE;4(=0z4blYhQA`!u%lIIRR$*TAY6)YNXg>lUO=`tl50Y2Pgw3$2gf)euUGKiadd z3{*fF%J1EYtw>LD3x`&b@R|`N)f+Be4KDu9xaaF(t1xC#Xg+YqoRfyFlDK`|P||iiPd^ z>d&U@$Uw5OVZA#rzz%Q=LLww>^YSW>I}cBH{#50Lrv5Yc1A#&E!Rbg1D9E?oe6vzc zsQgD!Qr*czK(oMYhw>{xPwx?c1Zu8X^(vs&eRF2SZz_NU-qAm@pjaJl&HxtaSKjWe zi7P4ju#4}%dvC?xtmQ9Wd|2@A!PnP|4*$Ko=<(ylyCy$Ayr_BaUZp)&=KoG=-MU{L zx#jyOP)Ytn0=WePu3=XfBPvgMXLwx;O~DnV;G_jEQy(S+n`rO`4!DS4e-2T%*6<*z zVn`YG;Ho8}Fz;7HuO{|bA*$XFhQQ_$N~&)Re~zd{?ApLhE~Enc!z*z04Q>(~J}v;S z$f0J$%>_5Cz~wplo-TODF7R>x35G>mc@&~fk5Z#SK%G<|b-VJH{HuFDdCA|JrGPy+ N22WQ%mvv4FO#m#jL)riU diff --git a/rendering/cases/reproj-image-no-stretch-disable-smoothing/expected.png b/rendering/cases/reproj-image-no-stretch-disable-smoothing/expected.png new file mode 100644 index 0000000000000000000000000000000000000000..3e3b843ec1dcd0ee94b791bb784f67f16752f2ff GIT binary patch literal 4071 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 literal 0 HcmV?d00001 diff --git a/rendering/cases/reproj-image-disable-smoothing/main.js b/rendering/cases/reproj-image-stretched-disable-smoothing/main.js similarity index 94% rename from rendering/cases/reproj-image-disable-smoothing/main.js rename to rendering/cases/reproj-image-stretched-disable-smoothing/main.js index 5383d316ca..80d7747fac 100644 --- a/rendering/cases/reproj-image-disable-smoothing/main.js +++ b/rendering/cases/reproj-image-stretched-disable-smoothing/main.js @@ -20,7 +20,7 @@ new Map({ }), ], view: new View({ - center: [-122.416667, 37.783333], + center: [-122.39, 37.81], zoom: 12, projection: 'EPSG:4326', }), diff --git a/src/ol/source/ImageStatic.js b/src/ol/source/ImageStatic.js index fc9276b618..9629cdde78 100644 --- a/src/ol/source/ImageStatic.js +++ b/src/ol/source/ImageStatic.js @@ -6,6 +6,7 @@ import EventType from '../events/EventType.js'; import ImageSource, {defaultImageLoadFunction} from './Image.js'; import ImageState from '../ImageState.js'; import ImageWrapper from '../Image.js'; +import {assign} from '../obj.js'; import {createCanvasContext2D} from '../dom.js'; import {getHeight, getWidth, intersects} from '../extent.js'; import {get as getProjection} from '../proj.js'; @@ -138,6 +139,7 @@ class Static extends ImageSource { const targetWidth = Math.ceil(getWidth(imageExtent) / resolution); if (targetWidth != imageWidth) { const context = createCanvasContext2D(targetWidth, imageHeight); + assign(context, this.getContextOptions()); const canvas = context.canvas; context.drawImage( image,