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.5.tar.gz (9.6 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.5-py3-none-any.whl (28.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for thumbnail_maker-0.1.5.tar.gz
Algorithm Hash digest
SHA256 812ded7a1aa7e01080a316ab0a8ca96695bc5e157fbc9adc15d02eccc8bdf1ea
MD5 50325ab0a6773230cbfbf8efbd1d7402
BLAKE2b-256 e16ab9c6c01c3b906d81d4eb674b18d77b0b355c24715b05d11020d4c58cf656

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thumbnail_maker-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 87a10991faac1cd0524858ef47787790a895af979761c41b7a55e6eb1d7abda1
MD5 b529384b2f480a66fd33efffc31042b5
BLAKE2b-256 9520271beca6620665eaeae1484aea1b7267c7d5f91ba9a4b9cbf2033167c8f7

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