Posts

Showing posts from March, 2018

How to Make a Medical PowerPoint Presentation - Quickly

How to Create a Cartoon Text Effect in Adobe Photoshop

15 Top After Effects Video Templates for Creative 3D Effects

How to Create a Vintage Portrait Photo Manipulation in Adobe Photoshop

How to Write a Great Speech for Public Speaking in 7 Steps

Creating an Image Editor Using CamanJS: Layers, Blend Modes, and Events

Image
In the previous tutorial , you learned how to create an image editor using CamanJS which can apply basic filters like contrast, brightness, and noise to an image. CamanJS also has some other built-in filters like Nostalgia, Pinhole, Sunrise, etc., which we applied directly to the image. In this tutorial, we will cover some more advanced features of the library like Layers, Blend Modes, and Events. Layers in CamanJS In the first tutorial, we only worked with a single layer which contained our image. All the filters that we applied only manipulated that main layer. CamanJS allows you to create multiple layers to enable you to edit your images in a more sophisticated manner. You can create nested layers, but they will always be applied on their parent layer like a stack. Whenever you create a new layer and apply it on the parent layer, the default blend mode used will be normal . You can create a new layer on the canvas using the newLayer() method. When you create a new layer, you ca

Hotshots: Warm Mosque Light

25 Awesome Affinity Designer Textures, Assets & Resources (Free & Premium!)

How to Make a Video Tutorial

When and How to Use Wide Angle Zoom Lenses

Apple HomePod Explored and Explained

18+ Cool PowerPoint Templates (To Make Presentations in 2018)

Bootstrap 4 Is Here! Get Up to Speed in Our New Course

SVG Viewport and viewBox (For Complete Beginners)

19 New InDesign Templates Creatives Must Have in Their Arsenal

How to Create Your Own Diffusion Panel for Clean and Simple Video Lighting

How to Create a Quick Retro Video Glitch Text Effect in Adobe InDesign

How to Create a Beyoncé-Inspired Fashion Photo Collage: Photoshop in 60 Seconds

How to Quickly Outsource Fulfillment for Your Shopify Store With ShipBob

How to Create an Easter Basket Illustration in Adobe Illustrator

How to Protect Sheets & Lock Cells in Google Sheets

New Short Course: Code a Front-End App With GraphQL and React

Creating an Image Editor Using CamanJS: Applying Basic Filters

Image
A while back, I wrote some tutorials which described how to apply different kinds of filters and blend modes to an image using just CSS. This could be very helpful in situations where you want to show the grayscale, blurred, or high-contrast version of the same image. Instead of creating four different images, you could just apply these effects to the original image using a few lines of CSS.  Using CSS filters and blend modes works nicely in most cases. However, CSS doesn't modify the pixels of the image itself. In other words, the filters and blend modes or any other effects are not permanent.  If someone downloads an image with CSS filters applied to it, they will get the original image and not the modified version. This can be a major setback if you were planning on creating an image editor for your users. If you want the image modifications to be permanent and allow the user to download the modified image, you can use HTML5 canvas . The canvas element allows you to do a l

How to Talk About Design Decisions

15 Pro Adobe After Effects Intro Video Templates

How to Draw a Tree

How to Align Objects in Microsoft PowerPoint in 60 Seconds

20 Simple Resume Templates (Easy to Customize & Edit Quickly)

How to Create an Architecture Sketch Effect in Adobe Photoshop

New Course: 5 Ways to Brand Your Small Business With Envato Elements

15+ Best WooCommerce Themes: To Make a Better Online Store

A Checklist for Mixing and Mastering

Ionic From Scratch: Working With Ionic Components

12 Important Advantages of Responsive Web Design

Detaching Expo Apps to ExpoKit

Creating an Image Editor Using CamanJS: Creating Custom Filters and Blend Modes

Image
In the first tutorial of our CamanJS image editor series, we only used built-in filters to edit our images . This limited us to some basic effects like brightness, contrast, and 18 other more complicated filters with names like Vintage, Sunrise, etc. They were all easy to apply, but we were not in full control of the individual pixels of the image we wanted to edit. In the second tutorial, we learned about layers and blend modes , which gave us more control over the images we were editing. For instance, you could add a new layer on the canvas, fill it with a color or image, and then place it over the parent layer with a blend mode applied to it. However, we were still not creating our own filters, and the blend modes we could apply were limited to the ones already provided by CamanJS. The aim of this tutorial will be to teach you how to create your own blend modes and filters. We will also address some bugs present in the library and how you can patch them when using CamanJS in your

How to Make Multi-Preview Thumbnails With JavaScript Mouse Events

How to Create a Deep Diving Illustration in Adobe Illustrator

How to Create a Photorealistic Digital Painting in SketchBook Pro

The 28 Best (Must Have) Mac Apps (Essential for 2018)

How to Create LUTs in Adobe After Effects and Premiere Pro

15 Best Mac Interactive Presentation & SlideShow Software (2018)

Hotshots: A Malaysian Lady Preparing Food

Supercharging Your React Native App with AWS Amplify

International Artist Feature: Thailand

How to Create a Geometric Flamingo Bird in Adobe Illustrator

What Is a Corporate Headhunter? Vs. Recruiter & Hiring Manager

Modern Web Scraping With BeautifulSoup and Selenium

Create a Vintage, 50’s Style Auto Advertisement

How to Create a Ghostly Horror-Themed Photo Manipulation in Adobe Photoshop

3 Tips For Creating a More Organic Mix in Ableton

15 Best PHP Help Desk Scripts

How to Sort & Filter Spreadsheet Data in Google Sheets

New Short Course: A Designer’s Guide to Vue.js Components

Creating a Magnum Mecha Character in Maya: Part 3

Trend Watch: Duotones

How to Create an Instagram-Inspired Neon Text Effect: Photoshop in 60 Seconds

How to Create a Shatter Photoshop Effect Action

Vue.js Live: Code a Front-End App

49 Amazing Isometric Vectors and Icons

13 Quick Responsive Web Design Tips & Tricks for 2018

Why You Need a Content Team to Successfully Deliver Content

How to Create a Vintage Movie Text Effect in Adobe InDesign

How to Create a High-Contrast Skateboard Flyer in Adobe Photoshop

How to Resize Multiple Images in Microsoft PowerPoint in 60 Seconds

20 Best Responsive Video Sharing WordPress Themes

New Course: Animate a Rubber Hose Character in Cinema 4D

Challenge: Create a To-Do List in React

How to Create a Vintage Spring Portrait of a Girl in Adobe Illustrator

The Top 10 Most Customizable WordPress Themes for 2018

How to Create a 3D Black and Gold Text and Logo Mockup

The Beginner's Guide to SketchBook Pro

Cognitive Biases You Need to Master to Design Better Websites

How to Draw a Braid

How to Get the Guitar Heard Properly in a Band: Part 2

Image
In the previous tutorial I examined how the guitar competes with other instruments in a typical band set-up because of overlapping frequencies.  I also offered solutions, such as: Choose a guitar wisely, as wood, pickups, and so on have a bearing on being heard When working with another guitarist, go for the opposite of their set-up, such as guitar, amplifier and so on Point the speakers at your head Put distance between yourself and other instruments, such as drums and keyboards In this tutorial I’ll explain the choosing and setting up an amplifier. Before starting with the input, consider the output. The Most Overlooked Part of the Sound Whilst choosing the right guitar, amp and effects is important, the guitar speaker is often ignored. After all, speakers are speakers, right. Wrong. My epiphany occurred at a guitar show when a Celestion demonstrator switched between three speaker cabinets whilst playing. Despite all being from the same manufacturer, the difference fro

Deploy PHP Web Applications Using Laravel Forge

Create a Weight Tracker App With Cloud Firestore

12 Best Ted Talks of All Time (For Business Leaders in 2018)

10 Free Mac Apps to Achieve Health and Fitness Goals

Art for All: Celebrate Diversity in Design—Volume 7

How to Hide and Delete Slides in Keynote in 60 Seconds

Getting Started With the Mojs Animation Library: The Burst Module

Image
We started this series by learning how to animate HTML elements using mojs. In the second tutorial, we moved on to animation of built-in SVG shapes using the Shape module. The third tutorial  covered more ways of animating SVG shapes using the ShapeSwirl and stagger modules. Now, we will learn how to animate different SVG shapes in a burst formation using the Burst module. This tutorial will depend on concepts we covered in the previous three tutorials. If you have not already read them, I would suggest that you go through them first. Creating Basic Burst Animations The first thing that we need to do before we can create any burst animations is instantiate a Burst object. After that, we can just specify the values of different properties to control how the animation plays out. The names of a lot of properties in the Burst module are the same as the properties in the  Shape module. However, these properties perform very different tasks in this case. The left and right pro

How to Create a Grunge Text Effect Using a Displacement Map in Adobe Photoshop

How to Create a Trippy, Lenticular 3D Text Effect Illusion in Adobe Photoshop

How to Add Formulas & Functions in Google Spreadsheets

Easy Ways to Improve Your Copywriting Skills

CSS Grid Layout: A Quick Start Guide

How to Capture a Stylish Smoke Photograph

How to Create an Oreo-Inspired Icon in Adobe Illustrator

Decoding Lens Jargon: Image Stabilization, Coatings, and Advanced Focusing Motors

How to Make Responsive Business Websites With Templates

JWT Authentication in Django

How to Create a Minecraft Character in Affinity Designer

Detaching Expo Apps to ExpoKit: Concepts

The Basics of Computational Thinking

How to Create an Energy Effect Action in Adobe Photoshop

10 After Effects 3D Text Animation Templates for 2018

How to Create Cheap and Flexible Outdoor Video Lighting

15 Top Creative Smoke Effects for Adobe After Effects Videos

Jump Start Your Web Typography With “Archetype”

Conversation Design User Experiences for SiriKit and iOS

How to Create an Art Nouveau Wedding Invite in Adobe InDesign

20 Best Responsive HTML5 Website Design Business Templates

9 Benefits of 3PL eCommerce Order Fulfillment Services

How to Create a Dark-Themed Fashion Image in Adobe Photoshop

How to Draw Pokémon

10 Best Ad Manager WordPress Plugins

How to Create a Fireball Brush From Scratch in Adobe Photoshop

Code a Widget for Your Android App: Add a Configuration Activity

Cleaning Up Your Data With Go: Part 2

Image
Overview This is part two out of two in a series on cleaning up data using Go. In part one, we covered the basic text facilities of Go and working with CSV files. In this tutorial, we'll dive into actual data cleaning.  We'll start by understanding the problem of messy data and coming up with a strategy, and then we'll look into verifying individual fields, fixing the data where possible, and deciding what to do about missing values. Data Cleaning Strategy A strategy for cleaning up data should dictate what to do when encountering invalid, messy, partial, or missing data. It should also determine what level of reporting is needed about the cleanup process.  The data we're focusing on here is tabular data, where each row is independent. There are no nested hierarchies or connections between different rows of data. A lot of real-world datasets have this nice property.  Remove The simplest approach for dealing with invalid data is to remove it. If any field is missi

20 Best WordPress Travel Themes for Adventurous Blogs & Sites

How to Draw an Office Background in Adobe Illustrator

What Are the Life-Changing Benefits of Public Speaking?

Envato Tuts+ Community Challenge: Created by You, March 2018 Edition

How to Create a Dark Photo Manipulation With Adobe Photoshop

How to Make a Great LinkedIn Profile (+19 Best Tips)

Cleaning Up Your Data With Go: Part 1

Image
Overview One of the most important aspects of any application is validating its input. The most basic approach is just failing if the input doesn't satisfy the requirements. However, in many cases this is not enough. In many systems the data collection is separate from data analysis. It could be a survey or an old dataset.  In these cases, it is necessary to go over the entire dataset before analysis, detect invalid or missing data, fix what can be fixed, and flag or remove data that can't be salvaged. It is also useful to provide statistics about the quality of the data and what kinds of errors were encountered.  In this two-part series you'll learn how to use Go's text facilities, slice and dice CSV files, and ensure your data is spotlessly clean. In part one, we'll focus on the foundation of text processing in Go—bytes, runes, and strings—as well as working with CSV files. Text in Go Before we dive into data cleaning, let's start with the foundation of t

Get a WordPress Theme-Buying Checklist in Our New Course

9 Conversation Starters for Photographers on International Women's Day

Press for Progress: 40 Inspiring Quotes for Women Entrepreneurs

How to Externalize and Minify JavaScript

10 Women in Audio Production

10 Women Who Changed the Face of Computing

Diversity in Design: Women Pushing Boundaries in Tech

10 Things Men Can Do to Support Women in Tech

15 Cool Video Transition Effects for After Effects & Premiere Pro

Trend Watch: Hand-Drawn Illustration

10 Top Women in Tech Entrepreneurs to Watch in 2018

How to Use (Timesaving) Google Sheets Keyboard Shortcuts

5 Ways to Supercharge Website Navigation

Demystifying Python Recursion

Image
Most complex tasks in Python can be broken down into simpler subtasks. Recursion helps to achieve this, hence making the code clean and neat. This tutorial will introduce recursion, the benefits of recursion, and how to use it in Python programming. What Is Recursion? Recursion is a method of solving a problem with the solutions to smaller instances of the same problem. This approach can be applied to many types of challenges in programming. The Benefits of Using Recursion Some of the benefits of using recursion are: Recursion adds simplicity when writing code, hence making it easier to debug. Recursion reduces the amount of time taken by an algorithm to run as a function of the length of the input. Recursion is also preferred when solving very complex problems, especially problems on tree-based structures, because it performs better. Introduction to the Python Recursive Function Although recursion seems like a complicated procedure, it's not all that complicated. In lay

How to Create a Text Editor Icon Set in Adobe Illustrator

How to Create a Spiderman Inspired Text Effect in Adobe Photoshop

How to Draw a Turtle

Easy Version Control With Git in Android Studio

How to Open & View Keynote Presentations on PC (In 60 Seconds)

20 Best Landing Page WordPress Themes for 2018 Websites

Solving Player Frustration: Techniques for Random Number Generation

Image
If you strike up a conversation with an RPG fan, it won’t take long to hear a rant about randomized results and loot—and how frustrating they can be. Many gamers have made this irritation known, and while some developers have been creating innovative solutions, many are still forcing us through infuriating tests of perseverance. There’s a better way. By altering how we as developers utilize random numbers and their generators, we are able to create engaging experiences that push for that “perfect” amount of difficulty without pushing players over the edge. But before we get into that, let’s go over some basics of Random Number Generators (or RNGs for short). The Random Number Generator and Its Use Random numbers are all around us, being used to add variation to our software. In general, the major uses of RNGs are to represent chaotic events, show volatility, or behave as an artificial limiter. You likely interact with random numbers, or the results of their actions, every day. They