Create Abstract Digital Paintings With Processing | Benjamin Halsall | Skillshare

Playback Speed

  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x

Create Abstract Digital Paintings With Processing

teacher avatar Benjamin Halsall, Final Cut Pro X & Adobe Courses

Watch this class and thousands more

Get unlimited access to every class
Taught by industry leaders & working professionals
Topics include illustration, design, photography, and more

Watch this class and thousands more

Get unlimited access to every class
Taught by industry leaders & working professionals
Topics include illustration, design, photography, and more

Lessons in This Class

3 Lessons (16m)
    • 1. Introduction to The Course

    • 2. Work With Code To Create Abstract Images

    • 3. Exporting Images - Inserting the Code

  • --
  • Beginner level
  • Intermediate level
  • Advanced level
  • All levels
  • Beg/Int level
  • Int/Adv level

Community Generated

The level is determined by a majority opinion of students who have reviewed this class. The teacher's recommendation is shown until at least 5 student responses are collected.





About This Class

This class is suitable for anyone with a desire to create abstract generative digital paintings.

You will need to download and install the free software Processing here.

And you will also need to download the code from the class project page - Enjoy!

This class will show you how to create abstract digital paintings, random image grids & collages using pre-written code that runs in Processing.

That's right! You can begin to develop an understanding of the power of programming without learning how to program.

You will work with PNG images that will create color and abstraction as well as masks that will generate transparency in your project. This means you can edit and generate the basic images in Photoshop, Illustrator or even applications like paint.

This class is definately well worth a look!


Meet Your Teacher

Teacher Profile Image

Benjamin Halsall

Final Cut Pro X & Adobe Courses


For the designer in you I create fun short lessons in Adobe Photoshop, Adobe Illustrator & Adobe InDesign. I include some creative and technical tips in all my lessons which are always easy to follow. Check out my popular Banksy Yourself Photoshop Class, how to create Polygonal Patterns in Adobe Illustrator or my Photoshop Drawing & Painting Fundamentals.

For Final Cut Pro X editors check out my course Learn Final Cut Pro X in 25 Minutes or learn how to put video inside type, create grunge style text or my basic and advanced split screen tutorials.

I look forward to seeing your projects and am always happy to answer your questions.

See full profile

Class Ratings

Expectations Met?
  • Exceeded!
  • Yes
  • Somewhat
  • Not really
Reviews Archive

In October 2018, we updated our review system to improve the way we collect feedback. Below are the reviews written before that update.

Why Join Skillshare?

Take award-winning Skillshare Original Classes

Each class has short lessons, hands-on projects

Your membership supports Skillshare teachers

Learn From Anywhere

Take classes on the go with the Skillshare app. Stream or download to watch on the plane, the subway, or wherever you learn best.


1. Introduction to The Course: Okay, so in this lesson, we're gonna be combining code and image to create some really interesting effects. Now, you don't need to be a programmer to take this class. I'm gonna be running you through all the things that you need to change. You'll need toe install a piece of software called processing, which is available for the Mac off of the PC on It's a free piece of software and also, you need to have access to an image editor. Now, that could be paint for this. It could be Photoshopped or another image editor that you're working with because you'll need to be creating some of your own images. Okay, so the coding that we're gonna be doing is really adjusting a few lines of code to look at how we can adjust things like rotation scale. Andi affect the randomness off this creative abstract digital painting project. So let's get on. We're gonna dive strange processing. We're gonna look at the files that were working with image files. Andi, hopefully have some fun cranks and cool of interesting abstract projects. 2. Work With Code To Create Abstract Images: Okay, So in this lesson for processing, we're really looking at how we can generate some random abstract patterns within processing , using our own images and pre written piece of code. So So what? You can see here are a few different versions that I've experimented with for the final version off some of these abstract experiments that we're gonna be with him. Okay, so let's have a look what we have here in processing. So we have ah, piece of code that we're working with here on this is located on my desktop in a folder that I'll share with you. Okay, so in this image red folder, we've got this processing file, which is the code that you can see across on the left here, which is a really simple kind of short script that's pulling in some images for a couple of different functions. Some of the images are being used to color. Some of the images are being used for masking on. They're both being combined together and interesting. An abstract way. Okay, so if I just hit play here, we'll see how this is playing back from scratch. So basically, we have this three by three grid of random colors on each of these blocks around in color is being pulled in for a PNG image. Okay, so one of the nice things about that is it means that we can go in and edit that image so they don't have to be just a block of color. But I've specifically chosen that for this particular example just to kind of keep things a little bit simpler, so close that the's images are located in the data. Father. So we have a Siris of 11 PNG images from 0 to 10 that we're working with on. Basically, we can go in and edit any one of these. So if I grab this green image, for instance on drag it down into Photoshopped Okay, I can grab the brush tool how? Grab color here. And I will just pants on the nice Big X save that. And so now we're before we had just the blocks color. You can see now that this X will will pop up from time to time so we get it's kind of patterns beginning to happen within our animation here. Okay, so I've got my coaster up here on basically everything that will need to do in this task, and you'll be ableto edit within the code without writing any real brand new cuddle. You can experiment with that as well. Processing is an open source language. There's a lot of good examples of coding out there that you can pull into something like this. So we've got some set up for a document. So it's a Epsom Variables at the top. OK, would bring in some images, so we need to set up these P image data types. Okay for the name, image and Image March, which we use a little bit later on. We've got something, some things like the background color being set up here the size of our square, with which is 64 by 6 40 pixels. And then we've also got some images being loaded in when we start out here. So that's what's playing back right now. Okay, so let's have a look at how we can play with it a little bit more. So let's go down to our loop here. That's basically filling this up with a grid. So in here, we've got some options. So we've got a great divider on Do this by the full is set to 1.65 Which means that when we start off the grid, it starts with this gun. A three column by three row set up. But if we turn on this random option here, it's gonna cycle between two and four in terms of the number for the great divider, which is being used in this math up here. Okay, so basically, we're gonna be dividing the grid that we have into smaller or larger columns. If we press play now, okay, we'll start to see that we get It's kind of more randomized passing of squares that are popping up that are loading up. Okay, so let's stop that. Okay? Andi will comment this out. So these two slashes a space mean that we've commented out that line. Okay, Now, if I have a comment out of scale, you can see we're gonna add in a little bit more variation. So we now have some scale variation on. We have other options that we can uncle and out here, such as the translate which is going to translate the position. That's every time that I'm making a change. I'm doing command and s to save it on, then pressing the play button again or the run button again, and it will then play this back through and you can see now. And you can see now that we have a real kind of random sat images popping up on screen. Okay, so let's stop that. We'll come back in here and we're going to town. They rotate. Okay, So now if I press play here, Okay, we'll get some rotation there, and we start to get this nice set of patterns that are popping up on within our codas. It plays back. Okay, so let's stop this. Andi, I'm gonna comment these back out. I wanna have a look at the masks that were working with now the master Really black and white images where the white part of the image is what will be visible on the black part. The image is what will be hidden. Okay, so if we have a look at the images we have, we have these for black and white images, some really simple triangles and some kind of half and half kind of black of white triangle , which was showing high parts of these colored squares on, then some more complex shapes and then some still more complex kind of shape. They're drawn with brushes in photo shop. So basically, we're gonna load up these random images by creating a variable here m r. Which we've set up up here already. Okay. And then we're gonna be so with the way that this was commented out, it's this slash than the Asterix. And I'm just taking out the beginning of that and at the end. Okay, so now we're gonna cycle between these images 11 to 14. Okay, so this load image option on, basically, we just need to move one more line of code. I'm Otherwise, this won't work because the image of the moment is drawing on here in this line. Okay, so, actually, to move that down to below the image mask in order for this to work so uncommitted at my section of code hit its loading in these images, and then I'm just gonna grab this, go to edit cut, and then I'm gonna go to edit and paste. Okay? Just writing a comment so we can add comments into our code as well, So slash slash this. This code writes damage to the screen. So now if we press play will get that image mass working. So the images are combining together. So we still have this kind of very grid like format turned on. But you can see how those colors now being made transparent by these specific colors, which is really exciting, really interesting way of working. So where we have black in this image, for instance, we now have transparency, a case that's showing the background on where we have white in that image, it's actually showing the cars behind it. So it's a really nice kind of technique for combining these different images. Okay, so now we can go a step further. We can add in up here That translates on the rotate on. We'll start to get even more interesting things happening so you can see now our image becomes very abstract. It starts to build up on those images, a really kind of thrown all over the place, almost like a spray can. So we have some more interesting things going on. So now there's a couple of things we can do here if I stop this. So if we go to our images from here. I'm just gonna grab this last image here on Go to edit copy on edits, haste. Okay. It's gonna paste a copy of that. Number 14. I call this 15 so we can add a new image that we can then use the mask. Okay. We need to do something in the code in a sec to make that work. But if we drag us into for a shop, Okay, we're just gonna edit this. So I'm gonna go into for a shot now, and we're going to festival. Just kind of fill this image with black. So I'm just gonna make sure my brushes black and I'm just gonna fill that up, okay? And now I'm gonna flip it to White case the white will be, but we would have us as visible and talking about my brush nice and small here. And I'm just gonna draw on into here a nice in a little que Okay. So if I saved up now, I need to add in the number 15 to my code so you can see here. My code is cycling from 11 to 14. I just need to out of 15 there. So now for my masks, when I play through that square will pop up as a mask of those different shapes So you can see the square kind of popping up, and it will rotate around as well. So you get interesting patterns that are popping up. Okay, so that's a quick introduction into how we can change in edit three images. One other thing I do want to show you is just I'll stop this, Okay? I'm gonna now jump in here, Andi, load in a photo into one of my my images. So if we come to this number three Okay, I bring this up in for a shock, and then I'm gonna go to file on place embedded I use for these textures I already have set up. So let's grab this nice kind of rusty texture that we have will place that, OK, and I'm gonna get this toe filled the screen I'm holding down shift is I'm transforming this now. Okay, so we'll save that. I'm going to go up to my image here. Slattern it. So you have to flatten it before you save it out as a PNG say that and Then I go back here into processing and play this again, and we'll start to see that photographic image popping up but popping up and masked by the other shapes that we were created. So you can see we start to get this little bit of interesting texture that pops up in those combinations in a way that were not necessarily expecting. So this one of the nice things about working with processing in this way is that we are able toe control what we're doing, but also lose a little bit of control. So we can, uh, designed something new that we never would have been ableto design in a different way. Okay, so the next step to this is looking at how we export on image on That's the next line of code that Will will write in. Okay, 3. Exporting Images - Inserting the Code: Okay, so we're back in processing here and now we're gonna have a look at how we can add a keyboard shortcut that's gonna save an image for our processing far. Okay, so if we go to processing here, we're now going to have a look at the reference online. So process, it has a great reference online and for finding out things. So I've got the processing reference. And look how we say that on image, okay? And we're going to save out a PNG image. Okay, so I'm just gonna copy this line of code from the processing website on right in here in my loop, I'm gonna paste in save abstract again, Jake. Okay, so now if I press play my file begin to draw on. If I just right click, I'm here under image. Rid. You can see that this abstract PNG is being safe. That's being saved every time that we go through that loop. So it's going to start to slow down our computer quite a bit as we go through. So if I press, stop here now. Okay, then I stopped at a point where the abstract PNG hadn't finished recording. Okay, so we need to do it. Do this in a slightly smarter way. So we're gonna add a keyboard shortcut that's going to save the image when we see an image that we like and then exit out of the program. Okay, So I'm gonna go back to the processing reference and basically have a look at this key press function, So Okay, so let's have a look at how this works. So if we copy this code, Okay, so this is any key being pressed? Okay, I'm gonna pace this in right down the bottom. My coat is avoid. Keep rest. Okay, So I'm gonna take out this if else statement and I'm just gonna grab this save have stripped PNG and paste that in there and then typing the line exit and that will then exit out of the script that's going to save the PNG and then exit out okay, when I press any key. So if I press play now, my abstract drawing is painting. If I press the space bar, it's gonna now save that abstract up PNG and exit outsides saved it and then quit. So we should have in our folder here a nice image that we can use. Okay, so we can upload that on, then go ahead and play again. So one thing that we're not doing here is we're not incremental ing the version of this image that we're saving. So I'm just gonna do this right now, So I'm gonna call this abstract a one because otherwise when we run this again and we create a new image when we press the space bar or another key toe to stop this is gonna overwrite that original version. So if I press space now, okay, it's going to save a PNG, and it's gonna save it as abstract again. And you can see an article. He's too different versions of my abstract generated piece of artwork. So that's how Toe say about a man image when we can certainly add in some other options into the save function that will increment the numbers up so we can save different versions off that. Okay, we can also change this so that it doesn't always overwrite the current version on off that abstract PNG. So it's ever come across here and have a look at the safe function. Will also see that we've got this other option se frame. Okay, which is going to save the current frame. So I'm gonna go to say frame now on Copy that. I'm gonna replace save abstract PNG and exit with say frame. Okay, So if I play this now, Okay, I'm press the space bar, okay. Or any keep. Then it's gonna save a frame, and you can see it's saving the frames, and it's numbered them. Based on the number of times it's refreshed. So if I come back here now and I press, it's gonna save another frame, and I can keep pressing and save different friends. Okay? We're saving a tiff hip, and that's a file that we can we can use as well. Okay, so I'm gonna stop this now, okay? And so if we come back to say frame okay, you can see we can also adding some options for that as well. So if I type in, say, frame on type in abstract, Okay, I press play. Then as it plays through, just bring up the death stop here. You'll see now we can press the space bar saving out of PNG, and it's got the filing that we've chosen on Also, it's numbered those saved friends. My case. There's a good way of saving out France. We can also add, say, frame into this main void draw loop as well. But it will slow down the clip as it's kind of working. So that's one thing to kind of bear in mind if you do want to do that because that's how toe you save and say frame to save our images in processing.