このプロジェクトは、画像をリサイズするためのElectronアプリケーションとFlaskバックエンドを組み合わせたものです。Electronアプリは、入力フォルダと出力フォルダを選択するためのGUIを提供し、Flaskアプリが画像のリサイズを処理します。
- シンプルなGUIを使用して画像をリサイズ。
- 入力フォルダと出力フォルダを選択可能。
- 入力フォルダ内のすべての画像を指定したサイズにリサイズ。
- Node.js と npm
- Python 3 と pip
- Flask
git clone https://github.com/oonisidesu/image_resize.git
cd image_resizeNode.jsの依存関係をインストールします。
npm installPythonの依存関係をインストールします。
pip install -r requirements.txtプロジェクト内のディレクトリ構成を以下のようにしてください:
image-resizer/
├── __tests__
│ └── example.test.ts
├── src
│ ├── electron
│ │ ├── main.ts
│ │ └── preload.ts
│ └── flask
│ ├── static
│ │ ├── css
│ │ │ └── styles.css
│ │ └── ts
│ │ └── main.ts
│ └── templates
│ └── index.html
├── package.json
├── tsconfig.json
└── ...
Flaskサーバーを起動します。
cd src/flask
python resize_images.py別のターミナルウィンドウで以下を実行:
npm startnpm run build: TypeScriptファイルをコンパイルします。npm run start: プロジェクトをビルドし、Electronアプリケーションを起動します。npm run lint: ESLintを実行してリントエラーをチェックします。npm run lint:fix: ESLintを--fixオプション付きで実行してリントエラーを自動修正します。npm run prettier:check: Prettierを使ってコードフォーマットをチェックします。npm run prettier:write: Prettierを使ってコードをフォーマットします。npm run test: Jestでテストスイートを実行します。
sequenceDiagram
participant User
participant Renderer as Electron Renderer
participant Main as Electron Main
participant Flask as Flask Server
User->>Renderer: Click "Select Folder"
Renderer->>Main: IPC call 'select-folder'
Main->>User: Open folder dialog
User->>Main: Select folder
Main->>Renderer: Return folder path
Renderer->>User: Display selected path
User->>Flask: Submit form with folder path
Flask->>Flask: Resize images
Flask->>User: Return success/failure message
このプロジェクトはMITライセンスの下でライセンスされています。詳細についてはLICENSEファイルを参照してください。