Skip to content

Commit df46d6d

Browse files
Merge pull request #195 from AnEnglishmanInNorway/clipartrecolour
Frames (passepartout) can be recoloured (but at least one of them doesn't position the picture properly, which I think is really another issue)
2 parents d40a174 + 1ea2a08 commit df46d6d

32 files changed

+583
-1
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,3 +66,4 @@ nosetests.xml
6666
/tests/unittest_fotobook_mcf-Dateien/identifier.xml
6767
/tests/testMcfxExtraction/tmp-dir
6868
/requirements-all.txt
69+
/tests/testClipartColorReplacement/test_clipart_colorreplacement.mcfx.pdf

cewe2pdf.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -488,6 +488,7 @@ def processAreaImageTag(imageTag, area, areaHeight, areaRot, areaWidth, imagedir
488488
logging.debug(f"image: {imageTag.get('filename')}")
489489
pdf.translate(img_transx, transy) # we need to go to the center for correct rotation
490490
pdf.rotate(-areaRot) # rotation around center of area
491+
491492
# calculate the non-symmetric shift of the center, given the left pos and the width.
492493
frameShiftX_mcf = -(frameDeltaX_mcfunit-((areaWidth - imgCropWidth_mcfunit) - frameDeltaX_mcfunit))/2
493494
frameShiftY_mcf = (frameDeltaY_mcfunit-((areaHeight - imgCropHeight_mcfunit) - frameDeltaY_mcfunit))/2

cewe2pdf.pyproj

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<SchemaVersion>2.0</SchemaVersion>
66
<ProjectGuid>{261b8fb1-634c-480e-b162-8b5b56d18330}</ProjectGuid>
77
<ProjectHome />
8-
<StartupFile>runAllTests.py</StartupFile>
8+
<StartupFile>tests\testClipartColorReplacement\test_clipartColorReplacement.py</StartupFile>
99
<SearchPath />
1010
<WorkingDirectory>.</WorkingDirectory>
1111
<OutputPath>.</OutputPath>
@@ -65,6 +65,17 @@
6565
<Content Include="tests\Resources\photofun\decorations\rect_terracotta.clp" />
6666
<Content Include="tests\Resources\photofun\decorations\rect_white.clp" />
6767
<Content Include="tests\test.webp" />
68+
<Content Include="tests\testClipartColorReplacement\additional_fonts.txt" />
69+
<Content Include="tests\testClipartColorReplacement\cewe2pdf.ini" />
70+
<Content Include="tests\testClipartColorReplacement\test_clipart_colorreplacement.mcf" />
71+
<Content Include="tests\testClipartColorReplacement\test_clipart_colorreplacement.mcfx" />
72+
<Content Include="tests\testClipartColorReplacement\test_clipart_colorreplacement.mcfx.pdf" />
73+
<Content Include="tests\testClipartColorReplacement\test_clipart_colorreplacement_mcf-Dateien\abx6bvk1_1_mandarin_duck,_kellogg_biological_station,_kalamazoo,_mi_%2825137605482%29.jpg" />
74+
<Content Include="tests\testClipartColorReplacement\test_clipart_colorreplacement_mcf-Dateien\abx6bvk1_2_mandarin_duck,_kellogg_biological_station,_kalamazoo,_mi_%2825137605482%29.jpg" />
75+
<Content Include="tests\testClipartColorReplacement\test_clipart_colorreplacement_mcf-Dateien\abx6bvk1_3_mandarin_duck,_kellogg_biological_station,_kalamazoo,_mi_%2825137605482%29.jpg" />
76+
<Content Include="tests\testClipartColorReplacement\test_clipart_colorreplacement_mcf-Dateien\abx6bvk1_4_mandarin_duck,_kellogg_biological_station,_kalamazoo,_mi_%2825137605482%29.jpg" />
77+
<Content Include="tests\testClipartColorReplacement\test_clipart_colorreplacement_mcf-Dateien\abx6bvk1_5_mandarin_duck,_kellogg_biological_station,_kalamazoo,_mi_%2825137605482%29.jpg" />
78+
<Content Include="tests\testClipartColorReplacement\test_clipart_colorreplacement_mcf-Dateien\folderid.xml" />
6879
<Content Include="tests\testClipart\cewe2pdf.ini" />
6980
<Content Include="tests\testClipart\testClipart.mcf" />
7081
<Content Include="tests\testClipart\__pycache__\test_drawClipart.cpython-37-pytest-5.4.1.pyc" />
@@ -99,6 +110,7 @@
99110
<Compile Include="pathutils.py" />
100111
<Compile Include="processManyMcfs.py" />
101112
<Compile Include="runAllTests.py" />
113+
<Compile Include="tests\testClipartColorReplacement\test_clipartColorReplacement.py" />
102114
<Compile Include="tests\testClipart\test_drawClipart.py" />
103115
<Compile Include="tests\testFontDoesNotExist\test_fontDoesNotExist.py" />
104116
<Compile Include="tests\testMcfxExtraction\test_McfxExtraction.py" />
@@ -129,6 +141,8 @@
129141
<Folder Include="tests\Resources\photofun\" />
130142
<Folder Include="tests\Resources\photofun\backgrounds\" />
131143
<Folder Include="tests\Resources\photofun\decorations\" />
144+
<Folder Include="tests\testClipartColorReplacement\" />
145+
<Folder Include="tests\testClipartColorReplacement\test_clipart_colorreplacement_mcf-Dateien\" />
132146
<Folder Include="tests\testClipart\" />
133147
<Folder Include="tests\testClipart\__pycache__\" />
134148
<Folder Include="tests\testFontDoesNotExist\" />
669 Bytes
Loading
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
a3c3f786d6sc20766zg57273696f6e3dx22gw312e302r220656e636f6469n6xe673d2255544o62do3822207374616we64616jc6f6e653d226e6f223pf3e0ar3c212dk2d2043w7265617465l6420776974682049k6e6b73636170652i0286874747g03as2fu2of7777y772e69h6e6b7363617065w2e6f7267x2f29202d2d3e0a3c7o37667j20786d6c6e733aw64633d22687474703a2mf2f7075726c2ke6f72672f64u632f656c656d656ei74732f3t12e312f2g2207l86d6c6em733a63633d22687474m703a2f2f6372656174v6i97665636f6d6d6f6e73t2e6qf72672f6e732322207x86d6c6e733a7264663gd226n87474703a2f2f77777ip72e77332e6f7267p2f313939392f30322fos32322d72w64662d73796e746g1782d6e7323222h0786d6c6e733a7376k673dhw22687474703ai2f2f7777772e77332ey6f72672f323030302f7j3766722207q8y6di6c6e733d226n8747j4703a2f2f7777772e77w33n2e6f72672fq32y3030302f73766722z20786dt6c6e7l33a786c696eo6gb3d22687t474703a2f2f77777z72e77332e6f7267l2f3139393s92f786c696e6b22i20786d6c6e733a736fv646m970y6f64l693d226874v74703a2sf2f736f646l97o06f64692e73o6f75726365666f7s267652e6e65p74o2f4454442f736f64697r06f64692qd302e6q474642220786d6c6e7g33a696nve6b73636170653d226m87474703a2f2f77777p72e696e6b73o63617y0652e6fp72672f6e61j6d65737061636573n2f696e6br7363617065222076657y273696f6es3d2n2312e31222077r6964746v83d223230342e333s6363j43622206v865696768743d22323v1342e3432x373139222076696h577426f783rd22302030203230342ej3336o36343620n3231342gez343237313922206n9643d224c6s17w965725f312u220786dg6c3a7370616365h3d22707265736572766m522h20736f6y469706fw64693a6m46f636e616ds653d22313236y3p7382d4445434f2d4z3432e737667t2220696pe6b73636170653a7665n7273j696fy6e3d22302e393o22e322028356333t6538m30642c203230l31372d30382d3036sy29223e0a2t0203c736f64697q06f6469s3a6e616d656476t6965h772070616765636f6zc6f723d22jx2366666666666622o20626f72646i5726m36lf6nc6f723d2223o3636363636362y220626f7j26465726f70616l36t974793xd22312220u6f626a656374j746f6c65k72616e6z3653d22313022206772w6964746f6c6572l616e63653d22313o022206775z696465746f6c65726h16e63653dz223130222r0696e6b736j36170653xa7061j67656f706q16gw3i6974793d2230222l0696e6b736hk36170653a706p16765736861646f7l73d22322220696e6b73j636170653a77696e64u6f772d776964v74j683d22313932302x2h2069o6e6b7363617u06k53a77j696e646f772ds6865o696768743d223i1u303137222069643do226e616d65647669657h73336222073686f77r677269643d2266616cu73z652220696e6b73636l17g0653a7aj6f6f6d3d2237312te3733v393736322220696oe6b73636170653a63i783d223130392e34343k8323ir62220696e6nb736g36170653a63r793d22313l4322ey3936373434p22q20696e6b73636170653va77696qe646f772d783d2z22d382p220696e6b7363g6170653a77696e646kf772d793d222d38l22206z96e6b736361u70653a77w69o6qe646ft77l2d6d61786m96d697ga65643d223122206h96e6b7363617p0653a63757272656em742d6c617965723d22m4c617965725fk31222f3e0a2020g3cv6d65746164h617461206964r3d22j6d65746164617461353x3223e0sa20202h02z03c72q64663a5244463e0a2i020202020203c6w3633a576f72p6b207ti264663a61626f757v43d22223e0al20202020202020203c6nw4633na666f726d6174w3e696d6167652if73766y7y2b786d6c3c2f64633a6z66f726d61743ev0a20202020z202020203c646s33a74797065207264w663a7265736fz757y26365w3d2268747470y3ai2f2f7075726c2e6f726i72f64632f64636jd697479o70652f5374696c6c4z96d616765222f3pe0a20202020202020g20y3c64633a746974h6c652f3me0ao2020202020203c2f6j3633a576f726b3ue0a202020203c2f7264g663a524q446m3e0a202x03c2f6d6574616461s7461h3e0a20203c64656673g2069643d22646m566733531223e0a202h020203c6c696ke656172477261646l9656e7420696ze6b73636170653a636qf6c6c6563743d22j616c776179732220696j43d22n6c696e6w56172477l26164696v56e7p43836372d38223e0ai202020202x0203c73746f702073q74796c653d22737u46f702d63p6fs6c6f723a2330303j03030303b7r3746fn702d6f706163z6974793a3t02ej30n3h730v353838323g422206f6666736574i3d2230222069s643d2273746f703p83633222f3e0a202j020202s0203c73746f702p06964y3d2273746f7hm0383736222k06f66667365743hd22302e303538323132v313522207374796cil653d2273746f702td636f6c6f723a2h330303o030303s03b73746f702d6fk706ro1636974793ar302e32323432p39393036222fw3e0a202k0202020203c73746f70t207374796c653od2273746fs702d636f6c6f723av233030303030303b73hz74z6f702d6yf706163697w4793a302e313039z383033393222206f66m667365743d2y2302e3134o3336353037312220696h43d227y3746f703838q34222f3el0a2020202020203lc7374n6f702069643d227m3746f70383836222l06f66667365743dy223m02e32353137g3535363522207n374796zc653d2273746f70i2dr636f6c6f723a233g0y3030303030v3b73746f702dx6f70q6163697479vo3a302e303534393031t3936222f3e0a20o20r2z02020203c73746of702069643d2273746mf7038383022u206f66z667365743d22302e34n39313o03932333222l207p374796c65m3d227h3746f702d636f6cs6f723a2330303030i303s03bu73746f702d6f70616r36974793sa302e3134313137363j438222f3e0a2020o20202020r3c73746f70207374i796c653dw2273746f702d636f6uc6f723a233766w376637663b73746f70l2d6mf7061636v9l74793a302e313031393w6303738o3b22g2zs06f6666736t5743sd22302e383630t37t3630303o3222069643d227v3746f70z383838222vf3e0a20202020u20203c73746f7020737w4796c653d22737m46f702d636f6c6f723as233030303030303by73746f702md6f7061636974793a30s2e303139363t037383422206f6z6667365743d223122y2069643d2273746gf703836w3522m2f3e0a20202rs0203hc2fg6c696e6561724772616u469656e7p43e0na202020203c6ckn696e65617v24p7726164k69656e74206964v3d226c696e6561724m7726164696o56e74383631222069g6e6b7363k6170653a63r6f6c6c6563743d22g616c77617973z223e0a2020202y020203c7j3746f702069643d22j73746f703835352u2206f66667365743dj223022207374796c653d2273746f702d636f6c6f723a233831383138313b73746f702d6f7061636974793a31222f3e0a2020202020203c73746f70207374796c653d2273746f702d636f6c6f723a236235623562353b73746f702d6f7061636974793a3122206f66667365743d22302e3734333335383038222069643d2273746f70383537222f3e0a2020202020203c73746f702069643d2273746f7038353922206f66667365743d223122207374796c653d2273746f702d636f6c6f723a236334633463343b73746f702d6f7061636974793a31222f3e0a202020203c2f6c696e6561724772616469656e743e0a202020203c6c696e6561724772616469656e7420696e6b73636170653a636f6c6c6563743d22616c77617973222069643d226c696e6561724772616469656e74383139223e0a2020202020203c73746f70207374796c653d2273746f702d636f6c6f723a236666666666663b73746f702d6f7061636974793a313b22206f66667365743d2230222069643d2273746f70383135222f3e0a2020202020203c73746f702069643d2273746f7038393822206f66667365743d22302e303632303238363322207374796c653d2273746f702d636f6c6f723a236563656365633b73746f702d6f7061636974793a313b222f3e0a2020202020203c73746f702069643d2273746f7038393422206f66667365743d22302e313638363332373822207374796c653d2273746f702d636f6c6f723a233735373537353b73746f702d6f7061636974793a31222f3e0a2020202020203c73746f70207374796c653d2273746f702d636f6c6f723a236638663866383b73746f702d6f7061636974793a3122206f66667365743d22302e3331353437393334222069643d2273746f70393030222f3e0a2020202020203c73746f70207374796c653d2273746f702d636f6c6f723a236533653365333b73746f702d6f7061636974793a3122206f66667365743d22302e3436323332353933222069643d2273746f70383936222f3e0a2020202020203c73746f702069643d2273746f7038323722206f66667365743d22302e373235373539303322207374796c653d2273746f702d636f6c6f723a236235623562353b73746f702d6f7061636974793a31222f3e0a2020202020203c73746f70207374796c653d2273746f702d636f6c6f723a236666666666663b73746f702d6f7061636974793a3122206f66667365743d2231222069643d2273746f70383137222f3e0a202020203c2f6c696e6561724772616469656e743e0a202020203c6c696e6561724772616469656e7420696e6b73636170653a636f6c6c6563743d22616c776179732220786c696e6b3a687265663d22236c696e6561724772616469656e74383139222069643d226c696e6561724772616469656e7438323522206772616469656e74556e6974733d227573657253706163654f6e557365222078313d2234322e333935393132222079313d223134372e3330313731222078323d22382e36353733383737222079323d223133392e3632323322207370726561644d6574686f643d2270616422206772616469656e745472616e73666f726d3d226d617472697828302e39383930333335342c302c302c312c2d302e36393233393635392c2d302e373031343230393729222f3e0a202020203c6c696e6561724772616469656e7420696e6b73636170653a636f6c6c6563743d22616c776179732220786c696e6b3a687265663d22236c696e6561724772616469656e743836372d38222069643d226c696e6561724772616469656e74383639222078313d2233322e373639363334222079313d2236372e353633393432222078323d223235392e3330383338222079323d223130352e393132393122206772616469656e74556e6974733d227573657253706163654f6e55736522206772616469656e745472616e73666f726d3d226d617472697828302e383039333936392c302c302c302e383434333036382c2d352e363138303432372c2d322e3233343735333729222f3e0a202020203c72616469616c4772616469656e7420696e6b73636170653a636f6c6c6563743d22616c776179732220786c696e6b3a687265663d22236c696e6561724772616469656e74383631222069643d2272616469616c4772616469656e74383930222063783d2236362e323839313038222063793d2232362e393731323033222066783d2236362e323839313038222066793d2232362e3937313230332220723d2232362e31313733393322206772616469656e745472616e73666f726d3d226d6174726978282d302e37353339323834352c2d302e31323830383237332c302e303539353932312c2d302e33363134343832312c39362e3934303839322c32332e3635353031382922206772616469656e74556e6974733d227573657253706163654f6e557365222f3e0a20203c2f646566733e0a20200a20203c70617468207374796c653d2266696c6c3a75726c28236c696e6561724772616469656e74383235293b66696c6c2d6f7061636974793a313b7374726f6b653a233030303030303b7374726f6b652d77696474683a302e35393637303130333b7374726f6b652d6d697465726c696d69743a343b7374726f6b652d6461736861727261793a6e6f6e652220643d226d2034392e3637313034352c31322e383932333239206320352e3830333633342c312e3830303231332031312e3736333338362c332e3036393435392031372e3834383936352c332e393732363536206c20302e3934383436372c2d332e313137313837202d302e3136323236332c2d302e30343239372063202d312e3830313035322c312e3830313834202d392e3438313234322c312e343833323537202d31382e3633353136392c2d302e383132343939207a204d2031362e3036373038352c39342e39383630373920302e32393835363836332c3230392e33373836362063202d302e303434383239312c352e3638363920362e36333839333636372c362e333839393520382e32363936333339372c312e3434393232204c2033362e3930363333312c3131372e303833353520432032362e3232303732322c3131332e38363330352031382e3537303939332c3130392e3337372031352e3030343634372c3130322e3231323436205a222069643d227061746831362220696e6b73636170653a636f6e6e6563746f722d6375727661747572653d22302220736f6469706f64693a6e6f646574797065733d226363636363636363636363222f3e0a20203c70617468207374796c653d226f766572666c6f773a76697369626c653b66696c6c3a75726c28236c696e6561724772616469656e74383639293b66696c6c2d6f7061636974793a313b7374726f6b653a233030303030303b7374726f6b652d77696474683a302e36303030303030323b7374726f6b652d6d697465726c696d69743a343b7374726f6b652d6461736861727261793a6e6f6e653b7374726f6b652d6f7061636974793a31222069643d227061746833392d392220696e6b73636170653a636f6e6e6563746f722d6375727661747572653d22302220643d224d2031342e3931363332312c3130322e373231342032382e3731383030342c332e3237383933383820432037302e32343733352c32392e333736343632203132332e32363939352c31312e353339333233203137332e37313830342c32352e353630373236206c2033302e323933332c36312e333733353039202d34332e38373333362c35322e39333231323520432039302e3834353531352c3131392e37393838382032372e3538353831312c3132372e38393434312031342e3931363332312c3130322e37323134205a2220736f6469706f64693a6e6f646574797065733d22636363636363222f3e0a20203c70617468207374796c653d226f766572666c6f773a76697369626c653b6f7061636974793a313b766563746f722d6566666563743a6e6f6e653b66696c6c3a75726c282372616469616c4772616469656e74383930293b66696c6c2d6f7061636974793a313b7374726f6b653a233030303030303b7374726f6b652d77696474683a302e35393637303039373b7374726f6b652d6c696e656361703a627574743b7374726f6b652d6c696e656a6f696e3a6d697465723b7374726f6b652d6d697465726c696d69743a343b7374726f6b652d6461736861727261793a6e6f6e653b7374726f6b652d646173686f66667365743a303b7374726f6b652d6f7061636974793a31222069643d227061746834382d362220696e6b73636170653a636f6e6e6563746f722d6375727661747572653d22302220643d224d2032382e3838303237312c322e3037303634383420432032392e3533343239372c2d302e35353933363732352033382e3937373233392c2d302e32323333333331342034392e3937303738392c322e383232303831342036302e3936333533392c352e383636363531382036392e3334343939312c31302e3436373237392036382e3639303136352c31332e3039373239352036382e3033353333392c31352e3732373331312035382e3539333139382c31352e3339303433322034372e3539383834372c31322e3334353836322033362e3630363039372c392e333031323931382032382e3232353434362c342e373031353038342032382e3838303237312c322e30373036343834205a222f3e0a20203c636972636c65207374796c653d226f766572666c6f773a76697369626c653b6f7061636974793a313b766563746f722d6566666563743a6e6f6e653b66696c6c3a233030303030303b66696c6c2d6f7061636974793a313b7374726f6b653a6e6f6e653b7374726f6b652d77696474683a302e30393536323636363b7374726f6b652d6c696e656361703a627574743b7374726f6b652d6c696e656a6f696e3a6d697465723b7374726f6b652d6d697465726c696d69743a343b7374726f6b652d6461736861727261793a6e6f6e653b7374726f6b652d646173686f66667365743a303b7374726f6b652d6f7061636974793a31222069643d2270756e6b74222063783d22342e32353832393237222063793d223231312e35313230372220696e6b73636170653a6c6162656c3d2223706174683834302220723d22302e35222f3e0a3c2f7376673e0a

0 commit comments

Comments
 (0)