# Cutouts Cutouts 是一种纸张拼贴头像风格。每张脸都由撕裂的手工纸拼合而成:彩色的头部、覆盖其上的头发,以及分别剪裁出的眼睛、鼻子和嘴巴。两只眼睛从不匹配,这正是这种风格的特点。为社区和编辑类网站生成温暖、手工制作感十足的个人资料图片。 - **Style name:** `cutouts` - **Category:** Characters - **Animated:** no - **Creator:** DiceBear (https://www.dicebear.com) - **Source:** https://www.dicebear.com - **License:** CC0 1.0 (https://creativecommons.org/publicdomain/zero/1.0/) ## Usage Every library below produces the same SVG for the same seed and options. HTTP API: ``` https://api.dicebear.com/10.x/cutouts/svg?seed=John ``` JavaScript: ``` npm install @dicebear/core @dicebear/styles --save ``` ```js import { Style, Avatar } from '@dicebear/core'; import definition from '@dicebear/styles/cutouts.json' with { type: 'json' }; const style = new Style(definition); const avatar = new Avatar(style, { seed: 'John' }); const svg = avatar.toString(); ``` PHP: ``` composer require dicebear/core dicebear/styles ``` ```php 'John']); $svg = (string) $avatar; ``` Python: ``` pip install dicebear-core dicebear-styles ``` ```python from importlib.resources import files from dicebear import Avatar, Style style = Style.from_json( files("dicebear_styles").joinpath("cutouts.json").read_text("utf-8") ) avatar = Avatar(style, {"seed": "John"}) svg = avatar.to_string() ``` Rust: ``` cargo add dicebear-core serde_json cargo add dicebear-styles --features cutouts ``` ```rust use dicebear_core::{Avatar, Style}; use serde_json::json; let style = Style::from_str(dicebear_styles::CUTOUTS)?; let avatar = Avatar::new(&style, json!({ "seed": "John" }))?; let svg = avatar.to_svg(); ``` Go: ``` go get github.com/dicebear/dicebear-go/v10 go get github.com/dicebear/styles/v10 ``` ```go import ( dicebear "github.com/dicebear/dicebear-go/v10" "github.com/dicebear/styles/v10" ) style, _ := dicebear.NewStyle([]byte(styles.Cutouts)) avatar, _ := dicebear.NewAvatar(style, map[string]any{"seed": "John"}) svg := avatar.SVG() ``` Dart: ``` dart pub add dicebear_core dicebear_styles ``` ```dart import 'package:dicebear_core/dicebear_core.dart'; import 'package:dicebear_styles/cutouts.dart'; final style = Style.parse(cutouts); final avatar = Avatar(style, {'seed': 'John'}); final svg = avatar.svg; ``` CLI: ``` npm install --global dicebear ``` ``` dicebear cutouts ``` ## Presets 12 ready-made option sets for this style. Each is a plain set of render options: pass it to any of the libraries or send it as HTTP-API query parameters. You do not need to install anything for them, and any option a preset leaves out keeps varying with the seed. - **Bare:** No brows, no torn cheeks. - **Sepia:** Torn brown paper on tan. - **Greyscale:** Newsprint, no hue anywhere. - **Duotone:** Two papers, blue and cream. - **Muted:** Faded sugar paper. - **Electric:** Fluorescent card, quiet ground. - **Pastel Wall:** Colored ground under the collage. - **Bold Pop:** Six grounds, loud under the paper. - **Night Shift:** Dark table, pale paper. - **Sunrise:** A warm gradient under the paper. - **Full Cast:** Hair, brows and cheeks on everyone. - **Close Up:** The collage scaled up in the frame. The full option set of each one is at https://dicebear.zhcndoc.com/styles/cutouts/presets/index.md. ## Options Every option below works in all libraries and as a query parameter of the HTTP API. The ones built from a component name (`Variant`, `Probability`) or from a color group (`Color`, `ColorFill`, `ColorFillStops`, `ColorAngle`, `ColorOrder`) belong to this style; the rest are [core options](https://dicebear.zhcndoc.com/guides/core-options/) that every style accepts. | Option | Type | Values | | --- | --- | --- | | `seed` | string | | | `size` | number | 1 to 4096 | | `idRandomization` | boolean | | | `title` | string | | | `flip` | enum (array allowed) | `none`, `horizontal`, `vertical`, `both` | | `fontFamily` | string (array allowed) | | | `fontWeight` | number (array allowed) | 1 to 1000 | | `scale` | range | 0 to 10 | | `borderRadius` | range | 0 to 50 | | `rotate` | range | -360 to 360 | | `translateX` | range | -1000 to 1000 | | `translateY` | range | -1000 to 1000 | | `headVariant` | enum (array allowed) | `blob`, `block`, `pear`, `slanted`, `tall`, `wide` | | `headProbability` | number | 0 to 100 | | `hairVariant` | enum (array allowed) | `crest`, `curls`, `fringe`, `long`, `sidePart`, `swoosh`, `tufts` | | `hairProbability` | number | 0 to 100 | | `browsVariant` | enum (array allowed) | `dashes`, `mono`, `strips`, `uneven` | | `browsProbability` | number | 0 to 100 | | `cheeksVariant` | enum (array allowed) | `torn` | | `cheeksProbability` | number | 0 to 100 | | `eyesVariant` | enum (array allowed) | `bigSmall`, `circleSquare`, `inkDots`, `pair`, `ringDot`, `sleepyOpen`, `squares` | | `eyesProbability` | number | 0 to 100 | | `noseVariant` | enum (array allowed) | `bent`, `dab`, `hook`, `strip`, `tornTriangle`, `wedge` | | `noseProbability` | number | 0 to 100 | | `mouthVariant` | enum (array allowed) | `gasp`, `grin`, `smile`, `strip`, `tornSmile`, `wavy`, `zigzag` | | `mouthProbability` | number | 0 to 100 | | `backgroundColor` | color (array allowed) | Hex color, `#` optional | | `backgroundColorFill` | enum (array allowed) | `solid`, `linear`, `radial` | | `backgroundColorFillStops` | range | | | `backgroundColorAngle` | range | -360 to 360 | | `backgroundColorOrder` | enum | `random`, `fixed` | | `paperFaceColor` | color (array allowed) | Hex color, `#` optional | | `paperFaceColorFill` | enum (array allowed) | `solid`, `linear`, `radial` | | `paperFaceColorFillStops` | range | | | `paperFaceColorAngle` | range | -360 to 360 | | `paperFaceColorOrder` | enum | `random`, `fixed` | | `paperBackColor` | color (array allowed) | Hex color, `#` optional | | `paperBackColorFill` | enum (array allowed) | `solid`, `linear`, `radial` | | `paperBackColorFillStops` | range | | | `paperBackColorAngle` | range | -360 to 360 | | `paperBackColorOrder` | enum | `random`, `fixed` | | `paperHairColor` | color (array allowed) | Hex color, `#` optional | | `paperHairColorFill` | enum (array allowed) | `solid`, `linear`, `radial` | | `paperHairColorFillStops` | range | | | `paperHairColorAngle` | range | -360 to 360 | | `paperHairColorOrder` | enum | `random`, `fixed` | | `paperMouthColor` | color (array allowed) | Hex color, `#` optional | | `paperMouthColorFill` | enum (array allowed) | `solid`, `linear`, `radial` | | `paperMouthColorFillStops` | range | | | `paperMouthColorAngle` | range | -360 to 360 | | `paperMouthColorOrder` | enum | `random`, `fixed` | The same table is available as JSON at `https://api.dicebear.com/10.x/cutouts/options.json`, and the raw definition at `https://api.dicebear.com/10.x/cutouts/definition.json`.