Hunter  Krajcik

Hunter Krajcik

1681930020

Style2paints: Sketch + Style = Paints

Welcome to style2paints V4!

Style2paints V4 is an AI driven lineart colorization tool.

Different from previous end-to-end image-to-image translation methods, style2paints V4 is the first system to colorize a lineart in real-life human workflow, and the outputs are layered.

Inputs:

● Linearts
● (with or without) Human hints
● (with or without) Color style reference images
● (with or without) Light location and color

Outputs:

● Automatic color flattening without lines (solid/flat/inherent/固有色/底色 color layer)
● Automatic color flattening with black lines
● Automatic colorization without lines
● Automatic colorization with black lines
● Automatic colorization with colored lines
● Automatic rendering (separated layer)
● Automatic rendered colorization

Style2paints V4 gives you results of the current highest quality. You are able to get separated layers from our system. These layers can be directly used in your painting workflow. Different from all previous AI driven colorization tools, our results are not single 'JPG/PNG' images, and in fact, our results are 'PSD' layers.

User Instruction: https://style2paints.github.io/

And we also have an official Twitter account.

Help human in their standard coloring workflow!

Most human artists are familiar with this workflow:

sketching -> color filling/flattening -> gradients/details adding -> shading

And the corresponding layers are:

lineart layers + flat color layers + gradient layers + shading layers

Style2paints V4 is designed for this standard coloring workflow! In style2paints V4, you can automatically get separated results from each step!

Examples

logo

Here we present some results in this ABCD format. Users only need to upload their sketch, select a style, and put a light source.

When the result is achieved immediately without any human color correction, we regard this result as fully automatic result. When the result needs some color correction, human can easily put some color hints on the canvas to guide the AI coloring process. In this case, we regard these results as semi-automatic results. If a result is semi-automatic, but the quantity of human color hint points is smaller than 10, we regard these results as almost automatic result. In this section, about half of the presented results are fully automatic result, and the others are all almost automatic result. Do notice that all the below results can be achieved with less than 15 clicks!

logo

logo

Real-life results

logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo logo

Know more about us!

User Instruction: https://style2paints.github.io/

And we also have an official Twitter account.

Acknowledgement

Thanks a lot to TaiZan. This project could not be achieved without his great help.

Lisence

All codes are released in Apache-2.0 License.

We preserve all rights on all pretrained deep learning models and binary releases.

Your colorized images are yours, and we do not add any extra lisences to colorized results. Use your colorized images in any commercial or non-commercial cases.

中文社区

我们有一个除了技术什么东西都聊的以技术交流为主的群。如果你一次加群失败,可以多次尝试: 816096787。

Previous Publications

Style2paints V1:

ACPR 2017:

@Article{ACPR2017ZLM,
  author  = {LvMin Zhang, Yi Ji and ChunPing Liu},
  title   = {Style Transfer for Anime Sketches with Enhanced Residual U-net and Auxiliary Classifier GAN},
  conference = {Asian Conference on Pattern Recognition (ACPR)},
  year    = {2017},
}

paper

Style2paints V2:

No Publications.

Style2paints V3:

TOG 2018:

@Article{ACMTOGTSC2018,
  author  = {LvMin Zhang, Chengze Li, Tien-Tsin Wong, Yi Ji and ChunPing Liu},
  title   = {Two-stage Sketch Colorization},
  journal = {ACM Transactions on Graphics},
  year    = {2018},
  volume  = {37},
  number  = {6},
  month   = nov,
  doi     = {https://doi.org/10.1145/3272127.3275090},
}

paper

Style2paints V4:

No Publications.

Style2paints V5 (Project SEPA, not released yet):

CVPR2021

@InProceedings{Filling2021zhang,
  author={Lvmin Zhang and Chengze Li and Edgar Simo-Serra and Yi Ji and Tien-Tsin Wong and Chunping Liu}, 
  booktitle={IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)}, 
  title={User-Guided Line Art Flat Filling with Split Filling Mechanism}, 
  year={2021}, 
}

News

See also the Preview of Style2Paints V5.

Note that below are previous versions of style2paints. If you come from an introduction of V5 and are interested in V5, you do not need to download the V4 or V4.5. Note that V5 is still in preview and we have not released it yet.

Download Style2Paints V4.5

You can directly download the software (windows x64) at:

Again, this is style2paints V4.5, NOT style2paints V5!

Google Drive:

https://drive.google.com/open?id=1gmg2wwNIp4qMzxqP12SbcmVAHsLt1iRE

Baidu Drive (百度网盘):

https://pan.baidu.com/s/15xCm1jRVeHipHkiB3n1vzA

You do NOT need to install any complex things like CUDA and python. You can directly download it and then double click it, as if you were playing a normal video game.

Never hesitate to let me know if you have any suggestions or ideas. You may directly send emails to my private address [lvminzhang@acm.org] or [lvminzhang@siggraph.org].


Download Details:

Author: lllyasviel
Source Code: https://github.com/lllyasviel/style2paints 
License: Apache-2.0 license

#javascript #sketch #style #paint 

Style2paints: Sketch + Style = Paints
Monty  Boehm

Monty Boehm

1678767540

React-artboard: A Realistic Paint Component

React-artboard

A freeform sketching component for React. Try the demo

shading

react-artboard includes an Artboard component and several tools, including a realistic paintbrush, a marker pen and airbrush, as well as the abstract shading tool. Tools are implemented as custom hooks, so you can add your own brushes and other tools.

Installation

npm install react-artboard

Usage

For a full usage example, see this file. The simplest usage of the component is like this:

import React from "react";
import { useBrush, Artboard } from "react-artboard";
export function App() {
  const brush = useBrush({ color: "#663399", strokeWidth: 40 });

  return <Artboard tool={brush} style={{ width: 800, height: 600 }} />;
}

You probably want to allow users to change the colors and size of the brush. Here is an example that uses native color and range inputs:

import React, { useState } from "react";
import { useBrush, Artboard } from "react-artboard";
export function App() {
  const [color, setColor] = useState("#993366");
  const [strokeWidth, setStrokeWidth] = useState(40);
  const brush = useBrush({ color, strokeWidth });

  return (
    <main>
      <div>
        <input
          type="color"
          value={color}
          onInput={(evt) => setColor(evt.currentTarget.value)}
        />
        <input
          type="range"
          min={5}
          max={50}
          value={strokeWidth}
          onInput={(evt) => setStrokeWidth(parseInt(evt.currentTarget.value))}
        />
      </div>
      <Artboard tool={brush} style={{ width: 800, height: 600 }} />
    </main>
  );
}

You could use a custom component instead of these inputs if you want more control over them, as long as they return a number for the brush size and a string for the color.

If you want to export your creations or clear the canvas, you can use the ref like this:

import React, { useState } from "react";
import { useBrush, Artboard } from "react-artboard";
export function App() {
  const [color, setColor] = useState("#993366");
  const [strokeWidth, setStrokeWidth] = useState(40);
  const brush = useBrush({ color, strokeWidth });

  const [artboardRef, setArtboardRef] = useState();

  return (
    <main>
      <div>
        <button onClick={() => artboardRef?.download()}>Download</button>
        <button onClick={() => artboardRef?.clear()}>Clear</button>
        <input
          type="color"
          value={color}
          onInput={(evt) => setColor(evt.currentTarget.value)}
        />
        <input
          type="range"
          min={5}
          max={50}
          value={strokeWidth}
          onInput={(evt) => setStrokeWidth(parseInt(evt.currentTarget.value))}
        />
      </div>
      <Artboard tool={brush} style={{ width: 800, height: 600 }} />
    </main>
  );
}

API

Artboard

Props

tool

This is the tool returned by the useBrush() hook. You can also implement your own tools and pass them in here.

ref

This accepts a callback that will be passed a ref that you can use to make the following calls:

download: (filename: string, type: string) => void

Downloads the canvas as an image. You can pass in a filename (default "image.png"), and a mimetype (default "image/png"). If you pass an unsupported type it will fallback to PNG.

getImageAsDataUri: (type: string) => string | undefined

Returns the image as a data URI, which can be displayed in an <img> tag for example.

clear: () => void

Clears the image

context: CanvasRenderingContext2D | null | undefined

Canvas rendering context

onStartStroke: (point: Point) => void

Callback at the start of a stroke

onContinueStroke: (point: Point) => void

Callback at the continuing of a stroke

onEndStroke: () => void

Callback at the end of a stroke

Paintbrush

useBrush(options)

paint

Options

  • color A CSS string color.
  • strokeWidth The width of the brush

Shading

useShadingBrush()

This tools is inspired by some blog posts, exploring the use of "neighbour point" sketching. It gives a fun, unusual effect that is similar to pencil shading. It is highly configurable, giving quite different effects according to the different parameters.

shading

Options

  • color A CSS string color. Default: #000000
  • spreadFactor The length of the connecting line. A value of 1 means it exactly joins the two points, while 0.5 only covers half the distance. A value above 1 gives a "fur" effect as the line extends beyond the points. Default: 0.9
  • distanceThreshold How near the point needs to be to join, in pixels. Default: 50
  • neighbourStrokeWidth Width of the stroke joining the points. Default: 1
  • neighbourColor Color of the line joining the points. Default: color value with 0.2 alpha

Watercolor

useWatercolor(options)

paint

Options

  • color A CSS string color.
  • strokeWidth The width of the brush

Marker pen

useMarker(options)

marker

Options

  • color A CSS string color.
  • strokeWidth The width of the brush

Airbrush

useAirbrush(options)

airbrush

Options

  • color A CSS string color.
  • strokeWidth The width of the brush

Custom brushes

See the source for useBrush to see how to create a brush. It must return an object, with the following optional callbacks:

  • startStroke?: (point: Point, context: CanvasRenderingContext2D) => void
  • continueStroke?: (point: Point, context: CanvasRenderingContext2D) => void
  • endStroke?: (context: CanvasRenderingContext2D) => void
  • cursor?: string A CSS-compatible string for the cursor to display. You can use the circleCursor() helper to display a resizable circle for the cursor

History

The useHistory() hook allows undo/redo functionality. Pass it a size value to limit the size of the history stack. It returns and object with the following:

  • history: The History object. Pass this to the Artboard.
  • undo(): Reverts the image to the previous state.
  • redo(): Move forward in history, if available.
  • canUndo: History is available to undo
  • canRedo: History is available to redo

Sources

These posts gave inspiration, particularly for the shading tool.

Inspiration for the watercolor tool:


Download Details:

Author: ascorbic
Source Code: https://github.com/ascorbic/react-artboard 
License: MIT Licence

#react #paint #application 

React-artboard: A Realistic Paint Component
Monty  Boehm

Monty Boehm

1667695560

Sketch tool for React-based Applications, Backed Up By FabricJS

react-sketch

A Sketch tool for React based applications, backed-up by FabricJS

idea-image  Please note that this module is still in development! Feel free to send me enhancements and ideas :)

Installation

npm install react-sketch --save

or with yarn

yarn add react-sketch

Source installation

In order to build from source, read the relevant instructions first.

Tested with node versions 6,7,8.

Usage

Import the relevant SketchField component and use it, you can find more on the examples folder of the project

import {SketchField, Tools} from 'react-sketch';

class SketchFieldDemo extends React.Component {
     render() {
        return (
            <SketchField width='1024px' 
                         height='768px' 
                         tool={Tools.Pencil} 
                         lineColor='black'
                         lineWidth={3}/>
        )
     }
}

Configuration Options

OptionTypeDefaultDescription
toolEnumeration (string)pencilThe tool to use, can be select, pencil, circle, rectangle, pan
lineColorStringblackThe color of the line
lineWidthNumber1The width of the line
fillColorStringtransparentThe fill color (hex format) of the shape when applicable (e.g. circle)
backgroundColorStringtransparentThe the background color of the sketch in hex or rgba
undoStepsNumber15number of undo/redo steps to maintain
imageFormatStringpngimage format when calling toDataURL, can be png or jpeg
widthNumberNo Value(null)Set/control the canvas width, if left empty the sketch will scale to parent element
heightNumber512Set/control the canvas height, if left empty the sketch will take a reasonable default height
valueJSON Property to utilize and handle the sketch data as controlled component
defaultValueJSON Default initial data, to load. If value is set then value will be loaded instead
widthCorrectionNumber2Specify some width correction which will be applied on resize of canvas, this will help to correct some possible border on the canvas style
heightCorrectionNumber0Specify some height correction which will be applied on resize of canvas, this will help to correct some possible border on the canvas style

Available tools

ToolDescription
PencilFree drawing pencil
LineGives you the ability to draw lines
RectangleCreate rectangles
CircleCreate circles
RectangleCreate Rectangles
SelectDisables drawing and gives you the ability to modify existing elements in the canvas
PanDisables drawing and gives you the ability to move the complete canvas at will, useful to adjust the canvas when zooming in or out (thank you wmaillard)

Examples

The project includes a webpack server for running the examples, just run:

git clone https://github.com/tbolis/react-sketch.git
yarn install
npm start

and navigate to http://localhost:23000

You can as well check the live showcase here: http://tbolis.github.io/showcase/react-sketch/

Issues

See https://github.com/tbolis/react-sketch/issues

Changelog

See https://github.com/tbolis/react-sketch/blob/master/CHANGELOG.md

Download Details:

Author: tbolis
Source Code: https://github.com/tbolis/react-sketch 
License: MIT license 

#sketch #react #drawing #paint 

Sketch tool for React-based Applications, Backed Up By FabricJS
Lenna  Kihn

Lenna Kihn

1634788800

Explore The Functions Of Java Paint By Example

I started to use a lot of the paint functions in Java at work and I wanted to create an example that could teach me about the different shaders available in Java. The paint interface is not something you come across if you don't draw things in Java but having an understanding of the possibilities could be beneficial.

#java  #paint  #shader

Explore The Functions Of Java Paint By Example
Karim  Abdel

Karim Abdel

1617954840

How to use Microsoft Paint 3D

In this step-by-step tutorial, learn how to create 3D objects and scenes using Microsoft Paint 3D. Paint 3D comes for free with Windows 10. Paint 3D is a raster graphics and 3D modeling application which is a refresh of Microsoft Paint. Paint 3D incorporates features of the Microsoft Paint and 3D Builder applications to combine a lightweight hybrid 2D-3D editing experience that allows users to pull in a variety of shapes from the app, their personal computer, and Microsoft’s OneDrive service.

⌚ Timestamps
0:00​ Introduction
1:11​ Create new Paint 3D project
1:48​ Overview of main interface
2:31​ Add reference image
3:01​ Add cookie 3D shape
5:41​ Brushes
7:46​ Merge multiple 3D shapes
12:14​ Grouping & copying shapes
14:02​ Canvas
14:28​ Add 3D baking sheet shape with texture
18:20​ 3D library
19:18​ Inserting stickers
20:57​ 2D shapes
21:55​ Insert text
23:55​ Create sticker
24:35​ Effects
25:20​ Save image, project, model or video
27:35​ Use 3D objects in PowerPoint
29:59​ Wrap up

Subscribe: https://www.youtube.com/channel/UCfJT_eYDTmDE-ovKaxVE1ig

#microsoft #paint

How to use Microsoft Paint 3D
Evil  David

Evil David

1605058297

Understand Transformations and CustomPaint Widgets in Flutter

Flutter made it easy for developers to build complex UI in record time. With a number of awesome widgets like Rows, Columns, ListView and Positioned, we can play around the screen and get our desired output and be satisfied at the end of the day. But what if you need a widget that is not available in the Flutter Widget Catalog? What if your requirement is so awesome and innovative that it is still not yet thought of by any one. In this case, you my friend, are there to bring it to life.

In order to let developers build their own widgets, Flutter has many classes in store and has actually made it pretty simple for the developers to utilize them.

Transformations

Transform widget takes a Matrix4 object as a transformation guide to apply on the widget passed as a child.

Image for post

Example of rotation using Transform widget.

Image for post

Example of scaling using Transform widget.

Image for post

Example of translation using Transform widget.

#paint #dart #custom #flutter #drawer

Understand Transformations and CustomPaint Widgets in Flutter

Acrylic Painting Supplies

This is image title

You’ve seen some incredible acrylic pouring paintings like the one below and now you may be looking to make some of your own. But it’s hard to know what Acrylic Painting Supplies materials are best to start with, or to continue to develop your talent. For more details visit our website.

#painting #paint #brushes #painting supplies

Acrylic Painting Supplies

Supplies You Need to Get Started With Acrylic Pouring (Beginner Checklist)

You’ve seen some incredible acrylic pouring paintings and now you may be looking to make some of your own. But it’s hard to know what Resin Art Supplies materials are best to start with, or to continue to develop your talent. Check our guide which goes through the supplies needed for acrylic pouring.

#art #painting #paint #acrylic pouring #resin art #acrylic painting for beginners

Supplies You Need to Get Started With Acrylic Pouring (Beginner Checklist)

Acrylic Painting for Beginners Step by Step | AcrylicPouring.com

Like any speciality, figuring out how to paint with acrylics sets aside a little effort to get the hang of and includes a lot of experimentation as you set on your way. With direction and counsel from painters who’ve been working with acrylic paints for a long time, here is a complete thought of the point.

Acrylic painting for beginners is a sort of workmanship that utilizes fast dry plasticized material made of shades contained in an emulsion of an acrylic polymer. Even though acrylic paints are dissolvable in the water when they dry they are impervious to it. They additionally have incredible shading flexibility, making it the most loved mode of numerous artists.
Guidelines for Acrylic painting for beginners

1.Work rapidly.

Acrylics dry quicker than different kinds of paint. This is an extraordinary advantage in case you’re hoping to paint in layers, yet the abbreviated work time can be a touch of overwhelming for more up to date artists. To have the option to work quicker, consistently have a thought in your mind of what you need to paint and get it on the canvas rapidly. The additional time you spend repainting similar territories, the less responsive your acrylics will turn into. If you need more opportunity to work, you can utilize an acrylic retarder like Matisse’s Drying Retarder or in case you’re dealing with paper, a light spotting of waterworks.

2.Don’t put an excessive amount of paint on the acrylic

You must be mindful to not put a lot of paint on your palette when you’re working with acrylics. They can dry and solidify while you’re holding back to locate one more opportunity to utilize that shading so consistently be cautious. You additionally can generally crush progressively out of the cylinder when you need more. Also, recall, it won’t return into the cylinder, so it’s best not to squander it. If you have to safeguard your palette short-term, fog your palette with water and spread with a hermetically sealed sack or compartment and your paints should hold up for a restricted measure of time.

3.Be cautious mixing.

Mixing the colours you have is an extraordinary method to grow your palette and make a progressively distinctive scene on your canvas, any way you need to mix the correct way. Mix excessively fast and you will make rises in your paint that can fly on your canvas and dry and we’re almost certain that is not the impact you need while making a lovely bit of craftsmanship you’ll prize for a mind-blowing remainder.

4.Acrylics wash off your brushes with cleanser and water.

Albeit different kinds of paint like oils and oil mediums may expect you to wash your brushes with turpentine or mineral spirits, these are pointless for acrylics. All you have to clean your brushes is a little cleaner and water and the acrylic paint washes directly off.

5.Acrylics wash off your brushes with cleanser and water.

Albeit different sorts of paint like oils and oil mediums may expect you to wash your brushes with turpentine or mineral spirits, these are pointless for acrylics. All you have to clean your brushes is a little cleaner and water and the acrylic paint washes directly off.

#art #painting #paint #brush #acrylic painting supplies #resin art

Acrylic Painting for Beginners Step by Step | AcrylicPouring.com