Intuitive stroke coloring

Vector graphics are widely used as a creative tool in logos, posters, and many art forms where scaling without damaging quality is needed. Brushstrokes are important building blocks of vector graphics, used extensively in computer-generated calligraphic lettering and painting. Hock Soon Seah et al....

Full description

Saved in:
Bibliographic Details
Main Author: Zhang, Zhuyan
Other Authors: Seah Hock Soon
Format: Final Year Project
Language:English
Published: Nanyang Technological University 2023
Subjects:
Online Access:https://hdl.handle.net/10356/165965
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
Description
Summary:Vector graphics are widely used as a creative tool in logos, posters, and many art forms where scaling without damaging quality is needed. Brushstrokes are important building blocks of vector graphics, used extensively in computer-generated calligraphic lettering and painting. Hock Soon Seah et al. introduced eXpressive B-Spline Curves (XBSC) to allow more expressive coloring and finer width control along the stroke. However, the process involved in generating the artwork is very troublesome. To address this issue, a desktop application called "eXpressiveDrawing" was created. eXpressiveDrawing is an interactive drawing application that allows users to create and edit intricate digital artwork using eXpressive B-spline Stroke Curves (XBSC). This report presents the design, implementation, and testing of the eXpressiveDrawing application, highlighting its key features and functionalities, such as curve construction, visualization, modification, and efficient resource management. The application is built using C++ with an emphasis on adhering to best practices from Effective C++. A user-friendly graphical user interface (GUI) is implemented using the ImGUI library, providing users with the ability to customize curve properties and manipulate control points. The application employs a fast multi-grid algebraic process for the diffusion process in rendering curves. In addition, the report discusses the limitations of the current version of eXpressiveDrawing, such as constraints in GUI features, fixed canvas size, and latency in the rendering process.