Markup – Altered Perception

Listen to blog post

Markup – Altered Perception

The current viral unpleasantness has left many of us of a certain age isolated. I’m limiting social contact on the general advice those in the know. No more photo trips for the time being.

To be honest my motivation to do creative projects dried up in a serious block. It seemed rather pointless to make artistic work so I stopped. In fact being a senior with health issues is nothing compared to the burden of young families trying to make ends meet.

New Tools and Projects

A few weeks ago I built a tabletop studio and began doing some close-up photography. Suddenly my creative block disappeared. Taking pictures of small subjects is interesting but limiting at the same time. Then an opportunity to buy Corel Painter came from a charitable organization called Humble Bundle Inc. For thirty dollars I got a rather large bundle of Corel software licenses including Painter.

After playing around with Painter for a few days it became clear that photography is my strong suit. On a whim I started drawing graphical marks on photos like street art or graffiti. The effect opened my eyes. Suddenly I was redefining images. Not art perhaps but certainly creative at some level.

So a new project called Markup – Altered Perception is born. The intent is not to make painterly images but to add context to the original photos. So far the results are uneven, distinctly amateurish and just what I had in mind.

I’ve created a new board on Pinterest for the work and some will also be posted here.

Old Dogs

The eyeI’ve been developing software since the days of the Apple II. Back then everyone who used a microcomputer had to know something about how software worked. Most people just wanted to use VisiCalc or play games on those early machines but a few of us were fascinated by the technology. I can tell you the exact day I became a programmer. It was Thanksgiving Day 1979. After a marathon twenty hour session learning MS BASIC I could code. It was such a rush.

From that early day I started writing code for money and continued to do so until a couple of years ago. Suddenly after I turned sixty it was like someone turned off the light. Software developers are young and I was not young. Over the years I had opportunities to become a manager but the code always spoke to me. So I became an ex software developer.

Now after some time has passed it seems that code still speaks to me. In fact I have begun to recapture some of the excitement that I felt in the early days. I no longer have endless meetings, pressing deadlines or code reviews. Now I get to write code to make the machine personal again. My projects are small and completely non-commercial. Most run on my desktop machine but I dabble a bit with mobile Android stuff.

A few months ago I put together an application to generate PDF calendar sets and web ready images. My idea was to be able to take a finished full sized photograph and generate several sizes of images for publishing online along with two different calendars types in encrypted PDF format. This has worked extremely well. I can now generate all the image content for a post on phototrice.com in a few seconds with no hand work.

My old habits have also served me well in that I continue to write reusable object code. This has come in handy for my latest project creating photo mosaic images. This project highlights the differences between makers of things and consumers of things. It would be simple and faster to pay a few bucks to buy some photo mosaic software. It would be simple and boring that is. It is better for me to build the software and learn something new.

To that end I am finishing up the first phase of the project which consists of discovering images, cataloging and producing graphic tiles. There are lots of ways to accomplish this task. I decided to leverage my existing code from the calendar project to automate Photoshop to do the imaging work and use a Sqlite database to manage the cataloging. Works like a charm.

I’m really looking forward to the next phase which is actually creating the mosaic images. I will be writing code using the .Net framework rather than automating Photoshop to accomplish this. It is the interesting part for me. I have done quite a bit of document imaging work over the years but not much actual graphics programming. It should be fun. So in a few weeks you may see some really bad photo mosaic images here on phototrice.com.

Scripting a Calendar Generator

A couple of weeks ago I wrote a post about my Photoshop automation project for generating single page photo calendars. Phototrice includes a new calendar every week as part of our regular Friday Photo feature. Actually two calendars are produced every week with North America and international weekday formats. Creating two calendars a week is not all that labor intensive but creating two calendars fifty two times a year is something worth automating. The coding on the calendar generator was completed about a week ago. I used it to generate last week’s Friday Photo calendars without a hitch.

This project was put together using Visual Studio 2015 and VB.Net. As mentioned in the last post, external automation provides many more options for integrating functionality that cannot or should not be scripted to run directly in Photoshop. Of course this approach limits me to running under Windows but that is what I use anyway. Future projects will likely be coded in JavaScript or ExtendScript to make them platform independent.

The application GUI is quite simple. I can enter all necessary information and kick off the generator which is about all that is required. A SQLite database is used to store various kinds of information for the generator. Right now configuration and logging data are the primary items stored. Eventually it will contain all information and images required to create any previous calendar. This will be useful for my yearly compilation of calendar images in book form.

Calendar Generator GUI
Calendar Generator GUI

The application lends itself quite easily to other uses where templates and dynamic data are combined to produce finished documents. Right now I’m working on a series of custom postcard templates which will also use the generator. Table driven configuration allows for great flexibility in layout and template selection. Coding was done using normal object oriented techniques. This allows me to extend or repurpose functionality as necessary.

Calendar generator configuration table
Calendar generator configuration table

This is the first time I have created code to script or automate Photoshop. I have learned some very useful things about how Photoshop operates by analyzing the API model. That information gives me insight into how to accomplish various tasks with or without scripting. The experience of writing code for Photoshop has been good overall. The documentation is accurate and detailed which is not always the case many application API’s. I expect to build other useful scripts in the months ahead. Hopefully I can make scripts available on Phototrice at some point. Anyway that is my goal.