<div dir="ltr"><p class="MsoNormal" style="font-family:arial,sans-serif;font-size:13px">We&#39;re looking to get someone to do a bit of work to replicate PhotoShop actions into ImageMagick scripts. To be honest, the ImageMagick work is rather trivial but it does have to be integrated into a Catalyst App. I estimate this about a week’s work and it could be done from home. However we would want the person to come on site and for a quick meet up to discuss what we’e doing and to get acquainted. </p><p class="MsoNormal" style="font-family:arial,sans-serif;font-size:13px"> </p><p class="MsoNormal" style="font-family:arial,sans-serif;font-size:13px">The right person, would have experience of PerlMagick and, as a bonus, enough *NIX experience to ensure we can convert interesting formats like PNG and NEF.</p><p class="MsoNormal" style="font-family:arial,sans-serif;font-size:13px"> </p><p class="MsoNormal" style="font-family:arial,sans-serif;font-size:13px">The process involves using an existing Dbic schema to query for a list of files.</p><p class="MsoNormal" style="font-family:arial,sans-serif;font-size:13px">Processing the files to using the following criteria:</p><p class="MsoNormal" style="margin-left:36pt;font-family:arial,sans-serif;font-size:13px"></p><ul style="font-family:arial,sans-serif;font-size:13px"><li style="margin-left:15px">Keep any IPTC or EXIF info that is embedded into the file<br></li><li style="margin-left:15px">Set resolution to 300dpi<br></li><li style="margin-left:15px">File size. This is a bit more complicated as we interpolate the file in different ways according to the size of the original file:<br></li><li style="margin-left:15px">Files less than 30MB should “fail” and the event logged for reporting purposes<br></li><li style="margin-left:15px">Files between 30MB and 49MB should be interpolated to 50MB (we should use the “best” interpolation method available.<br></li><li style="margin-left:15px">Files between 50MB and 100MB should be left alone<br></li><li style="margin-left:15px">Files between 101MB and 150MB should be interpolated to 100MB<br></li><li style="margin-left:15px">Files larger than 150MB should “fail” and again the event logged for reporting purposes<br></li><li style="margin-left:15px">Layers, if present, should be flattened<br></li><li style="margin-left:15px">Channels, masks, annotations and vector masks if present, should be removed.<br></li><li style="margin-left:15px">Any image not in RGB format should “fail” and the event logged<br></li><li style="margin-left:15px">RGB 16bit depth images should be converted to 8bit<br></li><li style="margin-left:15px">Images with no colour profile should “fail” and the event logged. Images with Adobe 1998 RGB space should be left alone whereas other colour profiles should be converted to Adobe 1998 RGB. If the conversion fails for whatever reason, the image should also “fail”.           <br></li></ul><p style="font-family:arial,sans-serif;font-size:13px"></p><p class="MsoNormal" style="margin-left:36pt;font-family:arial,sans-serif;font-size:13px"></p><p class="MsoNormal" style="margin-left:36pt;font-family:arial,sans-serif;font-size:13px"></p><p class="MsoNormal" style="margin-left:36pt;font-family:arial,sans-serif;font-size:13px"></p><p class="MsoNormal" style="margin-left:36pt;font-family:arial,sans-serif;font-size:13px"></p><p class="MsoNormal" style="margin-left:36pt;font-family:arial,sans-serif;font-size:13px"></p><p class="MsoNormal" style="margin-left:36pt;font-family:arial,sans-serif;font-size:13px"></p><p class="MsoNormal" style="margin-left:36pt;font-family:arial,sans-serif;font-size:13px"></p><p class="MsoNormal" style="margin-left:36pt;font-family:arial,sans-serif;font-size:13px"></p><p class="MsoNormal" style="margin-left:36pt;font-family:arial,sans-serif;font-size:13px"></p><p class="MsoNormal" style="margin-left:36pt;font-family:arial,sans-serif;font-size:13px"></p><p class="MsoNormal" style="margin-left:36pt;font-family:arial,sans-serif;font-size:13px"></p><p class="MsoNormal" style="margin-left:36pt;font-family:arial,sans-serif;font-size:13px"></p><p class="MsoNormal" style="margin-left:36pt;font-family:arial,sans-serif;font-size:13px"></p><p class="MsoNormal" style="font-family:arial,sans-serif;font-size:13px">Failures and the reasons, are recorded against each file object (written back to the DB and a flag set) using the same Dbic object.</p><p class="MsoNormal" style="font-family:arial,sans-serif;font-size:13px"><span style="color:rgb(31,73,125)"> </span></p><p class="MsoNormal" style="font-family:arial,sans-serif;font-size:13px">Drop me a message if you’re interested. I can give some more details and discuss the price.</p><p class="MsoNormal" style="font-family:arial,sans-serif;font-size:13px"> </p><p class="MsoNormal" style="font-family:arial,sans-serif;font-size:13px">Please be aware that we cannot hire from outside the UK. <span style="font-family:Verdana,sans-serif;font-size:9pt"><font color="#000000">We are ideally looking for someone that is based in London.</font></span></p><p class="MsoNormal" style="font-family:arial,sans-serif;font-size:13px"><span style="font-size:9pt;font-family:Verdana,sans-serif;color:rgb(31,73,125)"></span></p><p class="MsoNormal" style="font-family:arial,sans-serif;font-size:13px"></p><p class="MsoNormal" style="font-family:arial,sans-serif;font-size:13px">Thanks,</p><p class="MsoNormal" style="font-family:arial,sans-serif;font-size:13px">Dermot</p></div>