Skip to main content

썸네일 생성 도구 - Pillow 기반

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: thumbnail_maker-0.1.7.tar.gz
  • Upload date:
  • Size: 11.8 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.7.tar.gz
Algorithm Hash digest
SHA256 9a21e177dc7710116bb814b97aee50a3597b5a80fcc81189c4480b43e4b80b38
MD5 50bc9564c5d27e292f7f37d51d95be33
BLAKE2b-256 877a9075d3a014ae813b0ded6205e6d63c1c4f36d2af9a3ef7273ea8330896d5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thumbnail_maker-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 9b46d588ff33b3c1beee0e7dc181828c95d2f020b0eb103feae38f37d3870068
MD5 6958f3b90878b828c8356d608c46343d
BLAKE2b-256 478165639a73ccebeaba06d02d83c65cc1cbd8a1fc7adab68fbae4968ad81d3b

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