An open API service indexing awesome lists of open source software.

https://github.com/daemon2087/ascii_art

ASCII Art Studio for macOS\Linux
https://github.com/daemon2087/ascii_art

ascii-art c cmake cpp imgui linux linux-app macos macos-app swift swiftui

Last synced: 3 months ago
JSON representation

ASCII Art Studio for macOS\Linux

Awesome Lists containing this project

README

          

# ASCII ART STUDIO
Десктопное приложение ASCII Art Studio под операционные системы macOS и Linux. Позволяет работать с переводом изображений и печатью слов в ASCII.

## Функционал
- **Перевод изображений в ASCII символы**: На вход пользователь загружает растровое изображение формата *.png, *.jpg и т.д. Программа конвертирует загруженное изображение в ASCII-арт (набор ASCII-символов, которые в совокупности визуально представляют собой исходное изображение), и выводит его на экран.
- **Печать слов в ASCII коде**: Например, пользователь ввел "Hello, world!". Приложению требуется обработать буквы всего текста и вывести их в нужном виде.

Если в приложении не происходит никаких действий, выводится набор динамично меняющихся ASCII-символов, в совокупности представляющие собой анимированное изображение.

## Технологии и требования
### macOS:
- Apple Silicon (M1+)
- macOS 14.0+
- Swift (5.9+)
- Clang 15+
- Xcode 15+
- Homebrew

### Linux:
- Ubuntu Linux 22.04+
- ImGui 1.92.1+
- GCC\G++ 12.0+
- OpenGL\GLFW 3.3+

### Общие требования:
- C++20
- CMake 3.20+
- Visual Studio Code

### Зависимости
- **JSON**: [json.hpp](https://github.com/nlohmann/json)
- **IMGUI**: [ImGui_files](https://github.com/ocornut/imgui)
- **STB**: [stb_image.h](https://github.com/nothings/stb)

## Установка и запуск
### macOS:
Так как macOS и Linux UNIX-системы, у них есть множество схожих моментов, но есть и различия. На macOS, в основном, уже практически все предустановлено, в отличие от Linux и работать с ней в этом плане легче. Давайте приступим к установке приложения:

1. **Cистема**. Если Вы вдруг не знаете, какая версия macOS у Вас установлена, то выполните команду ниже в приложении Terminal. У Вас должна быть версия не ниже 14.0.

```zsh
sw_vers -productVersion
```

2. **Xcode и Command Line Tools**. Git на macOS будет предустановлен после установки Xcode, поэтому его пропустим. Установим Xcode и Command Line Tools, для этого установите в [Mac App Store](https://apps.apple.com/app/xcode) Xcode. После установки выполните в Terminal команду ниже, начнется установка Command Line Tools, а если уже установлена, то выведет соответствующие сообщение.

```zsh
xcode-select --install
```

3. **Clang**. Проверим версию Clang, которая у нас была установлена с Command Line Tools, выполните команду ниже, версия должна быть 15.0.0 или выше.

```zsh
clang --version
```

4. **Swift**. Выполните в Terminal команду ниже, должна быть 5.9 или выше. Он автоматически устанавливается с Xcode.

```zsh
swift --version
```

5. **Homebrew**. Если у Вас не установлен Homebrew, то выполните команду ниже в Terminal, она установит его.

```zsh
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)
```

6. **CMake**. После установки Homebrew выполните команду ниже. Это установит CMake и им можно будет пользоваться.

```zsh
brew install cmake
```

Проверить его версию можно с помощью команды ниже. Его версия должна быть 3.20 или выше.

```zsh
cmake --version
```

7. **Visual Studio Code**. Для работы нужна будет VS Code. Установите ее через команду Homebrew ниже.

```zsh
brew install --cask visual-studio-code
```

После установки VS Code нам нужно скачать расширения, а именно: CMake Tools, Swift, С\С++.

8. **Репозиторий**. После того, как мы все установили для работы приложения, то можно приступать к запуску. Выберите удобную папку для проекта. Теперь в нее нужно будет спуститься в Terminal, для этого выполните команду ниже.

```zsh
cd путь_к_вашей_папке
```

Теперь мы можем клонировать наш репозиторий, а именно выполнить команду ниже в Terminal. Теперь репозиторий склонирован в нашу папку.

```zsh
git clone https://github.com/dmitry2087/ascii_art.git
```

9. **Сборка и запуск**. Откройте папку с проектом в VS Code. CMake Tools должен автоматически определить проект и предложить его сконфигурировать. Нужно выбрать версию компилятора Clang не ниже 15.0.0. После этого CMake создат Unix файлы, они на мне нужны, поэтому в Terminal переходим к папке нашего проекта. Там удаляем папку build командой.

```zsh
rm -rf build
```

Потом создаем новую папку build.

```zsh
mkdir build
```

Затем, туда спускаемся.

```zsh
cd build
```

И выполняем в Terminal команды, сначала первую.

```zsh
cmake .. -G Xcode
```

А затем собираем проект.

```zsh
cmake --build .
```

После этого весь проект будет скомпилирован и успешно собран. В папке build, в подпапке Debug будет храниться наш ```AsciiArtStudio.app```, его можно запустить и пользоваться приложением.

### Ubuntu Linux:
1. **Система**. Убедитесь, что у вас установлена Ubuntu Linux версии 22.04 или новее. Для этого выполните команду ниже.

```bash
lsb_release -a
```

Для начала установки рекомендуется обновить все пакеты системы, выполните команду.

```bash
sudo apt update
```

2. **Git**. Установить Git можно командой ниже.

```bash
sudo apt install git
```

3. **GCC/G++**. Установить компиляторы GCC и G++ можно командой ниже.

```bash
sudo apt install build-essential
```

После установки проверьте их версии, должны быть не ниже 12.0.

4. **CMake**. Установить его можно командой ниже.

```bash
sudo apt install cmake
```

Проверьте версию CMake. Требуется версия 3.20 или выше.

5. **OpenGL/GLFW**. Для графической части приложения необходимы OpenGL и GLFW. Установите их командой.

```bash
sudo apt install libglfw3-dev libgl1-mesa-dev libdecor-0-0 libdecor-0-dev
```

Должны быть установлены версии не ниже 3.3.

6. **Visual Studio Code**. Для установки VS Code с помощью менеджера пакетов потребуется несколько шагов. Сначала нужно добавить ключ Microsoft и репозиторий. Обратите внимание, что если у вас архитектура процессора не x86, а ARM, то нужно заменить ```[arch=amd64]``` на ```[arch=arm64]```.

```bash
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
```

Затем можно будет командой установить VS Code.

```bash
sudo apt install code
```

7. **Репозиторий**. Выберите удобную папку для проекта и перейдите в нее в терминале.

```bash
cd путь_к_вашей_папке
```

Затем клонируйте репозиторий.

```bash
git clone https://github.com/dmitry2087/ascii_art.git
```

8. **Сборка и запуск**. Откройте папку с проектом в VS Code. CMake Tools должен автоматически определить проект и предложить его сконфигурировать. Нам нужно выбрать версию компилятора GCC или G++ 14.2 или выше. После этого CMake создаст Unix файлы, они на мне нужны, поэтому в Terminal переходим к папке нашего проекта. Там вводим команду для удаления папки build.

```bash
rm -rf build
```

Потом создаем новую папку build.

```bash
mkdir build
```

Затем спускаемся в папку.

```bash
cd build
```

И выполняем в Terminal команды.

```bash
cmake ..
```

А затем собираем проект.

```bash
cmake --build .
```

После этого проект будет скомпилирован и успешно собран. В папке build будет храниться наш ```AsciiArtStudio```, его можно запустить командой терминала ниже и пользоваться приложением.

```bash
./AsciiArtStudio
```