Skip to main content

썸네일 생성 도구 - Pillow와 PySide6 기반

Project description

썸네일 생성기 (Python)

JavaScript 기반 썸네일 생성기를 Python으로 변환한 프로젝트입니다.

주요 변경사항

  • Pillow: 이미지 생성 라이브러리로 사용
  • PySide6: GUI 프레임워크로 사용
  • Python: 모든 코드를 Python으로 변환

설치 방법

pip install -r requirements.txt

사용 방법

uv를 사용하여 설치:

uv sync

또는 직접 실행:

uv run python -m thumbnail_maker

1. GUI 사용 (추천)

uv run thumbnail-gui

PySide6 기반 GUI에서 썸네일을 생성할 수 있습니다.

2. CLI 사용

기본 사용

uv run generate-thumbnail

DSL 파일 지정

uv run generate-thumbnail mydsl.json -o output.png

간편 CLI (genthumb)

# 기본
uv run genthumb

# 제목/부제목 덮어쓰기
uv run genthumb --title "새 제목" --subtitle "새 부제목"

# 배경 이미지 설정
uv run genthumb --bgImg bg.png

# 출력 파일 지정
uv run genthumb -o result.png

파일 구조

thumbnail_maker/
├── requirements.txt           # Python 패키지 의존성
├── thumbnailRenderer.py      # 핵심 렌더링 로직
├── generateThumbnail.py      # 메인 생성 스크립트
├── genthumb.py              # 간편 CLI 스크립트
├── main_gui.py              # PySide6 GUI 애플리케이션
└── thumbnail.json           # DSL 예제 파일

DSL 파일 형식

{
  "Thumbnail": {
    "Resolution": {
      "type": "preset",
      "value": "16:9"
    },
    "Background": {
      "type": "solid",
      "color": "#a3e635"
    },
    "Texts": [
      {
        "type": "title",
        "content": "제목 텍스트",
        "gridPosition": "tl",
        "font": {
          "name": "SBAggroB",
          "faces": [...]
        },
        "fontSize": 48,
        "color": "#4ade80",
        "outline": {
          "thickness": 7,
          "color": "#000000"
        },
        "enabled": true
      }
    ]
  }
}

해상도 설정

Preset 모드

{
  "type": "preset",
  "value": "16:9"  // "16:9", "9:16", "4:3", "1:1"
}

Fixed Ratio 모드

{
  "type": "fixedRatio",
  "ratioValue": "16:9",
  "width": 480  // 또는 height 지정
}

Custom 모드

{
  "type": "custom",
  "width": 480,
  "height": 270
}

기타

  • JavaScript 버전의 파일들은 유지됩니다.
  • 기존 DSL 파일과 호환됩니다.
  • 폰트는 fonts/ 디렉토리에 저장됩니다.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

thumbnail_maker-0.1.1.tar.gz (7.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

thumbnail_maker-0.1.1-py3-none-any.whl (19.7 kB view details)

Uploaded Python 3

File details

Details for the file thumbnail_maker-0.1.1.tar.gz.

File metadata

  • Download URL: thumbnail_maker-0.1.1.tar.gz
  • Upload date:
  • Size: 7.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for thumbnail_maker-0.1.1.tar.gz
Algorithm Hash digest
SHA256 25d9a58b06a6b46abb967b3cef7694ceb1a182718769c886918bd7bdee4a2559
MD5 8b1dc84e99b958d3210d81294f1fe1e8
BLAKE2b-256 532181827770132e27bf559774f83266c7b6b7fcd54ad93a0cf7ecd783fdbc03

See more details on using hashes here.

File details

Details for the file thumbnail_maker-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for thumbnail_maker-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b1200680b8ddbade505cc18759bdfeb70417fb175f9f874201944bc7add85934
MD5 fc6159707d7da4db161499e849eb487c
BLAKE2b-256 74ff4514af2f73c9e0e0920708f93203bf02beb54ce5bb40bc7eee0b024bfe2b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page