20 Best Fancy Fonts With Decorative Alphabet Letters (2018)

Post pobrano z: 20 Best Fancy Fonts With Decorative Alphabet Letters (2018)

Need a fancy font? Check out this inspiring list of premium resources!

20 Best Decorative Fonts

How do you stand out from the crowd in design? Though many are pulled to the popular minimalist trends, designers are now learning the incredible benefits of stepping out of their comfort zone.

Maybe your work just needs a refresher. So try out a new font with fancy alphabet letters!

Today, we bring you a phenomenal collection of 20 premium fonts to upgrade your work. Transform your designs with stylish, decorative fonts that will leave your audience in wonder.

Add beautiful characters to your projects with cool letters, swashes, and decorations. No matter your personal style preferences, these premium fonts will freshen up your work for impressive results.

Check out this collection of the best fancy fonts curated by Envato Market and Envato Elements.

Kaley Elegant Typeface

Let’s start off with this beauty, the Kaley typeface. A modern, elegant font with subtly decorative letters, this font is very classy and sophisticated. It also supports multiple languages! Create a harmonious appearance for your headlines and text using this wonderful, inviting font.

Kaley Elegant Typeface

Quality Decorative Font Duo

Quality is an extraordinary decorative font like no other. It features a simple script design with inspiring floral decorations for the avid nature enthusiast. Launch your natural brand with a stunning font style that is sleek and sophisticated. Try it out on logos, packaging, and even creative headlines!

Quality Decorative Font Duo

Soft Vintage Scandinavian Decor Font

Cultures from all over the world inspire design every day. This soft vintage decor font is crafted after common Scandinavian patterns and themes. Enjoy your creative process even more by combining this font with beautiful craft projects or vintage-inspired design. Included is one regular font as well as a bold type, and they come in various formats.

Soft Vintage Scandinavian Decor Font

Caernarfon Font

The Victorian era was the age of elaborate letters and fascinating decorations. Draw inspiration from this creative era with the impeccable Caernarfon font. Created to emulate the popular styles of vintage branding, this type features a four-font system you can layer for even more impact.

Caernarfon Font

Morning Glory Font

Our next font is another incredible design inspired by the Victorian era. The Morning Glory typeface is a clever take on the fashion, politics, and creative branding of the past. Use it on many cool projects from clothing merchandise to vintage posters and books!

Morning Glory Font

Brewski Brewery Vintage Typeface

Take your vintage designs to a whole new level with the Brewski Brewery typeface. Inspired by the relaxed vibes of vintage brewery packaging, this typeface features strong, hand-drawn letters that are sure to make an impact. Enjoy a full pack of letters, numbers, and symbols in this set!

Brewski Brewery Vintage Typeface

Pathways Font

Sometimes the path you need to take is the one covered in vintage decoration. The Pathways font is the perfect mix of retro design and lovely, handmade script letters. Featuring three different styles, including circular strokes, rectangular strokes, and a rough version, this font is clean and easy to use.

Pathways Font

Burnts Maker Font

Creating messy letters is a lot harder than it looks. That’s why the Burnts Maker font is essential for any new designer. Tag your favorite t-shirts, album covers, and festival posters with fast, hand-drawn letters. Embrace the cool style of street culture with this premium font.

Burnts Maker Font

The Crow – Vintage Style Font

Designers are often inspired by famous stories to create their elaborate fonts. And this decorative typeface is no different. It draws inspiration from the eclectic vintage typefaces of the past for a full pack of eight creative fonts with fascinating details. Use it on books, posters, and more!

The Crow - Vintage Style Font

Karmela Script

Fancy a lovely script for your latest project? Check out the stunning Karmela script. A great font type for magazines, logos, and more, this font is inspired by the incredible handmade brush lettering of the 50s and 60s. Pair it with your favorite vintage projects for the perfect combo!

Karmela Script

Jack Reacher Typeface

Halloween is right around the corner, so now is the time to load up on fancy spooky fonts! This awesome Jack Reacher typeface, for instance, is the embodiment of Halloween itself. It features tall, bold letters with sharp serif details for more flair and style. Add it to your Halloween posters for more magic!

Jack Reacher Typeface

MacLaurent Font

Do you love vintage design? Many decorative fonts incorporate amazing handwritten techniques just like the designs from long ago. Now you can make a well-crafted logo or headline with the fascinating MacLaurent font. A set of display typefaces with upper and lowercase letters, this download also features a helpful web font.

MacLaurent Font

Spacethink Typeface

Embody
the rocker spirit with the awesome Spacethink typeface. Featuring five
style options to diversify your projects, this typeface pack is edgy
and unique. Get the latest update to enjoy fantastic typefaces for
logos, concert gigs, and album covers.

Spacethink Typeface

Auro Font

Explore the futuristic flair of space design with the stunning Auro font. This font features a unique design inspired by the galaxy and various constellations. It gives off a cool, futuristic vibe that is great for space posters, alien themes, and everything in between. Try it out with a bold, glowing effect like the example below!

Auro Font

Geomath Font

Geometric shapes have always been a part of impressive design. That’s why many designers use them in their typefaces, like the Geomath font. This pack features three extraordinary fonts with 175 ornaments to decorate your designs even further. Check it out!

Geomath Font

Geeko Font

If you love the tech world as much as the next creative, then you’re sure to love the Geeko font. A creative, tech-inspired typeface, this font is influenced by motherboards and supremely minimalist design. Create a compelling logo today with just one extraordinary font!

Geeko Font

Lucy Glitch Typeface

Glitch effects are usually applied to photos, but now you can use them for font types too! The awesome Lucy Glitch typeface pulls off the clever look of digital failure for an impactful new font. Check out the full set of letters, numbers, and symbols in this set to pair with your next project.

Lucy Glitch Typeface

Clobot Typeface

Toughen up your brand with mighty, strong letters. The Clobot font is stylish but firm. It features a versatile set of alternative letters and ligature glyphs to allow you to explore many font options. Best suited to posters and t-shirt designs, this typeface is one you’ll definitely want in your arsenal!

Clobot Typeface

Hello Stranger Typeface

Hello stranger. Is design on your mind today? Match the perfect script font to your typography with this fancy, handwritten typeface. Featuring a natural, handmade design with casually written letters, this font supports many languages and formats. Give it a shot!

Hello Stranger Typeface

Space DF

2018 has been the year for space design. With ultraviolet as the color of the year, many designers are drawn to space-themed fonts like this futuristic, decorative type. Just plug in your name or favorite phrase to test-drive this font in seconds. Check it out!

Space DF

More Font Inspiration

Ready to get fancy? Explore many creative styles with decorative fonts your audience will love. I hope this collection has inspired you with many ways to approach inviting typographic design.

Need more cool fancy fonts? Check out these collections:

Tried any of these assets? Let us know! Tell us your favorite decorative fonts in the comments below.

This has been a selection of premium resources perfect for the avid designer. For more fancy fonts, check out Envato Market and Envato Elements, or enlist the help of our talented professionals at Envato Studio. Happy designing!

Working With Events in React

Post pobrano z: Working With Events in React

Most of the behavior in an application revolves around events. User enters a value in the registration form? Event. User hits the submit button? Another event. Events are triggered a number of ways and we build applications to listen for them in order to do something else in response.

You may already be super comfortable working with events based on your existing JavaScript experience. However, React has a distinct way of handling them. Rather than directly targeting DOM events, React wraps them in their own event wrapper. But we’ll get into that.

Let’s go over how to create, add and listen for events in React.

Creating Events

We’ll start by creating a form that has an input and a button. An event will be triggered when a value is entered. The button is used to call a function which will reverse that value.

Here’s how it’ll work:

  • An empty input field allows the user to enter text.
  • An onChange event is triggered when values are entered in the input. This calls a function — handleChange() — that is used to set a new state for the input.
  • When the „Reverse Text” button is clicked, another event is triggered. This calls a function — handleReverse() — to set a new state for reversedText.

Here’s that translated into code:

class App extends React.Component {
  state = {
    /*  Initial State */
    input: "",
    reversedText: ""
  };

  /* handleChange() function to set a new state for input */
  handleChange = event => {
    const value = event.target.value;
    this.setState({
      input: value
    });
  };

  /* handleReverse() function to reverse the input and set that as new state for reversedText */
  handleReverse = event => {
    event.preventDefault();
    const text = this.state.input;
    this.setState({
      reversedText: text
        .split("")
        .reverse()
        .join("")
    });
  };

  render() {
    return (
      <React.Fragment>
        { /* handleReverse() is called when the form is submitted */ }
        <form onSubmit={this.handleReverse}>
          <div>
            { /* Render input entered */}
            <label>Text: {this.state.input}</label>
          </div>
          <div>
           { /* handleChange() is triggered when text is entered */ }
            <input
              type="text"
              value={this.state.input}
              onChange={this.handleChange}
              placeholder="Enter a text"
            />
          </div>
          <div>
            <button>Reverse Text</button>
          </div>
        </form>
        { /* Render reversed text */}
        <p>Reversed Text: {this.state.reversedText}</p>
      </React.Fragment>
    );
  }
}}

See the Pen React Event Pen – form by Kingsley Silas Chijioke (@kinsomicrote) on CodePen.

Listening to component events

Let’s say you have a component like this;

class IncrementButton extends React.Component{
  render() {
    return (
      <React.Fragment>
        <button>+</button>
      </React.Fragment>
    )
  }
}

Will including it in your App component like this work?

class App extends React.Component{
  state = {
    count: 0
  }

  handleIncrement = (event) => {
    this.setState({ count: this.state.count + 1})
  }

  render() {
    return(
      <React.Fragment>
        <h1>{this.state.count}</h1>
        <IncrementButton onClick={this.handleIncrement} />
      </React.Fragment>
    )
  }
}

No, it won’t because you can only listen to events on DOM elements. We touched on this at the beginning of the post, but React components are wrappers for DOM elements. That means we essentially have a layer that we need to pass through to listen for the event.

The way around this is to pass the event handler as a prop to the child component. Then the prop is passed down to the click event as an attribute like so:

class IncrementButton extends React.Component{
  render() {
    return (
      <React.Fragment>
        <button onClick={this.props.increaseButton}>+</button>
      </React.Fragment>
    )
  }
}

class App extends React.Component{
  state = {
    count: 0
  }

  handleIncrement = (event) => {
    this.setState({ count: this.state.count + 1})
  }

  render() {
    return(
      <React.Fragment>
        <h1>{this.state.count}</h1>
        <IncrementButton increaseButton={this.handleIncrement} />
      </React.Fragment>
    )
  }
}

See the Pen React Event Pen – Component Events by Kingsley Silas Chijioke (@kinsomicrote) on CodePen.

You could make use of a stateless functional component instead:

const IncrementButton = (props) => {
  return (
    <React.Fragment>
      <button onClick={props.increaseButton}>+</button>
    </React.Fragment>
  )
}

Adding event listeners

There may be times when you want to make use of certain DOM events that are triggered when the component is mounted. Let’s see this using the resize event — we want to see the width of the window whenever it is resized.

class App extends React.Component{
  state = {
    windowWith: window.innerWidth
  }

  handleResize = (event) => {
    this.setState({ windowWith: window.innerWidth })
  }

  render() {
    return(
      <React.Fragment>
        <h1>Window Width</h1>
        <h1>{this.state.windowWith}</h1>
      </React.Fragment>
    )
  }
}

If we create a component and try it out like we have below, then the event will not be triggered. We’ll need to add the event listener (handleResize() in this case) and the event type like we have here:

class App extends React.Component{
  state = {
    windowWith: window.innerWidth
  }

  handleResize = (event) => {
    this.setState({ windowWith: window.innerWidth })
  }
  
  componentDidMount() {
    window.addEventListener('resize', this.handleResize)
  }

  componentDidUnmount() {
    window.removeEventListener('resize', this.handleResize)
  }

  render() {
    return(
      <React.Fragment>
        <h1>Window Width</h1>
        <h1>{this.state.windowWith}</h1>
      </React.Fragment>
    )
  }
}

See the Pen React Event Pen – addEventListener by Kingsley Silas Chijioke (@kinsomicrote) on CodePen.

Now, the event listener will be added when the component mounts. That means our component is actively listening to the browser window and will display its width when it updates.

In summary

OK, so we covered quite a bit of ground in a very small amount of space. We learned that React does not connect directly to a DOM event, but rather Synthetic Events that are wrappers for DOM events. We dug into the process for creating event listeners so that they attach to Synthetic Events and, from there, made sure that a component will update when those events are triggered.

Additional resources

The post Working With Events in React appeared first on CSS-Tricks.

Working With Events in React

Post pobrano z: Working With Events in React

Most of the behavior in an application revolves around events. User enters a value in the registration form? Event. User hits the submit button? Another event. Events are triggered a number of ways and we build applications to listen for them in order to do something else in response.

You may already be super comfortable working with events based on your existing JavaScript experience. However, React has a distinct way of handling them. Rather than directly targeting DOM events, React wraps them in their own event wrapper. But we’ll get into that.

Let’s go over how to create, add and listen for events in React.

Creating Events

We’ll start by creating a form that has an input and a button. An event will be triggered when a value is entered. The button is used to call a function which will reverse that value.

Here’s how it’ll work:

  • An empty input field allows the user to enter text.
  • An onChange event is triggered when values are entered in the input. This calls a function — handleChange() — that is used to set a new state for the input.
  • When the „Reverse Text” button is clicked, another event is triggered. This calls a function — handleReverse() — to set a new state for reversedText.

Here’s that translated into code:

class App extends React.Component {
  state = {
    /*  Initial State */
    input: "",
    reversedText: ""
  };

  /* handleChange() function to set a new state for input */
  handleChange = event => {
    const value = event.target.value;
    this.setState({
      input: value
    });
  };

  /* handleReverse() function to reverse the input and set that as new state for reversedText */
  handleReverse = event => {
    event.preventDefault();
    const text = this.state.input;
    this.setState({
      reversedText: text
        .split("")
        .reverse()
        .join("")
    });
  };

  render() {
    return (
      <React.Fragment>
        { /* handleReverse() is called when the form is submitted */ }
        <form onSubmit={this.handleReverse}>
          <div>
            { /* Render input entered */}
            <label>Text: {this.state.input}</label>
          </div>
          <div>
           { /* handleChange() is triggered when text is entered */ }
            <input
              type="text"
              value={this.state.input}
              onChange={this.handleChange}
              placeholder="Enter a text"
            />
          </div>
          <div>
            <button>Reverse Text</button>
          </div>
        </form>
        { /* Render reversed text */}
        <p>Reversed Text: {this.state.reversedText}</p>
      </React.Fragment>
    );
  }
}}

See the Pen React Event Pen – form by Kingsley Silas Chijioke (@kinsomicrote) on CodePen.

Listening to component events

Let’s say you have a component like this;

class IncrementButton extends React.Component{
  render() {
    return (
      <React.Fragment>
        <button>+</button>
      </React.Fragment>
    )
  }
}

Will including it in your App component like this work?

class App extends React.Component{
  state = {
    count: 0
  }

  handleIncrement = (event) => {
    this.setState({ count: this.state.count + 1})
  }

  render() {
    return(
      <React.Fragment>
        <h1>{this.state.count}</h1>
        <IncrementButton onClick={this.handleIncrement} />
      </React.Fragment>
    )
  }
}

No, it won’t because you can only listen to events on DOM elements. We touched on this at the beginning of the post, but React components are wrappers for DOM elements. That means we essentially have a layer that we need to pass through to listen for the event.

The way around this is to pass the event handler as a prop to the child component. Then the prop is passed down to the click event as an attribute like so:

class IncrementButton extends React.Component{
  render() {
    return (
      <React.Fragment>
        <button onClick={this.props.increaseButton}>+</button>
      </React.Fragment>
    )
  }
}

class App extends React.Component{
  state = {
    count: 0
  }

  handleIncrement = (event) => {
    this.setState({ count: this.state.count + 1})
  }

  render() {
    return(
      <React.Fragment>
        <h1>{this.state.count}</h1>
        <IncrementButton increaseButton={this.handleIncrement} />
      </React.Fragment>
    )
  }
}

See the Pen React Event Pen – Component Events by Kingsley Silas Chijioke (@kinsomicrote) on CodePen.

You could make use of a stateless functional component instead:

const IncrementButton = (props) => {
  return (
    <React.Fragment>
      <button onClick={props.increaseButton}>+</button>
    </React.Fragment>
  )
}

Adding event listeners

There may be times when you want to make use of certain DOM events that are triggered when the component is mounted. Let’s see this using the resize event — we want to see the width of the window whenever it is resized.

class App extends React.Component{
  state = {
    windowWith: window.innerWidth
  }

  handleResize = (event) => {
    this.setState({ windowWith: window.innerWidth })
  }

  render() {
    return(
      <React.Fragment>
        <h1>Window Width</h1>
        <h1>{this.state.windowWith}</h1>
      </React.Fragment>
    )
  }
}

If we create a component and try it out like we have below, then the event will not be triggered. We’ll need to add the event listener (handleResize() in this case) and the event type like we have here:

class App extends React.Component{
  state = {
    windowWith: window.innerWidth
  }

  handleResize = (event) => {
    this.setState({ windowWith: window.innerWidth })
  }
  
  componentDidMount() {
    window.addEventListener('resize', this.handleResize)
  }

  componentDidUnmount() {
    window.removeEventListener('resize', this.handleResize)
  }

  render() {
    return(
      <React.Fragment>
        <h1>Window Width</h1>
        <h1>{this.state.windowWith}</h1>
      </React.Fragment>
    )
  }
}

See the Pen React Event Pen – addEventListener by Kingsley Silas Chijioke (@kinsomicrote) on CodePen.

Now, the event listener will be added when the component mounts. That means our component is actively listening to the browser window and will display its width when it updates.

In summary

OK, so we covered quite a bit of ground in a very small amount of space. We learned that React does not connect directly to a DOM event, but rather Synthetic Events that are wrappers for DOM events. We dug into the process for creating event listeners so that they attach to Synthetic Events and, from there, made sure that a component will update when those events are triggered.

Additional resources

The post Working With Events in React appeared first on CSS-Tricks.

How to Create an Emotional Autumn Scene With Adobe Photoshop

Post pobrano z: How to Create an Emotional Autumn Scene With Adobe Photoshop

Final product image
What You’ll Be Creating

In this tutorial, I’ll show you how to use Adobe Photoshop to create an emotional autumn scene featuring a woman watching falling leaves on a bridge. 

First, we’ll build the base scene with the sky and a mountain, and we’ll paint light. After that, we’ll add the tower, ivy, and bridge, and we’ll blend them together using adjustment layers, masking, and brushes. Later, we’ll import the trees, retouch the model, and add the falling leaves. We’ll use several adjustment layers to complete the final effect.

Tutorial Assets

The following assets were used during the production of this tutorial:

1. How to Build the Base Scene

Step 1

Create a new 2000 x 1286 px document in Photoshop with the given settings:

new file

Step 2

Open the sky image and drag it to the white canvas using the Move Tool (V). Convert this layer to a Smart Object.

add sky

Step 3

Go to Filter > Blur > Gaussian Blur and set the Radius to 6 px. This step is to separate the background and the main elements and helps to increase the depth.

sky gaussian blur

Step 4

Select Layer > New Adjustment Layer > Color Balance to change the sky’s color. Alter the Midtones values:

sky color balance

Step 5

Make a Curves adjustment layer to increase the contrast and vibrance of the sky.

sky curves

Step 6

Open the mountain image and place it in the lower section of the main canvas.

add mountain

Click the second icon at the bottom of the Layers panel to add a mask to this layer. Use a soft round brush with black color to remove the hard edges of the sky and blend it with the existing background.

mountain masking

Step 7

Apply a Gaussian Blur of 4 px to this layer to match the softness of the mountain with the existing sky.

mountain gaussian blur

Step 8

Create a Hue/Saturation adjustment layer and set it as Clipping Mask. Alter the Reds values.

mountain hue saturation

Step 9

Make a Curves adjustment layer (set it as Clipping Mask) to brighten the mountain and lower part of the sky. On this layer mask, use a soft black brush to erase the left bottom of these areas so they won’t be too bright after applying this adjustment layer.

mountain curves

Step 10

To change the light position (I’ve aimed to lift it up), create a new layer on top of the other layers and use a soft brush with the color #ffafb8 to paint on the middle right of the sky. Alter this layer mode to Overlay 100% and add a mask to this layer. Use a soft brush to remove the light on the lower area.

paint soft light
soft light result

Step 11

Make a new layer and use a soft brush with the color #ffba69 to paint the highlight on the right edge of the sky. Change this layer to Hard Light 90%.

paint highlight

2. How to Import the Tower

Step 1

Drag to find the angle of the tower you want or feel free to use your own. Here is the angle I’ve chosen.

select tower

Place the tower in the left side of the main canvas and flip it horizontally to fit the light direction on the right (Edit > Transform > Flip Horizontal).

add tower

Step 2

Make a Curves adjustment layer to darken the left of the tower as it’s in the shadow area. On this layer mask, paint on the right to keep its brightness.

tower curves 1

Step 3

Use another Curves adjustment layer to bring more light to the right side. Paint on the left and the hidden areas so they won’t be brightened by this adjustment layer.

tower curves 2

Step 4

Create a new layer, change the mode to Overlay, and fill with 50% gray.

tower burn new layer

Activate the Burn Tool (O) with Midtones Range and Exposure about 10-15% to strengthen the shadow on the windows and fix some light details. You can see how I did it with Normal mode and the result with Overlay mode.

tower burning result

Step 5

Add a Color Balance adjustment layer to bring some warm tone and light to the tower.

tower color balance midtones
tower color balance highlights

Step 6

Use a Photo Filter adjustment layer and pick the color #ec2100 to bring more red to the hidden area of the tower. On this layer mask, paint on the bright side of the tower so it won’t be affected by this adjustment layer.

tower photo filter

3. How to Add the Ivy

Step 1

Open the ivy image and extract it from the background using your own method. Use the Lasso Tool (L) to select the ivy part on the top, drag it into our working document, and place it onto the tower.

add ivy 1

Add a mask to this layer and use a small, hard, black brush to carefully remove some hard edges from the ivy.

ivy 1 masking

Step 2

Take different parts from the ivy image to add to the tower, using layer masks if needed to delete the unwanted details. I recommend you use the hard black brush when masking the edges of the ivy, otherwise the result would look unnatural.

add more ivies

Step 3

Create a new layer below the ivy layers and use a soft brush with the color #16130f and Opacity about 30-40% to paint shadow for the ivy on the tower’s wall.

ivies shadow

Step 4

Select all the ivy layers and hit Control-G to make a group for them. Change this group’s mode to Normal 100% and add a Hue/Saturation adjustment layer to alter the ivy’s color.

ivies hue saturation

Step 5

Make a Color Balance adjustment layer and alter the Midtones settings:

ivies color balance

Step 6

Create a Curves adjustment layer to darken the ivy part on the hidden area. Paint on the rest so that it won’t be darkened by this adjustment layer.

ivies curves 1

Step 7

Make another Curves adjustment layer to bring highlight to the front of the tower. The selected areas show where to paint on the layer mask.

ivies curves 2

Step 8

Create a new layer on top of the other layers and use a soft brush with the color #efe29c to paint yellow light for the ivy on the tower’s front. Change this layer mode to Overlay 100%.

ivies light

4. How to Retouch the Bridge

Step 1

Cut out the bridge and place it in the lower section of the canvas. Add a mask to this layer and use the Polygonal Lasso Tool to select the unmasked background and the higher parts of the bridge. Use a hard black brush to paint within these selections to remove them.

add bridge
bridge selecting
bridge masking

Step 2

Make a Hue/Saturation adjustment layer to change the bridge’s color:

bridge hue saturation

Step 3

Create a Color Balance adjustment layer with the same purpose. Change the Midtones and Highlights values:

bridge color balance 1 midtones
bridge color balance 2 highlights

Step 4

Add another Color Balance adjustment layer and alter the Midtones and Shadows settings. Paint on the bright section of the columns so it won’t be affected by this adjustment layer.

bridge color balance 2 midtones
bridge color balance 2 shadows

Step 5

Make a Curves adjustment layer to increase the light and contrast of the bridge. On the layer mask, paint on the shadow/hidden areas of the bridge so they won’t become too dark.

bridge curves

Step 6

Create a new layer, change the mode to Overlay 100%, and fill with 50% gray. Use the Dodge and Burn Tool to refine the light and shadow of the bridge.

bridge DB

5. How to Add the Trees

Step 1

Add tree 1 to the bottom right and tree 2 (I’ve chosen image 1) to the bottom left of the canvas. On each of these layers, apply a Gaussian Blur of 4 px to soften the trees.

add tree 1 and tree 2

Step 2

Double click the tree 1 layer, and choose Inner Shadow. Set the color of shadow to white to add some highlights on the tops of the leaves.

tree 1 inner shadow
tree 1 inner shadow result

Step 3

Create two Hue/Saturation adjustment layers to change the color of the trees.

tree 1 hue saturation
tree 2 hue saturation

Step 4

Make a Curves adjustment layer to brighten the top of the tree 2. Paint on the shadow area of the tree to keep its lightness.

tree 2 curves

Step 5

Create a group for the tree layers and add a Color Balance adjustment layer within this group to turn the trees’ color to pink.

tree 1 and 2 color balance

Step 6

Add a Curves adjustment layer to bring more light to the top/front of the trees.

tree 1 and 2 curves

Step 7

Make a new layer on top of the layers and use a soft brush with the color #efe29c and Opacity about 40-50% to paint on top of the trees. Change this layer mode to Overlay 100%.

tree 1 and 2 light

Step 8

Open the tree 3 image and use the Polygonal Lasso Tool to select the tree on the left and drag it to the right of the main canvas. Flip it horizontally and use the Free Transform Tool (Control-T) with the Warp mode to tweak the tree’s form to a curve.

add tree 3

Step 9

Apply a Gaussian Blur of 7 px to this tree layer. The bigger blur Radius helps to increase the depth of the scene.

tree 3 gaussian blur

Step 10

Add a Hue/Saturation adjustment layer to desaturate the tree.

tree 3 hue saturation

Step 11

Make a Color Balance adjustment layer to bring red to this tree.

tree 3 color balance midtones
tree 3 color balance shadows

Step 12

Use a Curves adjustment layer to darken the hidden area of the tree. Paint on the front of the tree to keep its lightness.

tree 3 curves

Step 13

Isolate tree 4 and place it on the top of tree 3. Use Control-T to rotate it to fit the angle/pose of tree 3.

add tree 4
tree 4 masking

Step 14

Apply a Gaussian Blur of 9 px to this tree layer to make the tree fit the softness of tree 3.

tree 4 gaussian blur

Step 15

Make a Hue/Saturation adjustment layer to alter the tree’s color.

tree 4 hue saturation

Step 16

Create a Curves adjustment layer to brighten the front of the tree. On the layer mask, paint on the shadow details to keep its contrast.

tree 4 curves

Step 17

Create a new layer, change the mode to Overlay 100%, and fill with 50% gray. Use the Burn Tool to darken some details in the hidden area.

tree 4 burning

6. How to Retouch the Model

Step 1

Cut out the model, place her onto the middle of the bridge, and flip her horizontally.

add model

Step 2

Go to Edit > Puppet Warp to lift her head up.

model puppet warp

Step 3

Go back to the original model image and select her cloak to add to the model in the working document. Use Control-T with the Warp mode to tweak the cloak to enlarge its bottom.

add model cloak

Add a mask to this layer to remove the bottom part below the model’s feet.

cloak masking

Step 4

Use the Dodge and Burn Tool for each of these layers to paint light/shadow and details of the model and cloak.

model DB

Step 5

Create a group for the model layers and add a Hue/Saturation adjustment layer to desaturate the model.

model hue saturation

Step 6

Make a Color Balance adjustment layer to match the model’s color with the rest of the scene.

model color balance midtones
model color balance shadows
model color balance highlights

Step 7

Use a Curves adjustment layer to strengthen the highlight on the front of the model. Paint on the back so it won’t be brightened by this adjustment layer.

model curves

7. How to Add the Leaves

Step 1

Open the leaves image. Take the first leaf (from the left) to add to the main canvas and use Control-T with the Warp mode to tweak the leaves and make it much smaller.

add leaf 1

Step 2

Take different leaves to add around the model and distort them into different forms.

add more leaves

Step 3

Add more leaves around the canvas and apply the Gaussian Blur filter to these leaves. Vary the blur Radius from 2 to 12 px to increase the depth of the scene. For the bigger leaves on the edges, use a bigger blur Radius.

add blurred leaves

Step 4

Create a group for the leaves layers and use a Hue/Saturation adjustment layer to change the leaves’ color.

leaves hue saturation

Step 5

Make a Color Balance adjustment layer to bring yellow light to the leaves.

leaves color balance

Step 6

Add a Curves adjustment layer to darken the leaves. Paint on the right of the leaves to reveal the light there.

leaves curves 1
leaves curves 1 masking
leaves curves 1 masking result

Step 7

Make another Curves adjustment layer to bring more light to the bright side of the leaves. Paint on their left side to keep the lightness.

leaves curves 2
leaves curves 2 masking

8. How to Make the Final Adjustments

Step 1

Create a Color Balance adjustment layer on top of the other layers and alter the Midtones values.

whole scene color balance 1

Step 2

Add a Photo Filter adjustment layer and pick the color #f2eb83.

whole scene photo filter

Step 3

Make a Selective Color adjustment layer and change the Reds, Yellows and Magentas settings. On the layer mask, paint on the top left of the scene to reduce the red effect there.

whole scene selective color reds
whole scene selective color yellows
whole scene selective color magentas

Step 4

Use a Color Balance adjustment layer to increase the vibrance of the sunlight and the edges. Paint on the rest so it won’t be affected by this adjustment layer.

whole scene color balance 2 midtones
whole scene color balance 2 highlights

Step 5

Make a Curves adjustment layer to darken the edges of the canvas. Paint on the middle to keep its brightness.

whole scene curves

Congratulations, You’re Done!

I hope that you’ve enjoyed my tutorial and learned something new. Feel
free to share your ideas or comments in the box below—I’d love to see
them. Enjoy Photoshopping!

Still interested in falling leaves? Here’s something for you:

final result