Skip to content

Commit

Permalink
Merge pull request bash0#195 from AnEnglishmanInNorway/clipartrecolour
Browse files Browse the repository at this point in the history
Frames (passepartout) can be recoloured (but at least one of them doesn't position the picture properly, which I think is really another issue)
  • Loading branch information
AnEnglishmanInNorway authored Jan 6, 2025
2 parents d40a174 + 1ea2a08 commit df46d6d
Show file tree
Hide file tree
Showing 32 changed files with 583 additions and 1 deletion.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -66,3 +66,4 @@ nosetests.xml
/tests/unittest_fotobook_mcf-Dateien/identifier.xml
/tests/testMcfxExtraction/tmp-dir
/requirements-all.txt
/tests/testClipartColorReplacement/test_clipart_colorreplacement.mcfx.pdf
1 change: 1 addition & 0 deletions cewe2pdf.py
Original file line number Diff line number Diff line change
Expand Up @@ -488,6 +488,7 @@ def processAreaImageTag(imageTag, area, areaHeight, areaRot, areaWidth, imagedir
logging.debug(f"image: {imageTag.get('filename')}")
pdf.translate(img_transx, transy) # we need to go to the center for correct rotation
pdf.rotate(-areaRot) # rotation around center of area

# calculate the non-symmetric shift of the center, given the left pos and the width.
frameShiftX_mcf = -(frameDeltaX_mcfunit-((areaWidth - imgCropWidth_mcfunit) - frameDeltaX_mcfunit))/2
frameShiftY_mcf = (frameDeltaY_mcfunit-((areaHeight - imgCropHeight_mcfunit) - frameDeltaY_mcfunit))/2
Expand Down
16 changes: 15 additions & 1 deletion cewe2pdf.pyproj
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{261b8fb1-634c-480e-b162-8b5b56d18330}</ProjectGuid>
<ProjectHome />
<StartupFile>runAllTests.py</StartupFile>
<StartupFile>tests\testClipartColorReplacement\test_clipartColorReplacement.py</StartupFile>
<SearchPath />
<WorkingDirectory>.</WorkingDirectory>
<OutputPath>.</OutputPath>
Expand Down Expand Up @@ -65,6 +65,17 @@
<Content Include="tests\Resources\photofun\decorations\rect_terracotta.clp" />
<Content Include="tests\Resources\photofun\decorations\rect_white.clp" />
<Content Include="tests\test.webp" />
<Content Include="tests\testClipartColorReplacement\additional_fonts.txt" />
<Content Include="tests\testClipartColorReplacement\cewe2pdf.ini" />
<Content Include="tests\testClipartColorReplacement\test_clipart_colorreplacement.mcf" />
<Content Include="tests\testClipartColorReplacement\test_clipart_colorreplacement.mcfx" />
<Content Include="tests\testClipartColorReplacement\test_clipart_colorreplacement.mcfx.pdf" />
<Content Include="tests\testClipartColorReplacement\test_clipart_colorreplacement_mcf-Dateien\abx6bvk1_1_mandarin_duck,_kellogg_biological_station,_kalamazoo,_mi_%2825137605482%29.jpg" />
<Content Include="tests\testClipartColorReplacement\test_clipart_colorreplacement_mcf-Dateien\abx6bvk1_2_mandarin_duck,_kellogg_biological_station,_kalamazoo,_mi_%2825137605482%29.jpg" />
<Content Include="tests\testClipartColorReplacement\test_clipart_colorreplacement_mcf-Dateien\abx6bvk1_3_mandarin_duck,_kellogg_biological_station,_kalamazoo,_mi_%2825137605482%29.jpg" />
<Content Include="tests\testClipartColorReplacement\test_clipart_colorreplacement_mcf-Dateien\abx6bvk1_4_mandarin_duck,_kellogg_biological_station,_kalamazoo,_mi_%2825137605482%29.jpg" />
<Content Include="tests\testClipartColorReplacement\test_clipart_colorreplacement_mcf-Dateien\abx6bvk1_5_mandarin_duck,_kellogg_biological_station,_kalamazoo,_mi_%2825137605482%29.jpg" />
<Content Include="tests\testClipartColorReplacement\test_clipart_colorreplacement_mcf-Dateien\folderid.xml" />
<Content Include="tests\testClipart\cewe2pdf.ini" />
<Content Include="tests\testClipart\testClipart.mcf" />
<Content Include="tests\testClipart\__pycache__\test_drawClipart.cpython-37-pytest-5.4.1.pyc" />
Expand Down Expand Up @@ -99,6 +110,7 @@
<Compile Include="pathutils.py" />
<Compile Include="processManyMcfs.py" />
<Compile Include="runAllTests.py" />
<Compile Include="tests\testClipartColorReplacement\test_clipartColorReplacement.py" />
<Compile Include="tests\testClipart\test_drawClipart.py" />
<Compile Include="tests\testFontDoesNotExist\test_fontDoesNotExist.py" />
<Compile Include="tests\testMcfxExtraction\test_McfxExtraction.py" />
Expand Down Expand Up @@ -129,6 +141,8 @@
<Folder Include="tests\Resources\photofun\" />
<Folder Include="tests\Resources\photofun\backgrounds\" />
<Folder Include="tests\Resources\photofun\decorations\" />
<Folder Include="tests\testClipartColorReplacement\" />
<Folder Include="tests\testClipartColorReplacement\test_clipart_colorreplacement_mcf-Dateien\" />
<Folder Include="tests\testClipart\" />
<Folder Include="tests\testClipart\__pycache__\" />
<Folder Include="tests\testFontDoesNotExist\" />
Expand Down
Binary file added tests/Resources/photofun/backgrounds/6044.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
a3c3f786d6sc20766zg57273696f6e3dx22gw312e302r220656e636f6469n6xe673d2255544o62do3822207374616we64616jc6f6e653d226e6f223pf3e0ar3c212dk2d2043w7265617465l6420776974682049k6e6b73636170652i0286874747g03as2fu2of7777y772e69h6e6b7363617065w2e6f7267x2f29202d2d3e0a3c7o37667j20786d6c6e733aw64633d22687474703a2mf2f7075726c2ke6f72672f64u632f656c656d656ei74732f3t12e312f2g2207l86d6c6em733a63633d22687474m703a2f2f6372656174v6i97665636f6d6d6f6e73t2e6qf72672f6e732322207x86d6c6e733a7264663gd226n87474703a2f2f77777ip72e77332e6f7267p2f313939392f30322fos32322d72w64662d73796e746g1782d6e7323222h0786d6c6e733a7376k673dhw22687474703ai2f2f7777772e77332ey6f72672f323030302f7j3766722207q8y6di6c6e733d226n8747j4703a2f2f7777772e77w33n2e6f72672fq32y3030302f73766722z20786dt6c6e7l33a786c696eo6gb3d22687t474703a2f2f77777z72e77332e6f7267l2f3139393s92f786c696e6b22i20786d6c6e733a736fv646m970y6f64l693d226874v74703a2sf2f736f646l97o06f64692e73o6f75726365666f7s267652e6e65p74o2f4454442f736f64697r06f64692qd302e6q474642220786d6c6e7g33a696nve6b73636170653d226m87474703a2f2f77777p72e696e6b73o63617y0652e6fp72672f6e61j6d65737061636573n2f696e6br7363617065222076657y273696f6es3d2n2312e31222077r6964746v83d223230342e333s6363j43622206v865696768743d22323v1342e3432x373139222076696h577426f783rd22302030203230342ej3336o36343620n3231342gez343237313922206n9643d224c6s17w965725f312u220786dg6c3a7370616365h3d22707265736572766m522h20736f6y469706fw64693a6m46f636e616ds653d22313236y3p7382d4445434f2d4z3432e737667t2220696pe6b73636170653a7665n7273j696fy6e3d22302e393o22e322028356333t6538m30642c203230l31372d30382d3036sy29223e0a2t0203c736f64697q06f6469s3a6e616d656476t6965h772070616765636f6zc6f723d22jx2366666666666622o20626f72646i5726m36lf6nc6f723d2223o3636363636362y220626f7j26465726f70616l36t974793xd22312220u6f626a656374j746f6c65k72616e6z3653d22313022206772w6964746f6c6572l616e63653d22313o022206775z696465746f6c65726h16e63653dz223130222r0696e6b736j36170653xa7061j67656f706q16gw3i6974793d2230222l0696e6b736hk36170653a706p16765736861646f7l73d22322220696e6b73j636170653a77696e64u6f772d776964v74j683d22313932302x2h2069o6e6b7363617u06k53a77j696e646f772ds6865o696768743d223i1u303137222069643do226e616d65647669657h73336222073686f77r677269643d2266616cu73z652220696e6b73636l17g0653a7aj6f6f6d3d2237312te3733v393736322220696oe6b73636170653a63i783d223130392e34343k8323ir62220696e6nb736g36170653a63r793d22313l4322ey3936373434p22q20696e6b73636170653va77696qe646f772d783d2z22d382p220696e6b7363g6170653a77696e646kf772d793d222d38l22206z96e6b736361u70653a77w69o6qe646ft77l2d6d61786m96d697ga65643d223122206h96e6b7363617p0653a63757272656em742d6c617965723d22m4c617965725fk31222f3e0a2020g3cv6d65746164h617461206964r3d22j6d65746164617461353x3223e0sa20202h02z03c72q64663a5244463e0a2i020202020203c6w3633a576f72p6b207ti264663a61626f757v43d22223e0al20202020202020203c6nw4633na666f726d6174w3e696d6167652if73766y7y2b786d6c3c2f64633a6z66f726d61743ev0a20202020z202020203c646s33a74797065207264w663a7265736fz757y26365w3d2268747470y3ai2f2f7075726c2e6f726i72f64632f64636jd697479o70652f5374696c6c4z96d616765222f3pe0a20202020202020g20y3c64633a746974h6c652f3me0ao2020202020203c2f6j3633a576f726b3ue0a202020203c2f7264g663a524q446m3e0a202x03c2f6d6574616461s7461h3e0a20203c64656673g2069643d22646m566733531223e0a202h020203c6c696ke656172477261646l9656e7420696ze6b73636170653a636qf6c6c6563743d22j616c776179732220696j43d22n6c696e6w56172477l26164696v56e7p43836372d38223e0ai202020202x0203c73746f702073q74796c653d22737u46f702d63p6fs6c6f723a2330303j03030303b7r3746fn702d6f706163z6974793a3t02ej30n3h730v353838323g422206f6666736574i3d2230222069s643d2273746f703p83633222f3e0a202j020202s0203c73746f702p06964y3d2273746f7hm0383736222k06f66667365743hd22302e303538323132v313522207374796cil653d2273746f702td636f6c6f723a2h330303o030303s03b73746f702d6fk706ro1636974793ar302e32323432p39393036222fw3e0a202k0202020203c73746f70t207374796c653od2273746fs702d636f6c6f723av233030303030303b73hz74z6f702d6yf706163697w4793a302e313039z383033393222206f66m667365743d2y2302e3134o3336353037312220696h43d227y3746f703838q34222f3el0a2020202020203lc7374n6f702069643d227m3746f70383836222l06f66667365743dy223m02e32353137g3535363522207n374796zc653d2273746f70i2dr636f6c6f723a233g0y3030303030v3b73746f702dx6f70q6163697479vo3a302e303534393031t3936222f3e0a20o20r2z02020203c73746of702069643d2273746mf7038383022u206f66z667365743d22302e34n39313o03932333222l207p374796c65m3d227h3746f702d636f6cs6f723a2330303030i303s03bu73746f702d6f70616r36974793sa302e3134313137363j438222f3e0a2020o20202020r3c73746f70207374i796c653dw2273746f702d636f6uc6f723a233766w376637663b73746f70l2d6mf7061636v9l74793a302e313031393w6303738o3b22g2zs06f6666736t5743sd22302e383630t37t3630303o3222069643d227v3746f70z383838222vf3e0a20202020u20203c73746f7020737w4796c653d22737m46f702d636f6c6f723as233030303030303by73746f702md6f7061636974793a30s2e303139363t037383422206f6z6667365743d223122y2069643d2273746gf703836w3522m2f3e0a20202rs0203hc2fg6c696e6561724772616u469656e7p43e0na202020203c6ckn696e65617v24p7726164k69656e74206964v3d226c696e6561724m7726164696o56e74383631222069g6e6b7363k6170653a63r6f6c6c6563743d22g616c77617973z223e0a2020202y020203c7j3746f702069643d22j73746f703835352u2206f66667365743dj223022207374796c653d2273746f702d636f6c6f723a233831383138313b73746f702d6f7061636974793a31222f3e0a2020202020203c73746f70207374796c653d2273746f702d636f6c6f723a236235623562353b73746f702d6f7061636974793a3122206f66667365743d22302e3734333335383038222069643d2273746f70383537222f3e0a2020202020203c73746f702069643d2273746f7038353922206f66667365743d223122207374796c653d2273746f702d636f6c6f723a236334633463343b73746f702d6f7061636974793a31222f3e0a202020203c2f6c696e6561724772616469656e743e0a202020203c6c696e6561724772616469656e7420696e6b73636170653a636f6c6c6563743d22616c77617973222069643d226c696e6561724772616469656e74383139223e0a2020202020203c73746f70207374796c653d2273746f702d636f6c6f723a236666666666663b73746f702d6f7061636974793a313b22206f66667365743d2230222069643d2273746f70383135222f3e0a2020202020203c73746f702069643d2273746f7038393822206f66667365743d22302e303632303238363322207374796c653d2273746f702d636f6c6f723a236563656365633b73746f702d6f7061636974793a313b222f3e0a2020202020203c73746f702069643d2273746f7038393422206f66667365743d22302e313638363332373822207374796c653d2273746f702d636f6c6f723a233735373537353b73746f702d6f7061636974793a31222f3e0a2020202020203c73746f70207374796c653d2273746f702d636f6c6f723a236638663866383b73746f702d6f7061636974793a3122206f66667365743d22302e3331353437393334222069643d2273746f70393030222f3e0a2020202020203c73746f70207374796c653d2273746f702d636f6c6f723a236533653365333b73746f702d6f7061636974793a3122206f66667365743d22302e3436323332353933222069643d2273746f70383936222f3e0a2020202020203c73746f702069643d2273746f7038323722206f66667365743d22302e373235373539303322207374796c653d2273746f702d636f6c6f723a236235623562353b73746f702d6f7061636974793a31222f3e0a2020202020203c73746f70207374796c653d2273746f702d636f6c6f723a236666666666663b73746f702d6f7061636974793a3122206f66667365743d2231222069643d2273746f70383137222f3e0a202020203c2f6c696e6561724772616469656e743e0a202020203c6c696e6561724772616469656e7420696e6b73636170653a636f6c6c6563743d22616c776179732220786c696e6b3a687265663d22236c696e6561724772616469656e74383139222069643d226c696e6561724772616469656e7438323522206772616469656e74556e6974733d227573657253706163654f6e557365222078313d2234322e333935393132222079313d223134372e3330313731222078323d22382e36353733383737222079323d223133392e3632323322207370726561644d6574686f643d2270616422206772616469656e745472616e73666f726d3d226d617472697828302e39383930333335342c302c302c312c2d302e36393233393635392c2d302e373031343230393729222f3e0a202020203c6c696e6561724772616469656e7420696e6b73636170653a636f6c6c6563743d22616c776179732220786c696e6b3a687265663d22236c696e6561724772616469656e743836372d38222069643d226c696e6561724772616469656e74383639222078313d2233322e373639363334222079313d2236372e353633393432222078323d223235392e3330383338222079323d223130352e393132393122206772616469656e74556e6974733d227573657253706163654f6e55736522206772616469656e745472616e73666f726d3d226d617472697828302e383039333936392c302c302c302e383434333036382c2d352e363138303432372c2d322e3233343735333729222f3e0a202020203c72616469616c4772616469656e7420696e6b73636170653a636f6c6c6563743d22616c776179732220786c696e6b3a687265663d22236c696e6561724772616469656e74383631222069643d2272616469616c4772616469656e74383930222063783d2236362e323839313038222063793d2232362e393731323033222066783d2236362e323839313038222066793d2232362e3937313230332220723d2232362e31313733393322206772616469656e745472616e73666f726d3d226d6174726978282d302e37353339323834352c2d302e31323830383237332c302e303539353932312c2d302e33363134343832312c39362e3934303839322c32332e3635353031382922206772616469656e74556e6974733d227573657253706163654f6e557365222f3e0a20203c2f646566733e0a20200a20203c70617468207374796c653d2266696c6c3a75726c28236c696e6561724772616469656e74383235293b66696c6c2d6f7061636974793a313b7374726f6b653a233030303030303b7374726f6b652d77696474683a302e35393637303130333b7374726f6b652d6d697465726c696d69743a343b7374726f6b652d6461736861727261793a6e6f6e652220643d226d2034392e3637313034352c31322e383932333239206320352e3830333633342c312e3830303231332031312e3736333338362c332e3036393435392031372e3834383936352c332e393732363536206c20302e3934383436372c2d332e313137313837202d302e3136323236332c2d302e30343239372063202d312e3830313035322c312e3830313834202d392e3438313234322c312e343833323537202d31382e3633353136392c2d302e383132343939207a204d2031362e3036373038352c39342e39383630373920302e32393835363836332c3230392e33373836362063202d302e303434383239312c352e3638363920362e36333839333636372c362e333839393520382e32363936333339372c312e3434393232204c2033362e3930363333312c3131372e303833353520432032362e3232303732322c3131332e38363330352031382e3537303939332c3130392e3337372031352e3030343634372c3130322e3231323436205a222069643d227061746831362220696e6b73636170653a636f6e6e6563746f722d6375727661747572653d22302220736f6469706f64693a6e6f646574797065733d226363636363636363636363222f3e0a20203c70617468207374796c653d226f766572666c6f773a76697369626c653b66696c6c3a75726c28236c696e6561724772616469656e74383639293b66696c6c2d6f7061636974793a313b7374726f6b653a233030303030303b7374726f6b652d77696474683a302e36303030303030323b7374726f6b652d6d697465726c696d69743a343b7374726f6b652d6461736861727261793a6e6f6e653b7374726f6b652d6f7061636974793a31222069643d227061746833392d392220696e6b73636170653a636f6e6e6563746f722d6375727661747572653d22302220643d224d2031342e3931363332312c3130322e373231342032382e3731383030342c332e3237383933383820432037302e32343733352c32392e333736343632203132332e32363939352c31312e353339333233203137332e37313830342c32352e353630373236206c2033302e323933332c36312e333733353039202d34332e38373333362c35322e39333231323520432039302e3834353531352c3131392e37393838382032372e3538353831312c3132372e38393434312031342e3931363332312c3130322e37323134205a2220736f6469706f64693a6e6f646574797065733d22636363636363222f3e0a20203c70617468207374796c653d226f766572666c6f773a76697369626c653b6f7061636974793a313b766563746f722d6566666563743a6e6f6e653b66696c6c3a75726c282372616469616c4772616469656e74383930293b66696c6c2d6f7061636974793a313b7374726f6b653a233030303030303b7374726f6b652d77696474683a302e35393637303039373b7374726f6b652d6c696e656361703a627574743b7374726f6b652d6c696e656a6f696e3a6d697465723b7374726f6b652d6d697465726c696d69743a343b7374726f6b652d6461736861727261793a6e6f6e653b7374726f6b652d646173686f66667365743a303b7374726f6b652d6f7061636974793a31222069643d227061746834382d362220696e6b73636170653a636f6e6e6563746f722d6375727661747572653d22302220643d224d2032382e3838303237312c322e3037303634383420432032392e3533343239372c2d302e35353933363732352033382e3937373233392c2d302e32323333333331342034392e3937303738392c322e383232303831342036302e3936333533392c352e383636363531382036392e3334343939312c31302e3436373237392036382e3639303136352c31332e3039373239352036382e3033353333392c31352e3732373331312035382e3539333139382c31352e3339303433322034372e3539383834372c31322e3334353836322033362e3630363039372c392e333031323931382032382e3232353434362c342e373031353038342032382e3838303237312c322e30373036343834205a222f3e0a20203c636972636c65207374796c653d226f766572666c6f773a76697369626c653b6f7061636974793a313b766563746f722d6566666563743a6e6f6e653b66696c6c3a233030303030303b66696c6c2d6f7061636974793a313b7374726f6b653a6e6f6e653b7374726f6b652d77696474683a302e30393536323636363b7374726f6b652d6c696e656361703a627574743b7374726f6b652d6c696e656a6f696e3a6d697465723b7374726f6b652d6d697465726c696d69743a343b7374726f6b652d6461736861727261793a6e6f6e653b7374726f6b652d646173686f66667365743a303b7374726f6b652d6f7061636974793a31222069643d2270756e6b74222063783d22342e32353832393237222063793d223231312e35313230372220696e6b73636170653a6c6162656c3d2223706174683834302220723d22302e35222f3e0a3c2f7376673e0a
Loading

0 comments on commit df46d6d

Please sign in to comment.