pixelkid
Превращает любое фото в пиксель-арт одной функцией. Сделано для мастер-классов по Python (возраст 11–17).
from pixelkid import pixelate
pixelate("photo.jpg", pixel_size=12, colors=16, save_as="art.png")
Установка
pip install pixelkid
Нужен Python 3.8+. Вместе с pixelkid автоматически установится Pillow.
Функция pixelate
pixelate(image, pixel_size=12, colors=32, save_as=None, upscale=True)
| Параметр | Что это | По умолчанию |
|---|---|---|
image |
Путь к файлу ("photo.jpg") или картинка Pillow (Image) |
— |
pixel_size |
Размер «большого пикселя» в обычных пикселях, от 2. Чем больше — тем крупнее квадраты | 12 |
colors |
Сколько цветов оставить, от 2 до 256 | 32 |
save_as |
Куда сохранить результат. Если не указать — файл не создаётся | None |
upscale |
True — картинка исходного размера с крупными пикселями. False — маленькая картинка, где 1 точка = 1 большой пиксель |
True |
Возвращает картинку Pillow (PIL.Image.Image), поэтому её можно показать (.show()), сохранить (.save(...)) или обработать дальше.
Ошибки. Если pixel_size меньше 2 или colors вне диапазона 2–256, функция выбросит ValueError.
Примеры
from pixelkid import pixelate
# 1. Просто показать результат
pixelate("cat.jpg").show()
# 2. Очень крупные пиксели и всего 4 цвета
pixelate("cat.jpg", pixel_size=30, colors=4, save_as="cat_8bit.png")
# 3. Пять версий одного фото
for size in (4, 8, 16, 24, 32):
pixelate("cat.jpg", pixel_size=size, save_as=f"cat_{size}.png")
# 4. Маленькая «сетка» для своих игр и раскрасок
grid = pixelate("cat.jpg", pixel_size=16, upscale=False)
print(grid.size) # например, (48, 48): можно перебрать каждую клеточку
Как это работает
- Уменьшаем фото: каждый квадрат
pixel_size × pixel_sizeстановится одной точкой. - Оставляем только
colorsцветов (quantize). - Увеличиваем обратно методом
NEAREST— он просто копирует цвет и не размывает границы.
Разработка
pip install -e .[dev] # или: pip install -e . pytest
pytest
python -m build # собрать пакет в папку dist/
Лицензия
MIT
Metadata
Release files for pixelkid 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| pixelkid-0.1.0.tar.gz | 4.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pixelkid-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 9.2 kB
Release files / pixelkid-0.1.0.tar.gz
| Download URL | pixelkid-0.1.0.tar.gz |
|---|---|
| Size | 4.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ec2ab3f0375366644835a2fbda6a109d37391b26f93ac23e54151eb20a1a8d89
|
|
BLAKE2b-256 checksum How to use checksums |
9fa9f4c21c9eaecc7094be64bb3882915d9c2bc09beec314b344e398a435e7e5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|
Release files / pixelkid-0.1.0-py3-none-any.whl
| Download URL | pixelkid-0.1.0-py3-none-any.whl |
|---|---|
| Size | 4.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bc98414ae2e7cefef2d3c9b6a59a3078122fa35c3c3356762c315e476f23f0f2
|
|
BLAKE2b-256 checksum How to use checksums |
f83cf30230be1d34e7672935f03ea48ab32095bc6c2335a6337422791daf76c1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|
Security for pixelkid 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.