From 3cf68ec48034c89fcf2b207920962c44330444c8 Mon Sep 17 00:00:00 2001 From: treeform Date: Sun, 3 Oct 2021 20:11:18 -0700 Subject: [PATCH] way better --- tests/images/diffs/smooth1.png | Bin 376 -> 338 bytes tests/images/diffs/smooth2.png | Bin 841 -> 775 bytes tests/images/diffs/smooth3.png | Bin 371 -> 368 bytes tests/images/diffs/smooth4.png | Bin 415 -> 418 bytes tests/images/rendered/smooth1.png | Bin 369 -> 376 bytes tests/images/rendered/smooth2.png | Bin 896 -> 785 bytes tests/images/rendered/smooth3.png | Bin 366 -> 384 bytes tests/images/rendered/smooth4.png | Bin 390 -> 437 bytes tests/test_images_draw.nim | 72 ++++++++++++++++++++++++------ 9 files changed, 59 insertions(+), 13 deletions(-) diff --git a/tests/images/diffs/smooth1.png b/tests/images/diffs/smooth1.png index 9a5edb05e5877f8035363457e36070b1ba47600a..71154842cfbaa86d1a82994ff1ee37f800dd0f4f 100644 GIT binary patch literal 338 zcmeAS@N?(olHy`uVBq!ia0vp^DIm1lZ zKmNvCj5)KUS?fkcV%6C*md3Y5%_4sD6&+W2DB&2y(kZCoHbKHMX{a#xKW|RHcIM6e q{hz#uaP~9KP2bKKuG?_%46AWw+Ag)?m>a;bV(@hJb6Mw<&;$V5uV*g+ literal 376 zcmeAS@N?(olHy`uVBq!ia0vp^DImY`Zq{`)U9GpBjm9_!;XHrDv_y i%-sC@H{0=pupDD1)b~pUXO@geCx@jfn^V diff --git a/tests/images/diffs/smooth2.png b/tests/images/diffs/smooth2.png index 08fc36e4de98f5d71a97716e451ebaa484e2e0dc..4bec07b1ff211a4ce8dc73ce0a402192f995a679 100644 GIT binary patch literal 775 zcmeAS@N?(olHy`uVBq!ia0vp^DIm1Ik5RtPbrB|!x{!%ni>{j`zdh=;QT7FvDb?M_g z3`{+JOV|`wJD$iA*d*1m1{X71aDue)ZllfNn?B~{GYTZw%s0$CzdG-cLf^xOycgXB z*?#st%v{{j^r!9N%S9Ybe_9`AF6wCfBYya@vmn#Wu7{ZmI~roT9==?_(a@7rA*Jy| zAy7ijp3Bg~r0saG6PFS9;m59uEHir_7A~65n37mgqv4`(Q$kLhi_=52?Rc{jLl97E zfk^X)go>{ktqM63ak^fD9NKN+?LiEO`W{|gpwhe|q2i}Tr$UxQoSv6ZhgRG4_DKwj z`W`-A;KLTldU$rfkzk4`PrlwMl?kDSdnz@A9m0-(c(#D0`3>vgZg)FK-9jvz z!g=)hR2fp;azuAJ9H%WknadDuMK>!2CEo&~h6C2GBb2B+syLKLSXjI6^*Vrhb zA;I#NRaK7Jm%(xM;xh*wCOceMrSaL|f{VZwsZ%jLCXy^`n~da{RT~sar^xV3VQC5p z{A3WI#1Z6t@~Fc}1rJtLd1lcDg|aD9JRvMi5rMA^0u(utoL3%oII7UWx>Sx?uwg-# z2p^9NQ`4$|3IhQ_j#F+A4>_bLXmGdkGYd8?xT!HmqCK_iP`gOsg}F#9j|xxIzQq~I3WWksG_I#Dn!obAE<;m8lka|4hifYdC9v1B=gKVO Uik4V?048t-Pgg&ebxsLQ0O8gt5C8xG delta 819 zcmZo?JIOXdxt>|T)5S5Qg7NKDYpI?fHNgpvNV0pkGG5^luAFMx{3Yi}; z9@tndGGF1ofzE%8e-3p=Hq`%^1O!F6!SNMNy!=HsOnpKh`_62Nl zOiPZa3n+2ilo(+bVB)wbIpUW_mBLX2om>&!36CVE>2>jWnDTfFyD~4aYFk?0eo1bL zWZTl#OJYkb+m<$8;&Wj;e90k`S*bm7tNTiRrS8P7t}D5f`V+T0uVjD3b~vj!i2aCc zTd4d}n~rFn)p}l$0^cRVY^M|{+)aom4LH?M(w;cg{UrY--L_CMRecYjq~(+vh3RX)}3M3Ui}JsO`K#QN(KpE`T8bM~zLv|ved&vJ%y3^6&eHzp~c5;fps zxaP?{kKa^lF+f|crCV6 zr=Crl`Oq$B&HjU@8aLzxyh_-xN#TsGmn~12T+2?^mE8wlH5im@d^L=)6?n$Bl$UKa z_n{|&w-Pt}Qt%O5s>_zmeCSEQt>g`53O;PE%*|U_6VC>g7(`SHT;p-&Zq97j@Jgdf z!iT*j)cN9(geZkI7F~L5mzfif25d2$p~i8#Z&7{!!4k&^GZA?SAL*8}ZXcTuesPR2 z>eAT3XoV}*V z{*yV;e$kI(33iS*%%?bC&u@Dw-cswhv;6nWUvu&W(lmBYK3#vT?4P4V;EvJ&c?DTm f0@cBuLa#~h++MbA-r0;~1|aZs^>bP0l+XkKZ!%fv diff --git a/tests/images/diffs/smooth3.png b/tests/images/diffs/smooth3.png index 59ca693ff4460a3e635adbb8332b577628007341..d7b994513ef132955f9990485738d5437fb18465 100644 GIT binary patch delta 90 zcmey&^nq!Dij=vhi(^OyeCIeHuuc$kuj5cAi<)Kn%WLP)y`5|4+Hs$`w(G!)*H2#k&en~Ku5Ege s4)f@z&|R}9>D=|d>JAejC%*@yIUzb~-93JiM&Pgg&ebxsLQ05~9zd;kCd literal 415 zcmeAS@N?(olHy`uVBq!ia0vp^DImyU#8+e7)F zn_W{Ak{|2t=?d=*|EQH&%qxBHR?tmm4YS`fS|lsJe)_aDrp)7$pOIBh{sjlAHb)_r zX$l)y8dW)T91}R1yaghf4iF<`s*t_2>$`{1chNPBmg<&jJN0Uw1y4#3pC~oKds6gu z+pb%jhrEb2j5sUtt6HxsM(ro1q^rwPgg&ebxsLQ0B*dB3jhEB diff --git a/tests/images/rendered/smooth1.png b/tests/images/rendered/smooth1.png index c83aeca821e91d58b915316983a999740530882a..08ee9412006bdd03f04b10518fd3027e221acfe8 100644 GIT binary patch delta 179 zcmey!^n+=Fil4owi(^Oyw=Kxxuj;-+r&(Vc+untR<`F#ErQV7dVB_-?o2N zao+DapLeW#y`KN`Tm{3XBOF4?9zD1jXVgzby_QI>;rre?v;W-#-n7FWs-aw~8ySGW M)78&qol`;+09$@f=l}o! delta 142 zcmV;90CE5L0`UTnBuqF-L_t(|0qxPT4S@j^M$wlT$pE4jy+Mqo7YnEjq9;TtO8+g+ zNnZVu@2+NMH#5hX*}KIzc)WrfK0($qZs84XuOOS5*$xF~L0XZ)V3E*H59GJ`xASUd wHZ!yR_h-Hmk?|uTc?Y@A%yni?Zt)E+Plj{!rHrxDJpcdz07*qoM6N<$f|Slb>i_@% diff --git a/tests/images/rendered/smooth2.png b/tests/images/rendered/smooth2.png index 56d925a122ce3eababd315ed33a5a6af65520fe9..602243d285a14874a0de536f9ff085856fa3817f 100644 GIT binary patch literal 785 zcmeAS@N?(olHy`uVBq!ia0vp^DImED&QdBu2Ii13qCQQY}EM+X(8FT7wnRff(#y4N>;wuCa=A3_Cv^VZ_-G2UlAt@Jw zC2|3WnrePOob%J%ko~2s^CqW2)|*^yDUFNRHktBx zO1rYAtd^Lh=4E=~nxTsB6s-wIe#~O?5a>@ zwSf@^0<0Wat%q6~GaM$Eb4jx;Vsebr=#l8)V~Je6AxXhYAf@$CPh*DT1T!vcwnc1? zQ5u2<0=68hTsxZ@of;N|2P!2lFi?0AIVD3vLxkg(eixrxVZQnK&u{i^-IOSC3LFCR z^S7+ap1JJh@#;6NEROpZx*T&zbi7bL<%NWX35U>>%P&Q~8Gnta5MU9BvAx3T;ZHEN Z?Pbh$HPgPVnE*=g44$rjF6*2UngF0YBF+E+ delta 874 zcmbQp*1$eNxt`hG)5S5Qg7NLuymI!(Pw5>BKPUNjeA>4?sX~L&Pjc% zdy^wNs)92t^GcFzE{~BHnhaZIY;pdE2p;NxUtr&dH7^nGUrrG+dy^(P9}9WR6gIwdbqP{_#AFf<4-5HJy)5+R|X!J#Fqs>a5}*W~5e+1t3NVZo(< zpo9e(3M)jWgh*&;act_FB*g5>?idyrl)OMi;e?bIAI}sXmPp5wt&NkK6w0Q|kd+qkJg!AyjWX9_RN#swP^7OYXwFy|6xJH=PuRJ3qIq5_w|6scB0=8FvrLNwM$ zba1g8bxSvr+I*AHZ0wy9yrPz!ZoBnkt z2{O-QbgXyfY*#$F+HCe&wVzi6Lqk=&k2=j-Ht}wrdhPxBch=@c-^|;7sdVm@(%Pc4 zPR|@J_-kBCHk{xo@J06Nqeq9n%w9N?)iFNs+Uu=1&tJLj)2!ecsW)BizvO*m{-%be k#VuV7nwnVCGdz{wWAx><4NWNWUd{jnp00i_>zopr0OYG>-v9sr diff --git a/tests/images/rendered/smooth3.png b/tests/images/rendered/smooth3.png index 59db7c671e9764aa49a98a380c674d2bb478d955..8f8c41f98f6db7fa93d88698cbf949bdf16c8368 100644 GIT binary patch delta 180 zcmV;l089Vw0)PXMBsWJ%L_t(|0qxwu3Bo`SK+%9*Sch$-jiimW4I4}u5erbfBz)yP znDg%N?{nGreII08UO$=05Rt$$CQb=*yWOUBU8no~{?jwh^K`vl4^4PVkjLXOZQFL} zB4=2ZMUWDa@g0%RKatN3DCTd1ycQW_{QMk!P44BCi*kHVkQhN?1c?zOMv#xD(_O|G i3B(J%Xz{q*iCGUyMkJpkres7=iypqpo+G}-T$)+P5LdqUJ3Wmfp&geQmtDM*O z_{Ze_hU*&slV|qN(;itEQle+XM;6B$iH^GvtI*dOmji{yOW<(`l}j`_$on qIN^Tz?KHzxid!^P;?zQ+|`lr(!DX9x%pYc_E%AfW1>?}X1bi`Tu*nDy-H<;u&W& z9rdQ4F4%v+zHVBoWZw4M;llHTo^*WVzg8-`#ASknV-icJpo$x<89!$$^dC>2vFzpZ z^m)${Wsa|}n;finN_P3je~J5K9~XED*r`MP_32u{uGiagZ@-ML^d!nvGt_^-*;l;E T?m;Oqd>K4l{an^LB{Ts58>xvU diff --git a/tests/test_images_draw.nim b/tests/test_images_draw.nim index 1932781..5e7ba31 100644 --- a/tests/test_images_draw.nim +++ b/tests/test_images_draw.nim @@ -136,24 +136,42 @@ proc doDiff(rendered: Image, name: string) = echo &"{name} score: {diffScore}" diffImage.writeFile(&"tests/images/diffs/{name}.png") -block: - let - image = newImage(100, 100) - path = newPath() - path.rect(0, 0, 99, 99) - image.fillPath(path, rgba(0, 0, 0, 255), translate(vec2(0.5, 0.5))) - doDiff(image, "smooth1") +# block: +# let +# image = newImage(100, 100) +# path = newPath() +# path.rect(0, 0, 99, 99) +# image.fillPath(path, rgba(0, 0, 0, 255), translate(vec2(0.5, 0.5))) +# doDiff(image, "smooth1") block: let a = newImage(100, 100) - b = newImage(100, 100) - path = newPath() - path.rect(-25, -25, 50, 50) - path.transform(rotate(45 * PI.float32 / 180)) - b.fillPath(path, rgba(0, 0, 0, 255), translate(vec2(50, 50))) + b = newImage(99, 99) a.fill(rgba(255, 255, 255, 255)) - a.draw(b, translate(vec2(0, 0.4))) + b.fill(rgbx(0, 0, 0, 255)) + a.draw(b, translate(vec2(0.5, 0.5))) + doDiff(a, "smooth1") + +# block: +# let +# a = newImage(100, 100) +# b = newImage(100, 100) +# path = newPath() +# path.rect(-25, -25, 50, 50) +# path.transform(rotate(45 * PI.float32 / 180)) +# b.fillPath(path, rgba(0, 0, 0, 255), translate(vec2(50, 50))) +# a.fill(rgba(255, 255, 255, 255)) +# a.draw(b, translate(vec2(0, 0.4))) +# doDiff(a, "smooth2") + +block: + let + a = newImage(100, 100) + b = newImage(50, 50) + a.fill(rgba(255, 255, 255, 255)) + b.fill(rgbx(0, 0, 0, 255)) + a.draw(b, translate(vec2(14.64, 50.4)) * rotate(45.toRadians)) doDiff(a, "smooth2") block: @@ -173,3 +191,31 @@ block: b.fill(rgba(0, 0, 0, 255)) a.draw(b, translate(vec2(25.2, 25.6))) doDiff(a, "smooth4") + +block: + let + a = newImage(100, 100) + b = newImage(10, 10) + a.fill(rgba(255, 255, 255, 255)) + b.fill(rgbx(255, 0, 0, 255)) + let m = translate(vec2(50, 50)) * rotate(30.toRadians) + a.draw(b, m) + doDiff(a, "smooth5") + +block: + let + a = newImage(100, 100) + b = readImage(&"tests/images/turtle.png") + a.fill(rgba(255, 255, 255, 255)) + let m = translate(vec2(50, 50)) * rotate(30.toRadians) + a.draw(b, m) + doDiff(a, "smooth6") + +block: + let + a = newImage(100, 100) + b = readImage(&"tests/images/turtle@10x.png") + a.fill(rgba(255, 255, 255, 255)) + let m = translate(vec2(50, 50)) * rotate(30.toRadians) * scale(vec2(0.1, 0.1)) + a.draw(b, m) + doDiff(a, "smooth7")