sketchkit.renderer package¶
Submodules¶
sketchkit.renderer.cairo_renderer module¶
- class sketchkit.renderer.cairo_renderer.CairoRenderOptions(canvas_size: tuple[int, int] | None = None, background_color: tuple[float, float, float] = (1.0, 1.0, 1.0), stroke_color: tuple[float, float, float] | None = None, stroke_width: float | None = None, stroke_opacity: float | None = None, random_color: bool = False)[source]¶
Bases:
RenderOptions- background_color: tuple[float, float, float] = (1.0, 1.0, 1.0)¶
- random_color: bool = False¶
- stroke_color: tuple[float, float, float] | None = None¶
- stroke_opacity: float | None = None¶
- stroke_width: float | None = None¶
- class sketchkit.renderer.cairo_renderer.CairoRenderer(render_options: CairoRenderOptions | None = None)[source]¶
Bases:
Renderer- _abc_impl = <_abc._abc_data object>¶
- _render(sketch: Sketch, render_options: CairoRenderOptions) Image[source]¶
Renders the given sketch using Cairo’s graphics system with the provided render options.
- Parameters:
sketch (Sketch) – The sketch to be rendered.
render_options (CairoRenderOptions) – The options controlling the rendering behavior.
- Returns:
The rendered sketch as a 3-channel NumPy array.
- Return type:
np.ndarray
- new_ctx(render_options: CairoRenderOptions)[source]¶
sketchkit.renderer.ciallo_renderer module¶
- class sketchkit.renderer.ciallo_renderer.CialloRenderOptions(canvas_size: tuple[int, int] | None = None, background_color: tuple[float, float, float, float] = (1.0, 1.0, 1.0, 1.0), stroke_thickness: float = 12.0, stroke_color: tuple[float, float, float, float] = (0.0, 0.0, 0.0, 1.0), brush_type: str = 'textured', brush_texture_path: str = './assets/stamp2.png', spacing: float | None = 1.0, rotation_randomness: float = 0.0, noise_factor: float = 0.0, rng_seed: int = 42)[source]¶
Bases:
RenderOptions- background_color: tuple[float, float, float, float] = (1.0, 1.0, 1.0, 1.0)¶
- brush_texture_path: str = './assets/stamp2.png'¶
- brush_type: str = 'textured'¶
- noise_factor: float = 0.0¶
- rng_seed: int = 42¶
- rotation_randomness: float = 0.0¶
- spacing: float | None = 1.0¶
- stroke_color: tuple[float, float, float, float] = (0.0, 0.0, 0.0, 1.0)¶
- stroke_thickness: float = 12.0¶
- class sketchkit.renderer.ciallo_renderer.CialloRenderer(render_options: CialloRenderOptions | None = None)[source]¶
Bases:
Renderer- _abc_impl = <_abc._abc_data object>¶
- _render(sketch: Sketch, render_options: CialloRenderOptions) Image[source]¶
Renders the given sketch with the provided CialloRenderOptions.
- new_ctx(render_options: CialloRenderOptions)[source]¶
- sketchkit.renderer.ciallo_renderer._sample_cubic_bezier(points: ndarray, num_samples: int) ndarray[source]¶
Vectorized sampling of a cubic Bezier curve.
- sketchkit.renderer.ciallo_renderer.build_stamp_instance_data(polylines: List[ndarray], spacing: float, base_thickness: float, rotation_randomness: float, noise_factor: float, seed: int) ndarray[source]¶
Builds instance buffer for glDrawArraysInstanced with randomness parameters.
- sketchkit.renderer.ciallo_renderer.build_vanilla_sdf_geometry(polylines: List[ndarray], base_thickness: float) ndarray[source]¶
sketchkit.renderer.npr_renderer module¶
- class sketchkit.renderer.npr_renderer.NPRRenderOptions(canvas_size: tuple[int, int] = (512, 512), method: str = 'SuggestiveContour', threshold: float = 0.005)[source]¶
Bases:
object- canvas_size: tuple[int, int] = (512, 512)¶
- method: str = 'SuggestiveContour'¶
- threshold: float = 0.005¶
- class sketchkit.renderer.npr_renderer.NPRRenderer(obj_path: str, render_options: NPRRenderOptions | None = None)[source]¶
Bases:
object- _render(cameras: List[Camera], render_options: NPRRenderOptions | dict | None = None)[source]¶
实现抽象方法,将3D草图渲染为2D图像
- Parameters:
sketch – 3D草图对象
camera – 相机参数
output_folder – 输出文件夹
render_options – 渲染选项
- Returns:
渲染后的图像列表
- Return type:
List[Image.Image]
- render_appearant_ridges(out_path: str, transform: ndarray, size: tuple[int, int] = (512, 512), ar_thresh: float = 0.1)[source]¶
- render_ridges_and_valleys(out_path: str, transform: ndarray, size: tuple[int, int] = (512, 512), rv_thresh: float = 0.1)[source]¶
- render_suggestive_countour(out_path: str, transform: ndarray, size: tuple[int, int] = (512, 512), sug_thresh: float = 0.005)[source]¶
Render a sketch composed of Bézier curves using a given texture.
- Parameters:
out_path – str Path to save the output image.
transform – np.ndarray Transform matrix.
sug_thresh – float, optional Suggestive threshold. Default is 0.005.