How To Use Lines In Photography Composition

A powerful way to improve and effectively compose my photo’s whilst shooting is by simply using lines. If used correctly I can significantly increase the impact of my images. Lines affect photographic composition in two ways:

  1. To create a mood / an emotion.
  2. They lead the eye through the photograph

Affecting the mood or adding emotional content to the images will more likely stick to the minds of whoever’s viewing the photo, sticking more to their memory. Which a successful photographer always wants.

Leading the viewer’s eye using lines keeps the viewer’s attention focused on the image for longer. This is perfect for advertising and marketing to lure the audience in and make them feel engaged.

Captured by Stuart Hughes
Captured by Stuart Hughes
Captured by Coy Aune
Captured by Coy Aune


“Leading Lines” can be broken into the following:

  • Horizontal
  • Vertical
  • Diagonal

Horizontal lines – are stable and relaxed. They can serve to provide a contrast with more dynamic parts of an image. Examples can be found in buildings and horizons etc.

Vertical lines – imbue height and strength, especially when the photo is in portrait. They can project either a mood of stability or peace. If the mood projected is stability, it will function similarly to horizontal lines that conveys an implication of substance or permanence. Examples of vertical lines can be found in rock formations, power line poles and vertical lines of buildings.

Diagonal lines – give strength and emphasis. You use them to guide the viewers eye to the main subject. It provides a sense of depth perspective. It can give the photo a sense of action sometimes or make an image more dynamic. Diagonal lines are a very powerful tool if used correctly. Their power resides in their ability to grab the attention of the viewer; the viewer’s eye tend to travel back and forth along diagonals. Examples of diagonal lines can be found not only of objects such as trees and pavements, however colour as well. For instance, a diagonal section of colour can add drama to an image of a flower. There are plenty of diagonal examples: roads, streams, waves and branches.

Concept & Ideation: Sequence of images showing individual letters from the Alphabet

For this particular assignment we were asked to look for ‘naturally-occurring’ shapes which can be photographically  framed as
letters from the alphabet. We were asked to stick to a theme, mine being Nature. A Photographer needs to develop a view of the world which involves a sensitivity to pattern,
texture, colour, shape, and form. This exercise helps to develop this viewing ability. Once
you have created your photo-alphabet you will never be able to view the world in quite the
same way again, and you will always be able to call upon your ‘photographer’s eye’.


Screen Shot 2014-10-09 at 16.37.26

To make the whole process of making my collage on Photoshop easier I wanted to give myself a custom grid to use as a template to size my images into. You can toggle the grid view using the shortcut “cmd + ‘” on Mac or “ctrl + ‘” on Windows



















So at this stage I’ve already got all of my individual images on their own separate layers and have started re-sizing them to fit each one of those squares upon the grid.

I knew I didn’t have enough squares on the grid for the all my images. But I knew it would be visually interesting if I aligned the two last images, ‘Y’ and ‘Z’, in the  centre at the bottom as opposed to the left. That would look quite dull if you ask me. I wanted my collage to look unique and artistic. So I decided to also make a border around it aswell.

How I did this was I selected the Marquee tool and drew a thin black line down along the edge of the collage on the left. Had to resize it a little and then I filled the selection in with black and gave it a white coloured stroke of 10px. I then duplicated each layer, moving and resizing it to fit around the edges, to make it look like this:

I then saved it as three files:

PNG: To save as an image that also preserves its transparency of background.

JPEG: For standard viewing on screen and web devices. Also this particular file type compresses the file so it loses it’s image quality if reopened and re-sized in a document. The upside is the file size is quite low compared to PNG files.

PSD: To save as a Photoshop Document incase I would like to revert any changes at a later date.

Finished Design:

Nondestructive Editing in Photoshop

Editing images in a nondestructive way allows you to make changes without overwriting the original image data, which remains available in case you want to revert to it at a later date. Nondestructive editing doesn’t remove data from an image, so the image quality doesn’t degrade when you make edits. There are several techniques you can perform whilst editing in Photoshop to execute this type of editing:

Working with adjustment layers – Adjustment layers apply colour and tonal adjustments to an image without permanently changing pixel values.

Transforming with Smart Objects – Smart Objects enable nondestructive scaling, rotating, and warping.

Filtering with Smart Filters – Filters applied to Smart Objects become Smart Filters and allow for nondestructive filter effects.

Adjusting variations, shadows and highlights with Smart Objects – Shadow/Highlight and Variations commands can be applied to a Smart Object as Smart Filters.

Retouching on a separate layer – Clone Stamp, Healing Brush, and Spot Healing Brush tools let you retouch non-destructively on a separate layer. Be sure to select Sample All Layers from the options bar (select Ignore Adjustment Layers to ensure that adjustment layers won’t affect the separate layer twice). You can discard unsatisfactory retouching, if necessary.

Editing in Camera Raw – Adjustments to batches of raw, JPEG, or TIFF images preserve the original image data. Camera Raw stores adjustment settings on a per-image basis separately from the original image files.

Opening Camera Raw files as Smart Objects – Before you can edit Camera Raw files in Photoshop, you must configure settings for them with Camera Raw. Once you edit a Camera Raw file in Photoshop, you can’t reconfigure Camera Raw settings without losing the changes. Opening Camera Raw files in Photoshop as Smart Objects enables you to reconfigure Camera Raw settings at any time, even after you edit the file.

Cropping non-destructively – After you create a cropping rectangle with the Crop tool, select Hide from the options bar to preserve the cropped area in a layer. Restore the cropped area anytime by choosing Image > Reveal All or by dragging the Crop tool beyond the edge of the image. The Hide option is unavailable for images that contain only a background layer.

Masking – Layer and vector masks are nondestructive because you can re‑edit the masks without losing the pixels they hide. Filter masks let you mask out the effects of Smart Filters on Smart Object layers.

Procedual & Modular Programming

Procedure-orientated programming is a type of programming where a structured method of creating programs is used. With procedure-orientated programming, a problem is broken up into parts and each part is then broken up into further parts. All these parts are known as procedures. They are separate but work together when needed. A main program centrally controls them all.

Some procedure-orientated languages are COBOL, FORTRAN and C.


Object-orientated programming is a type of programming where data types representing data structures are defined by the programmer as well as their properties and the things that can be done with them. With object-orientated programming, programmers can also create relationships between data structures and create new data types based on existing ones by having one data type inherit characteristics from another one.

In object-orientated programming (OOP), data types defined by the programmer are called classes (templates for real world objects to be used in a program). For example, a programmer can create a data type that represents a car – a car class. This class can contain the properties of a car (colour, model, year, etc.) and functions that specify what the car does (drive, reverse, stop, etc.)

Some object-orientated languages include C++, Java and PHP.

The Different Generations of Languages

There are currently five generations of computer programming languages. In each generation, the languages syntax has become easier to understand and easier for humans to read.

  • First generation languages (1GL) – Represents the very early, primitive computer languages that consisted entirely of 1’s and 0’s – the actual language that the computer understands (machine language).
  • Second generation languages (2GL) – The second generation is a step up from the first generation languages. It allows for the use of symbolic names instead of just numbers. Second generation languages are known as assembly languages. Code written in an assembly language is converted into machine language (1GL).
  • Third generation languages (3GL) – With the languages introduced by the third generation of computer programming, words and commands (instead of just symbols and numbers) were being used. These languages therefore had syntax that was much easier to understand. Third generation languages are known as “high level languages” and include C, C++, Java and Jacascript, among others.
  • Fourth generation languages (4GL) – The syntax used in 4GL is very close to human language, an improvement from the previous generation of languages. Fourth generation languages are typically used to access databases and include SQL and ColdFusion, among others.
  • Fifth generation languages (5GL) – Fifth generation languages are currently being used for neural networks. A neural network is a form of artifical intelligence that attempts to imitate how the human mind works.

Computer Programming Languages

There are many different types of languages. Not any computer programming language can do anything you want – there are limitations! Actually, different languages are used for different tasks and catered specifically for their own individual use.


Web Languages:

These are used for creating and editing pages on the web and can do anything from putting plain text on a webpage, to accessing and retieving data from a database. The different languages vary greatly in terms of power and complexity. Some of these languages shall be taught and learned throughout the degree I am studying here at BU and there is already one that I am highly familiar with – HTML.

  • HTML – Or the less abbreviated version Hyper Text Markup Language. It was invented by a British man named Tim Berners-Lee and the initial release was in 1993. It’s the core language of the world wide web (WWW) that is used to define the structure and layouts of web pages. HTML is written in the form of various HTML elements consisting of tags and attributes enclosed in angle brackets. HTML content is static – in other words the content does not move / does not change. This language does not specify how the page functions, only what it contains.
  • Javascript – This is a language developed by Netscape used to provide dynamic and interactive content on webpages. By using Javascript it is possible to communicate with HTML, create animations, create calculations, validate forms, etc.
  • XML – This is a language developed by the W3C and stands for Extensible Markup Language. It works like HTML, but unlike HTML, it allows for custom tags that are defined by programmers. XML allows for the transmission of data between applications and organisations through the use of these custom tags.
  • PHP – Hypertext Preprocesser is a powerful language used for many tasks such as data encryption, data access and form validation. It was created in 1994 by Rasmus Lerdorf to make this very thing possible.
  • Java – This is a language that usually gets confused with Javascript. These are two very different languages. Java is a highly powerful and flexible language created by Sun MircroSystems. It’s used to create applets (a program that’s executed from within another program) that run inside webpages as well as software applications. The things you can do with Java include interacting with the user, creating graphical programs, reading from files and a whole bunch of other stuff!


Software Languages:

Software laguages are used for creating executable programs and can create anything from simple console programs that print some text to the screen to entire operating systems. The different types of software languages also vary greatly in terms of power and complexity.

  • C – This is a an advanced programming language used for software application development. Originally developed by Dennis Ritchie in 1970 and was initially designed to be a systems programming languagte, but since then it has proven itself to be able to be used for various software applications such as business programs, engineering programs and even games. The UNIX OS is written in C.
  • C++ – A descendant of the C language. The difference between the two languages is that C++ is object-orientated. C++ is very popular for graphical applications.
  • Visual Basic – Developed by Microsoft and based on the BASIC language. Visual Basic is used for creating Windows applications.
  • Java – This is a language that usually gets confused with Javascript. These are two very different languages. Java is a highly powerful and flexible language created by Sun MircroSystems. It’s used to create applets (a program that’s executed from within another program) that run inside webpages as well as software applications. The things you can do with Java include interacting with the user, creating graphical programs, reading from files and a whole bunch of other stuff!


Introduction to Programming

This week I was introduced to what programming is as a whole, the misconceptions of programming, the programming vocabulary and last but not least an IDE (Integrated Development Environment) called Processer that is a software application used for Software development.

Programming is a set of instructions. These insctructions are written in particular types of languages to then be interpreted by a machine (usually with the goal of creating software). There are many programming misconceptions that gets thrown about:

  1. You have to be good at maths – False!
  2. Java and Javascript are not the same thing. They are both C based languages, but two very different languages.
  3. Programming isn’t creative. Of course it is, we create our own world and rules within it!
  4. Programming is too difficult.

Programming Vocabulary:

  • IDE – Integrated Development Environment.
  • Variable – Bulding blocks for all programming. Could be a number, a string of text or elements.
  • Parentheses – Open and closed brackets like this ( )
  • Functions & Methods – A whole set of instructions for one particular demand such as drive to my house. You would then save that as a function, but a method is saved to a Class.
  • Class – A class allows us to create a blueprint for everything.
  • Instance – When we create a person or an object it will be an instant of the class.
  • Data Type
  • Loops – When an instruction plays over and over again until the conditions are not met.
  • Compiler – When we’re typing a code and then we hit GO/Play.
  • Conditional Statement – Will tell you if a statement is true or false.
  • OOP (object orientated programming) – An example is if in a game something happens at the top of the screen, it will trigger something to happen at the bottom of the screen.