You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

418 lines
7.3 KiB
Plaintext

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# PIL(low) talk\n",
"\n",
"The \"classic\" Python Image Library (or PIL) is described in the (classic) handbook:\n",
"http://www.effbot.org/imagingbook/pil-index.htm\n",
"\n",
"In fact, the current library that people tend to use is called [Pillow](https://pillow.readthedocs.io/en/stable/), but as a \"friendly fork\" it tries to acts just like the old PIL library, so you don't even notice (and your code still uses the name PIL). The Pillow project also maintains it's own documenation at:\n",
"\n",
"https://pillow.readthedocs.io/en/stable/reference/index.html\n",
"\n"
]
},
{
"cell_type": "code",
4 years ago
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from PIL import Image"
]
},
{
"cell_type": "code",
4 years ago
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"im = Image.open(\"a.jpg\")"
]
},
{
"cell_type": "code",
4 years ago
"execution_count": null,
"metadata": {},
4 years ago
"outputs": [],
"source": [
"im"
]
},
{
"cell_type": "code",
4 years ago
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"im = Image.open(\"cyber.jpg\")"
]
},
{
"cell_type": "code",
4 years ago
"execution_count": null,
"metadata": {},
4 years ago
"outputs": [],
"source": [
"im.size"
]
},
{
"cell_type": "code",
4 years ago
"execution_count": null,
"metadata": {},
4 years ago
"outputs": [],
"source": [
"im.mode"
]
},
{
"cell_type": "code",
4 years ago
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"im.thumbnail( (320, 320) )"
]
},
{
"cell_type": "code",
4 years ago
"execution_count": null,
"metadata": {},
4 years ago
"outputs": [],
"source": [
"im.size"
]
},
{
"cell_type": "code",
4 years ago
"execution_count": null,
"metadata": {},
4 years ago
"outputs": [],
"source": [
"im\n"
]
},
{
"cell_type": "code",
4 years ago
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from urllib.request import urlopen"
]
},
{
"cell_type": "code",
4 years ago
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"f = urlopen(\"https://upload.wikimedia.org/wikipedia/commons/1/10/NOLAPunchCards1938.jpg\")"
]
},
{
"cell_type": "code",
4 years ago
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"key2 = Image.open(f)"
]
},
{
"cell_type": "code",
4 years ago
"execution_count": null,
"metadata": {},
4 years ago
"outputs": [],
"source": [
"key2.size"
]
},
{
"cell_type": "code",
4 years ago
"execution_count": null,
"metadata": {},
4 years ago
"outputs": [],
"source": [
"key2.convert(\"1\")"
]
},
{
"cell_type": "code",
4 years ago
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"key2.convert?"
]
},
{
"cell_type": "code",
4 years ago
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"key2.thumbnail((1024, 1024))"
]
},
{
"cell_type": "code",
4 years ago
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"key2.save(\"keypunch.png\")"
]
},
{
"cell_type": "code",
4 years ago
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"key3 = Image.open( urlopen(\"https://upload.wikimedia.org/wikipedia/commons/thumb/4/48/IBM26.jpg/1024px-IBM26.jpg\") )"
]
},
{
"cell_type": "code",
4 years ago
"execution_count": null,
"metadata": {},
4 years ago
"outputs": [],
"source": [
"key3.size"
]
},
{
"cell_type": "code",
4 years ago
"execution_count": null,
"metadata": {},
4 years ago
"outputs": [],
"source": [
"key3.convert(\"1\", dither=Image.NONE)"
]
},
{
"cell_type": "code",
4 years ago
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"key3"
]
},
{
"cell_type": "code",
4 years ago
"execution_count": null,
"metadata": {},
4 years ago
"outputs": [],
"source": [
"key3.convert(\"L\")"
]
},
{
"cell_type": "code",
4 years ago
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"#key3 = key3.thumbnail((64, 64))"
]
},
{
"cell_type": "code",
4 years ago
"execution_count": null,
"metadata": {},
4 years ago
"outputs": [],
"source": [
"key3 is None"
]
},
{
"cell_type": "code",
4 years ago
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from PIL import ImageDraw"
]
},
{
"cell_type": "code",
4 years ago
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"key3.save(\"keypunch_gray.png\")"
]
},
{
"cell_type": "code",
4 years ago
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"key2.convert?"
]
},
{
"cell_type": "code",
4 years ago
"execution_count": null,
"metadata": {},
4 years ago
"outputs": [],
"source": [
"import aalib"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import aalib"
]
},
{
"cell_type": "code",
4 years ago
"execution_count": null,
"metadata": {},
4 years ago
"outputs": [],
"source": [
"screen = aalib.AsciiScreen(width=640, height=480)"
]
},
{
"cell_type": "code",
4 years ago
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"f = urlopen('https://www.python.org/static/favicon.ico')"
]
},
{
"cell_type": "code",
4 years ago
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"im = Image.open(f)"
]
},
{
"cell_type": "code",
4 years ago
"execution_count": null,
"metadata": {},
4 years ago
"outputs": [],
"source": [
"im"
]
},
{
"cell_type": "code",
4 years ago
"execution_count": null,
"metadata": {},
4 years ago
"outputs": [],
"source": [
"im = im.convert('L').resize(screen.virtual_size)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"im"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"screen.virtual_size"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"screen.put_image((0, 0), im)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"print (screen.render())"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"resized = key2.convert(\"L\").resize(screen.virtual_size)\n",
"screen.put_image((0, 0), resized)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"screen.render()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"resized"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}