From b7ee2336c1d16492d878b1656878de093f91ed81 Mon Sep 17 00:00:00 2001 From: zhongwuzw Date: Wed, 3 Apr 2019 11:03:00 +0800 Subject: [PATCH 1/3] Fix rounded corner bug which leads to image upside down --- SDWebImage/UIImage+Transform.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SDWebImage/UIImage+Transform.m b/SDWebImage/UIImage+Transform.m index acf86fb1..cd1c65c7 100644 --- a/SDWebImage/UIImage+Transform.m +++ b/SDWebImage/UIImage+Transform.m @@ -228,7 +228,7 @@ static inline UIColor * SDGetColorFromPixel(Pixel_8888 pixel, CGBitmapInfo bitma CGContextSaveGState(context); [path addClip]; - CGContextDrawImage(context, rect, self.CGImage); + [self drawInRect:rect]; CGContextRestoreGState(context); } From 2a4e96d8f585518d67f89dc356b8c91348674b41 Mon Sep 17 00:00:00 2001 From: zhongwuzw Date: Wed, 3 Apr 2019 12:10:21 +0800 Subject: [PATCH 2/3] Add test case to check inversion when do round corner operation --- Tests/Tests/Images/TestImage.png | Bin 6822 -> 11336 bytes Tests/Tests/SDImageTransformerTests.m | 3 +++ 2 files changed, 3 insertions(+) diff --git a/Tests/Tests/Images/TestImage.png b/Tests/Tests/Images/TestImage.png index 9d9dd87742e52fa78e9750b88d8758636c78677e..13f2ec75a623ee579a232ebbf96b392cc97aa134 100644 GIT binary patch literal 11336 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 N^yaNxg^Y3F{{UP^NfH16 literal 6822 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 diff --git a/Tests/Tests/SDImageTransformerTests.m b/Tests/Tests/SDImageTransformerTests.m index 57a19589..da49a250 100644 --- a/Tests/Tests/SDImageTransformerTests.m +++ b/Tests/Tests/SDImageTransformerTests.m @@ -61,6 +61,9 @@ // Check the left center pixel, should be border :) UIColor *checkBorderColor = [roundedCornerImage sd_colorAtPoint:CGPointMake(1, 150)]; expect([checkBorderColor.sd_hexString isEqualToString:borderColor.sd_hexString]).beTruthy(); + // Check rounded corner operation not inversion the image + UIColor *topCenterColor = [roundedCornerImage sd_colorAtPoint:CGPointMake(150, 20)]; + expect([topCenterColor.sd_hexString isEqualToString:[UIColor blackColor].sd_hexString]).beTruthy(); } - (void)test04UIImageTransformRotate { From fa303a9b73978e7d67c091e83cdcb503c7de0a68 Mon Sep 17 00:00:00 2001 From: zhongwuzw Date: Wed, 3 Apr 2019 12:28:10 +0800 Subject: [PATCH 3/3] Update snapshot --- Tests/Tests/Images/TestImage.png | Bin 11336 -> 11662 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Tests/Tests/Images/TestImage.png b/Tests/Tests/Images/TestImage.png index 13f2ec75a623ee579a232ebbf96b392cc97aa134..a528ffcbf5c82951f265e20645d95df9c529e57f 100644 GIT binary patch delta 11046 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 RIOP>VQTCHerIbm){{TSTbHe}t delta 10715 zcmXY1bzD@>*ZzWtgp$(D0@5knA+;c~5=(c3bV*!AVCn9blqFn1xhRJTV4+&^RU>GHKQYJYh7^A#lx$}8h`s(g}hVP*P#toczs$U=piDcA)YfA|d>^J`D+ z7g`B4&tEh7H@;xltXUlt`MD!ssuDmrGt1%2j4P=~ZWa}H?&`Jqpj0O_J7F(9(mRxO zDKV?%!+E$ z1CqgWkYM+S!6HE8!j9{n046w@UZNVU5z@m1X-UMCFv32iVDy>U*^v@OU=e&i!HVmq zjK#?Yp)1IM(c{CBd0kH5NcKGlKC=?MJ74Mn@#BGiVOH}=#YHD4crc<96Xq#(h4+p5 z{xb+Q8CX0qP6lO=ngYro1C;xCcGYgzw&0dTHqU^9#@)+rhF zu{*b`GR?pHjO7;&wAr##*Mgi4=9ZUtEYg!|H~;ziL!S9BgG9KPj$2)nN+2b0DuVWX z!2E22nTCDOSft9y$H`i)Wj1cPR+el|ImQ$f5}Z)?-$k!ybRHAjFE%=G@hW9jdw$-P zEzeHV7{+TsW-)BJ%w|cCzuqZ&eCpOKePGSRFL6wpnJuT^@e)Bn2`0ezFcjav?!ju- z+-=UdSr{cu%Jz-`_2=m-Kd`nL0o6IzEsd9I#%Cj&ub{W{X8qTRsOqr zZkNp{&Q*y-hwC!oja>gxW>r;AeYSRFh;Z)zNv4M-lzdWJ~Vu#?^18KGOG1 zJh;1H0uZ!M%@`N{yAp_s5oZnGrs+NYpjL)jc7|VKe?{5`LK!@y{yr_j+Z^M!=% zE*|)0K|lx{^1tSlxbEt{w&=8_K$n!}H~Q*u)u*GU>xJIqFLeHO3ZcMfJy{_e&J6$L z-P7C3KE*`nF%iO8y&32RMWzu&gat>8@piK$pH76-C=czAMuuz%$D>B$$-w2dMm)?m-dxxj+c@ z+jq>_+k-_VGEW^|{$@ZGuT0rRjAczt(Mh%Y8-;bXf=3D{nw{p?BWk@>A14zEO3Z?J ztIy)8+46KJo9{9B)sE_eyH=17zu)dJH_?a-+p&Yfwb4;%V(!4@uybek z#Yr`14w}i1Eqy+oIhRA`(})e+>pPS@KU1pgv&1}Al@qqpKq2RXomv=t?4Qstt(-2dk+PM<1MZ}z?D@xUK zxM;3H89BeXW+dDfU}F+x7Ie=aeXP8_fgC%WHg&GtKTnjhR$YMW_Tw)enEYu%#w-nW z=v)<^YetbbjeTOAwZ9q(u&1lV_+nKN_=Cnd>v|VwZk@T8ZfS=7@xwjNitVaKv~FWu z4@9$FjqcGi?hP4aoFX~B)wU`pxC{>p(lHi-?u6{y`Jr_~1r{0;egsjB7`1}~GHOzo z2h-mTzrrY4Okx2k7;JAM`#V{N&;C6ZZdnRnzjJS+Kl{mS;ooIxbZ(1Nx~#y!lDL%XQa9_(ddAkrdw$}Z1Fo*B}XwHuVqps z1Jqe+giX%M+So+}1990;>(A8XFQ2N*wC(d6xAQLnRYh?LN|-Lyr~Ew|sqr6vnEZ(2 z>{(uj{tz@tS?66BD@n0&8Sf4q#w~lKWbkypnBC6a_P)|p3VXIU@7U0GDs#j>2yA{ZX|azp_nZ_iwcZ5dzzT~^+R^X-ZEpQ6NPp7=)_{xlXb=o zgg!(Y7(97-=R%mwvcg2JnZ)yTeF)|5o!T)|As0}r!bVM)bWe$RhO<*mrhvOC5#1fGX~#0vVN z$M@gr38Q^~v6T99Ux-;55Ib&TiVPm9Cxmi40AQImYT}c@XT;qB;pOgp`ctX0Q~sEa z6609XLBM3($l|(+HKq*_Hq6tHU$lUc8+ay8LzPe=rdc^36p2@Z9aZ_}c|k~&l#i?I zEU{6y5FIApzBD^g^;7-Ojq;bKZaQ9C0vq4DTy!FGy3^e+H5}|o=RQ}9aFu&Q)5Kf^ z0Tv5J>z6bN9X{wa)o(A1YqNTN)FZU$bu7g|2^FR30FmN4?I(mQ2!n+oyki|>^D^=) zo5tU^5*=HGLqr`unCpuRX2}CB>Ag#~&U!f*#{m2Z*Xx6kUvDCkUF5SlQi`ZcZwV*6 zUr*iCN6bkGZ3mH(GOxc<4B1xgRfQD+q(o1yOm=Xx*BQ}i3BLVVY#sjMA2ra`B*j@9 z%CUF)0xBe5H4+VvU~(kHh%xb+(sY(MIb4>JUwg?=Vxv;-VD{pLNPUMMvm{7?f)Fhm z+r`%)iS|W>8#n923^u4epDjS(6=hz}Jdzm|yqlgKHqbJR(q9+8j zwN;9&y4yz@T-p$*{PEM9eo2ZZ*@s{tsp~( zZg}dxJI}AN2h!Y0AfM}^3_Cdf{apb3dvStt8a5r~tLqM#wr}R17Zj~G zx^IIEyKh>M@d->Z8}j z#i1l!`~J!+!7$+T@ZnNpMC=Y-OL1CSZ_UJRe3$~apnU~Vu;#4($~3B5|GhzgK;C2R zPKRJ(JB`{=GUM$Syspw?wt5Mb1ZyZ?M*93UMAMTZtCJ8)j_o};cyIX7Yh0Jo{o5kA zTTDb#tF{tiCR2?Va>8Q1Ph_9~e(!pG%#FFB3F~60>;%ZvYn!%@gZ@i3fv=2TH<0Ot zB*O@^4{z7zYQ|P%QF}svf{ViBp!!Nu_h@WVGa3%9x7cE7S($1sD!Q6=Q;7VjeX4???AT)36U}Zi2?49b1rox?)f9-8s6pn(|T+L z)3u( zy}D2G<&6VLL_S8y$f+>t?ng=f@P=-CwDv)pfK}`^4Sru=c>|l)%Iw{uyiyJCN;3Xi zn?4J7wrhpg2mQmiq~H3R6>0UwIR!6qwCt??(6qrXOf1-Xwx}ku+ga(;UF+d?Zn%mz*4Og@znki1HE$}Qi0!ryZOQ18Rr-ML z>gWXM92)#>fmd|PIjm~Yzh70^?vwow7`|N*x$ibHnp=wI z9LTUD?%AYa01H7*KNb5tp_RgQ;^vAiS{7Sgpsznwa!wcTj!8IaPu19acl<;7yuPMfstMg)<({83w-+3TB3yBPXEp2;? znV(JbK?G@;$r~>wTbkiXN;=b5TcE1Go_6?&-oXr!P)UNc4DsWm?GUfaIO5ZFMySUo z-4mW!1bQZ!_OweUfL~=p#nR;b2VTk}(ZeI`Df#sR53E<|Yj$3QHNFs3A8(TXNTk#516K>*4tf$E&8^gtI-opP#E0GUKM82Jb!LE?1GP%MEn9=<)Xi z=NmofljN?=KikET!-?Y z^PQm;v+juRzq3g8_KqD+nMBK~NG~=e^%>Qd*9+fp50mIU6tRkMyjfs}6}^NnjGu%J ziNQ?s#G?7zu&Sh{1}IoM#)|9r7jo z#KfS&FVW>|{1!Muvuy+u`*B?H0z2vWq3KIl9p2oS*$@4uG!aBgsH8^u8-l~RNPvvD z|B;q%DStaS4J$yGD*x{w#cTV{>-IdgC*ms`gM5VI0ouSv8zxnuC8|w$9T2B- zsV8SFi#Heg)BD^#Mav{bMd{Zq9X+*QF#cp)-{UZb-IV$3XGvud=Zc`TRGs*9}FdH9U+BVI5D0x&>z|#I|D5ZPPM_9-=yaB!R zAATN}FWEo~rDDY&Fi%Mtz6{^E{yt5U>9ExgJI4dSJ+p?0Scic}-l}8Vrs!e;>d;^9 z#E^$nAl)xlpzFCN?x0`!%{qCa-UcE{w9uoD0#yDqNKB6M7gc0^znR{4|Yuqf|J38FP+@ zo5)+@t2(qYWXN3|@IWftNT(>1ai)wl$8ph|MU6C5{IQOqxTIz;bvfAZrPRU$L-mt; zqCV8hm6iiHDONE=Z>38vj3O~=uZds0P!qTh3ufIWqvTZ{Zy@)IPA^^))V-x4O=Y2& ziEg&4oKY;kb0e1FSS+N&zHP4&9U`&YaCgBzNa(ZfXX%`Lwb?1a16SC4@rzktXGXx7 zluoGh4OFXWl8bOth+^8Q!{V)_{1EgA!K-SU(9KTemA~+nG6f`W%9)61y+|&G*9Dl9 zcr_x$Ifs6}wwrQdAEgw8Q+VB<7y1XErSGUHc3SeU~b}xE< zAm|+)`IM;5Cf>^v>ZFT=pW{V>uYrr7yAD1fHHD!NJr2ks1tfAUT8};!`MYhSqT;Wz zty8q+Vj)2T^nQqJ-U0Xib!4L>Z6Sa0B#nEIT1N6wV`qi48Q+MP-`nBd=OsrWsE6qzYHE zh*ZHkD1bT4JYT;@Cabi!ld}77?y$w5#?7g_v*(Em0Aou6m>6<8moCAsq zdVxQ8{}@`z8cQbS*TzX9Pe)UI;x({*hyDy*pJ&YP9)-U1+J2+IgV486Bm?*Q;*AWf zZ=UV1e)X{gRPOJrztN$yZCnSYta>k}nYJ`BYX^8w)!kK(m&%t)iZS z!CG3~LuDIbKV7$Us}a??8dcR3EqC~h>O!;w>grH;I(6&^Hd=Y748hSMSZ#NsloRPd zy;gh2l>N`77SU4piiOv0|7Q|P7uhtX`?Va8UeB@VfrcZ+dc>H?xswQopi`%gO%Yt& zk;xh2yv-W@Ulz$t<-Vs*1fD+qN_q|ArV91crMlV16KII%DnAFOB%R|0xV)lGZSzf2 ztjqa*3O)zK#pvp_CEL#-1$J|#;kufu>a?QV7?VPG6GnCXODJ|kp=rgz5ZA#;U42^o zOTZ&3n@y2@{CYinZmvm})o5doHvZ~ua8@#Zx48tZ)Jy`r+Ma;D*x@OaMrEy_b_ou* zaNd$%m(L8Bw6Ndo>YwoCRw}NUN%wPPA)Fxo^9lfqBF?d?^bWoHyhavaw;6wWvV3Vg zWiWMDD6koiurfP!Am?`o(tm&Uet4i6vw@&wy7uVfFVzG8cW~Fjg4P>R%hoB_zWTuF zXS0-V?PA$Nc4Vd9SN4y}vtc-}^gZdI8VKmKrkBou56O`0VZ{8tb&*e1@4nXgWt^8? z)egX=>TMVFLh@`fgRiN0uVp)_ngxdxR5$I^y2~U5*~7YIGKq;%4=N| zt8E0)xnSZ3_GQvrdZDCNg|z7~U&D%571hdIJlbsC9n;yy*5q2osEn44qL$WeCJ0BX z=^1|1r;Ro~d);4z;muXI1W#p#oUWD{dG>s@4PYC}l^JIq>nyxfgIx^21%HBEHnbdoc>kX72w4^QX`n_jKgNV!pFca>!X?gP0fR}XK-9dTM71GNCT z4!ey81DE(QL+Hpz#jn8b@c>3l%oHUBXga+M@IC4L7aMecr zrJ(_=$dnPDPsv;e!bjf@HVFoLySI>>hR5j=AL=(#ikX!(G85r}O07_f zVC%Zi<14-DY0L8p8l3!X8NPwrCGw)2Ld= z%5j+CvDmj8b$`JsUqO>%-qGkULQkqg^2O}_=uo52M&Evm&L+{E{RaUf!D7S%`odb? zwS~}#5Yl*AG^tlUg93j6Or+e6aJauzq+49;jJS!6B7-41vFJolbhX zdQA4a{4Jga(Hi)Wjbo7VR^;1ufri0jL22EM2F*xdNqgZunAP<7nF3O83E{q_vsBcI zy7y>p4rln_o-~%(CCx2OgD|>>T;xGt`IOO!;VH!`f>OyGpqy*(_$Lp3$B1uz^Wp4Nv!rT(rvKG~tCqtS2xG-h++FVrOgf;BLszas0_oN>n5rv3N&V z4Yroj;hve7Js0@*)>hv2ZkAtZ*yWyOO<8UGHNTX57dh}A+?Tqd>K)iLe!S!n_?2+^F*I7DiupJepU?VMQI$SPqN>`$ z0+Pi-UH7u0lvq<|3e;NHU5q?jcSC-a592F;jnqJjYM!rD5Z!hK&4~&ouALu zxd&ZLPzV&5YW2WS{0%$biJ^MJG29yz%9t+$Wl6zgOXtx#f4ZY(k;O9)N;HElfP2Vm4Pki8j2fwYb;t+`piHL?yMOC z$_XW_OJ%fqiYZ2oKli8nrP>-ba^PYll_2jxkH#LoUk2m#E8d@l@A$gPMWfuI5fV08 z`g%w$S;$Xe^ejopO5L8|$|*jB1&Bt+$N*5};+Z8!=V4F4N|Q5H=6wLY4<6Qi3!+JZ zycIi5@lP(i4U?I|GNrd{jVU8nt^HDkS7zq7RWp^U4Zmh=Ig}W> znxwHWb4zLIu$+);~5Grn+4Rg(nNY~&|I^EFA2~F zu?vmT5jV}IE!_|j0<$FTX9fC4iq8ncIMGJt&V@K#MyzBwsF7%(ekwOM)tRtQ(-&U*)(@dADGb zovh5j7?=28yVb_UP+e9%)NLH~iWB?IS6-(00##VnWH=spH4uB{s+CkbV8&K(P`Tg1 z8ov0Fsde3k~NdHlVb@#L8f6wRZ}|i z4PYL59@OY)Z-wiiWhR_b(R*8oDi7siLFImDu!?b5iKAX=|9G#Sw>%tqTYWLyDOx%Z zP!|TmVJcu2Z7b&+BLbL5Sq%40N2;%A*HA^tbXE)+4de4?a9CwA9$S4!3uC=b_hw=E@OqIi|x!#G4><;g$E?ZVbyG4 z0PA^&tdZ^t@4Q##I8U=^V`i33*idNq5e4S~%8DhR&XsU}j@=MO`zg9rSN#3ma z7I)nBns*uaINhYxOe-C$6mt8_XzRp*KRv7Bn>eI&2V1DTj;$HeFAqav7?UMbh>*_- zmE;YVuCr}(v_2OuHR|VZUp5?j)7B=HeQhtR!r3P3h6kQ=Q+GP|KIyA#df5!`1uIpb zCxpWy?cl;C@CWo;j%7TGshEC`ZKdBi3ceRj90ox1M_fXurG$a>!%sEON4Zm1VXkZw z@TICqNukKo2cB~KfadSB&mF;JDzKucSxDv`_S)$#`U^Pw$fOHII`-Tq7e$>JL2NgR z=LeFyEe7nkINsqkElHzi+j5x*6IFiu$^ZX#xzxO^4LQqXcHZV6RKz7^rJ_%ZYi@vx zKCyB|38E1_Xn^$1EAEl*E`zby}&2Xk9+<@uslGFhzdcu4JrKsQ_H?i^=(ax%c5f=E=8fvcMF1-&pW(!5?+b-%y0` zRfDdigm0cUO*_GcQBafTorvC%d$5GJmERV4%`oz=R9T$U>V6@ypJD_1nq2=~$)5t5 z6{I!nOZ@O&HdH1V1HHkbUbPVYah!{nLjUeWBRWja#FSL)1G^VA&%$@8CPT`;qBNvaOR* zY;{=>w>0`jW17-AZs$*~viYV7vpqlE-LwJDNS})$4VH>enrIeZfDk zUz0zQ27ab`H^rG78L13h_&*86`rxE&^B~EHV^G8*%K2odH1M+#sX@qi@pt*fIn1!~ z+%WquME$xJZzmP+gF)e^%rbZ!CJ@TS66zUVaJft*ShQ00g~EgpMljxHta-TB`=yxd zOb@b@^~`^oihc?^@7})kpPjS6e10^dcWG|jt&;A_I_xsAT`d7G#JxXA-tlMiC8HEb z@422eQt_oaUgX0^T|1N4ARzU?ig*R2BK3Duc*m$h%A*50s6~;0-%!~N8cOA&b(b=~ z+ur3CC$1!|bo{tkKS5I>2tg>8sUJZrjDnLAv)YLmJn`R?5E9o3CDe#TMLNCeGt)C4 zPji{ds7XKyWdKp=i2)00DY=%T|Kv?~B6fgoI)UVN@X>_vyIhQyh8Uz-=X4aTSMioY)pw^61Qk8&zIu`&&#CIjI#R!jmlded~@Va4hlSd3? zhu#iQ5=Vixv&-|Xo`~`Fn2@u3;i3o1@nGG-mkcw!JVy%ELFRE}no(XV7^#{8FOegp zfw&5IgU(%On=6@bFBzUYvve@lva+*4*FBKv{#bG-B@bGY$r~YfAoYl3tmsi{3+=`N zAe8b7>&wZtJS$I;RIzo0+c@8`zTtDvH86FyO44gNTT?DBV@o&a zubN5zjra|LDaP$S&i91;itdOXKzaBB)*HM*y2`H`@EiBv2>!3w1dg5Zu1a2*229DM zEGQqDO5sQ}RBX+V`2Mq;lJ8v3Qf&}#Czj zLDkuU&rEF*pALo@1-FKD(?TuZ;tdkWlQ3?=k@Zzr^A9flhSvRNBoIE%hE(d5r;1rJ zAu}u@&VxI&w4>IJnxTLDVr3-S7q+=4v7R^FHASTP6M#ZX7=yb@_-^kpwt1;|-UEeN zWv*0zknLURXZfaw9Onx_v)y=&9Z8LXuV(B{82aabC%=`sOT0@Kaaz)2qI;mk-^#8s zi17XN1Y^J6tGeu!k%l{b?yQRLlYON3@@#E$yd1-xb*0P(1B`_ALo1F!eWBatJ0L$n zv^vzij=b~Hp26&e^?+`^`Owc>J0I;UdO^&qS*fHNd|z*Ym~`NpC^AiSg&}y+xMyiZ zc+%NRIKllCt#wWh1?h#rHszIuq+c8>m05>)V(t{N!$cF=pL-E{QLYk@2+#?TVd*c% zuJP2S`gzPNyb^)aZ{b(F_I7c&ouOk9d&Fvo?uGtzb{EPlm&&m79*iT;v;|^sV!x@t uh&EQ)bRslHnZ$L@_yjHwilJA>k7xsw))?vQ+9Us=K9x6b6)NRSgZ>Zlq}MY5