forked from mttu-developers/konabot
63 lines
3.1 KiB
Python
63 lines
3.1 KiB
Python
from typing import Optional
|
|
from konabot.plugins.fx_process.fx_handle import ImageFilterEmpty, ImageFilterImplement, ImageFilterStorage
|
|
|
|
class ImageFilterManager:
|
|
filter_map = {
|
|
"模糊": ImageFilterImplement.apply_blur,
|
|
"马赛克": ImageFilterImplement.apply_mosaic,
|
|
"轮廓": ImageFilterImplement.apply_contour,
|
|
"锐化": ImageFilterImplement.apply_sharpen,
|
|
"边缘增强": ImageFilterImplement.apply_edge_enhance,
|
|
"浮雕": ImageFilterImplement.apply_emboss,
|
|
"查找边缘": ImageFilterImplement.apply_find_edges,
|
|
"平滑": ImageFilterImplement.apply_smooth,
|
|
"反色": ImageFilterImplement.apply_invert,
|
|
"黑白": ImageFilterImplement.apply_black_white,
|
|
"阈值": ImageFilterImplement.apply_threshold,
|
|
"对比度": ImageFilterImplement.apply_contrast,
|
|
"亮度": ImageFilterImplement.apply_brightness,
|
|
"色彩": ImageFilterImplement.apply_color,
|
|
"色调": ImageFilterImplement.apply_to_color,
|
|
"缩放": ImageFilterImplement.apply_resize,
|
|
"波纹": ImageFilterImplement.apply_wave,
|
|
"色键": ImageFilterImplement.apply_color_key,
|
|
"暗角": ImageFilterImplement.apply_vignette,
|
|
"发光": ImageFilterImplement.apply_glow,
|
|
"RGB分离": ImageFilterImplement.apply_rgb_split,
|
|
"光学补偿": ImageFilterImplement.apply_optical_compensation,
|
|
"球面化": ImageFilterImplement.apply_spherize,
|
|
"旋转": ImageFilterImplement.apply_rotate,
|
|
"透视变换": ImageFilterImplement.apply_perspective_transform,
|
|
"裁剪": ImageFilterImplement.apply_crop,
|
|
"噪点": ImageFilterImplement.apply_noise,
|
|
"平移": ImageFilterImplement.apply_translate,
|
|
"拓展边缘": ImageFilterImplement.apply_expand_edges,
|
|
"素描": ImageFilterImplement.apply_sketch,
|
|
"叠加颜色": ImageFilterImplement.apply_gradient_overlay,
|
|
"阴影": ImageFilterImplement.apply_shadow,
|
|
"径向模糊": ImageFilterImplement.apply_radial_blur,
|
|
"旋转模糊": ImageFilterImplement.apply_spin_blur,
|
|
"方向模糊": ImageFilterImplement.apply_directional_blur,
|
|
"边缘模糊": ImageFilterImplement.apply_focus_blur,
|
|
"缩放模糊": ImageFilterImplement.apply_zoom_blur,
|
|
"镜像": ImageFilterImplement.apply_mirror_half,
|
|
"水平翻转": ImageFilterImplement.apply_flip_horizontal,
|
|
"垂直翻转": ImageFilterImplement.apply_flip_vertical,
|
|
"复制": ImageFilterImplement.copy_area,
|
|
"晃动": ImageFilterImplement.apply_random_wiggle,
|
|
"动图": ImageFilterEmpty.empty_filter_param,
|
|
"像素抖动": ImageFilterImplement.apply_pixel_jitter,
|
|
"存入图像": ImageFilterStorage.store_image,
|
|
"读取图像": ImageFilterStorage.load_image,
|
|
"暂存图像": ImageFilterStorage.temp_store_image,
|
|
}
|
|
|
|
@classmethod
|
|
def get_filter(cls, name: str) -> Optional[callable]:
|
|
return cls.filter_map.get(name)
|
|
|
|
@classmethod
|
|
def has_filter(cls, name: str) -> bool:
|
|
return name in cls.filter_map
|
|
|
|
|