Skip to content

Instantly share code, notes, and snippets.

@valyagolev
Created December 2, 2019 03:05
Show Gist options
  • Save valyagolev/e10e67aab8a0b50c2a18208df0d47596 to your computer and use it in GitHub Desktop.
Save valyagolev/e10e67aab8a0b50c2a18208df0d47596 to your computer and use it in GitHub Desktop.
the code to generate swatch telegram sticker pack from your own set of colors
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 2,
"metadata": {
"language_info": {
"name": "python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"version": "3.8.0"
},
"orig_nbformat": 2,
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"npconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": 3
},
"cells": [
{
"cell_type": "code",
"execution_count": 145,
"metadata": {},
"outputs": [],
"source": [
"# https://t.me/roguelike_theory\n",
"# \n",
"from PIL import Image, ImageFont, ImageDraw, ImageColor\n",
"from IPython.display import display # to display images\n",
"import io\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 139,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "('Слепяще-синий', (62, 85, 171), '💍')\n"
}
],
"source": [
"colors = \"\"\"\n",
"Конфетно-розовый\tF5B0BD\t\t🍬\n",
"Индейский Виноград\t5D3C43\t\t😾\n",
"Чили-масло\t8E3C36\t\t🌶\n",
"Слепяще-синий\t3e55ab\t\t💍\n",
"Лимонное Карри\tCDA323\t\t🍋\n",
"Привкус Сирени\tD0D0DA\t\t🐚\n",
"Эликсир Любви\tC01352\t\t🍵\n",
"Апельсиновый Тигр\tF96714\t\t🐅\n",
"Выдра\t7F674F\t\t🐰\n",
"Розовый Тысячелистника\tCE3175\t\t🌷\n",
"Сангрия\t982551\t\t💅🏻\n",
"Ненастная Погода\t58646D\t\t🌀\n",
"Эдем\t264E36\t\t🐸\n",
"Одуванчик\tFFD02E\t\t🌞\n",
"Лихой Мак\tBC322C\t\t🗡\n",
"Мандариново-красный\tE74A33\t\t🍊\n",
"Дымный Синий\t6D8994\t\t🕵️‍♀️\n",
"Секрет\tB22250\t\t👩🏻\n",
"Змея в Траве\t28312D\t\t🐍\n",
"Турецкий Кофе\t483F39\t\t☕️\n",
"Синий Лишайник\t638DB7\t\t🤦🏻‍♂️\n",
"Скандально-розовый\tDE5B8C\t\t🙀\n",
"Облачный Танцор\tF0EEE9\t\t👻\n",
"Темный Чеддер\tE08119\t\t🌭\n",
"Нагой\tF2D3BC\t\t🍎\n",
"Томатное Пюре\tC53346\t\t😐\n",
"Жемчужный Румянец\tF2CEC5\t\t☺️\n",
"Дегустация Вина\t492A34\t\t💃🏾\n",
"Дикая Голубка\t8B8C89\t\t🦈\n",
"Печеное Яблоко\tB34646\t\t🙆🏿\n",
"Нежные Побеги\tB5CC39\t\t💗\"\"\".strip().split('\\n')\n",
"colors = [c.split('\\t') for c in colors]\n",
"colors = [ (name, ImageColor.getrgb('#' + color), emoji) for (name, color, _, emoji) in colors ]\n",
"print(colors[3])\n",
"#print([c[4] for c in colors])"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAIIAAAAUCAMAAAB24hWRAAADAFBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzMPSIAAABAHRSTlP8AjVw0lCPsAAAAAD/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Q4OBggAAAgZJREFUeJyVlkmyxCAIQC0mF97/vj/KaFq7frMSRHmAmjRIGSG7WhSdgF10BjtRFz5s4cPPVcyPf6tCaOtpamIKT6XrWO19XzUnJDROz6YM3Zy2VW1SIzPCbrZI7E5Fw2A7IAAVXRKhf0VAbkKMLwSNZCF4fAApAm1LaLwMEgi6xQUBgBsSGMJTEEbySF6aviFIIrA8osZH0JCFwfbgiBdNcgQSE1wInQamo+XytC9KAxVhaRSFVm89bsVZnL1UpCL0PPNPIwgabAhoGaw45F0JBLohrLDbSYasOtwRGHmgwAFh2UDC7ggzyhEhR74JJkJ/NaLeSXggYFSErtS6gqO4eik1zBFhyw5MW/tqThUhxKvm5onF3Wishd5JRWBVTwjQ0phAK4zeBfwPQp3RiHmVrB6rwPAjwprC3xDE2hHJ52CG7P2GcGwEag+2s4AmcEaYj2tsGANDiFN5PI7kG1rHvI/+aJ1uxIYwnybmBfZ6L2FsnTkidK9XVcyz3uhvCFQM+1s7WxYduSGww3oGHk9GgP+A8P5uUUHAC4JhP+2F7tyBADsCsQvcEPSB1RNjD10gWKhPhBd3HwXBPuOfnym6IbTcWLOWgsAXhDyqWev0pP8gxOuqUb1fmlxB0IwOCPWHQXJjKXxfEFbJA4G3K6tzUGxzyMU1y8d93U2B8eHpIXCT+MX7A91XMUtJ1TCWAAAAAElFTkSuQmCC\n",
"text/plain": "<PIL.Image.Image image mode=P size=130x20 at 0xC01BE98>"
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# logo = Image.open('Pantone-logo.png')\n",
"# logo = logo.resize((130, int(60 * 130 / 390)), Image.BICUBIC).quantize(12)\n",
"# display(logo)"
]
},
{
"cell_type": "code",
"execution_count": 177,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAgAAAACqCAYAAADbYPdbAAAC2klEQVR4nO3WMQEAIAzAMMC/5+ECjiYKenbPzCwAIOX8DgAA3jMAABBkAAAgyAAAQJABAIAgAwAAQQYAAIIMAAAEGQAACDIAABBkAAAgyAAAQJABAIAgAwAAQQYAAIIMAAAEGQAACDIAABBkAAAgyAAAQJABAIAgAwAAQQYAAIIMAAAEGQAACDIAABBkAAAgyAAAQJABAIAgAwAAQQYAAIIMAAAEGQAACDIAABBkAAAgyAAAQJABAIAgAwAAQQYAAIIMAAAEGQAACDIAABBkAAAgyAAAQJABAIAgAwAAQQYAAIIMAAAEGQAACDIAABBkAAAgyAAAQJABAIAgAwAAQQYAAIIMAAAEGQAACDIAABBkAAAgyAAAQJABAIAgAwAAQQYAAIIMAAAEGQAACDIAABBkAAAgyAAAQJABAIAgAwAAQQYAAIIMAAAEGQAACDIAABBkAAAgyAAAQJABAIAgAwAAQQYAAIIMAAAEGQAACDIAABBkAAAgyAAAQJABAIAgAwAAQQYAAIIMAAAEGQAACDIAABBkAAAgyAAAQJABAIAgAwAAQQYAAIIMAAAEGQAACDIAABBkAAAgyAAAQJABAIAgAwAAQQYAAIIMAAAEGQAACDIAABBkAAAgyAAAQJABAIAgAwAAQQYAAIIMAAAEGQAACDIAABBkAAAgyAAAQJABAIAgAwAAQQYAAIIMAAAEGQAACDIAABBkAAAgyAAAQJABAIAgAwAAQQYAAIIMAAAEGQAACDIAABBkAAAgyAAAQJABAIAgAwAAQQYAAIIMAAAEGQAACDIAABBkAAAgyAAAQJABAIAgAwAAQQYAAIIMAAAEGQAACDIAABBkAAAgyAAAQJABAIAgAwAAQQYAAIIMAAAEGQAACDIAABBkAAAgyAAAQJABAIAgAwAAQQYAAIIMAAAEGQAACDIAABBkAAAgyAAAQJABAIAgAwAAQQYAAIIMAAAEGQAACLqv5QVQj68QDgAAAABJRU5ErkJggg==\n",
"text/plain": "<PIL.Image.Image image mode=RGBA size=512x170 at 0xDB0E6E8>"
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"bottom = Image.new('RGBA', (512, 170), (255, 255, 255))\n",
"# bottom.paste(logo, (10, 10))\n",
"# helbold = ImageFont.truetype(\"Helvetica Bold.ttf\",32)\n",
"# img=Image.new(\"RGBA\", (500,250),(255,255,255))\n",
"draw = ImageDraw.Draw(bottom)\n",
"# draw.text((15, 12),\"PANTONE®\",(0,0,0),font=font)\n",
"display(bottom)"
]
},
{
"cell_type": "code",
"execution_count": 185,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAIAAAB7GkOtAAApoklEQVR4nO3deVxUZf//8Rk1l1CQBBIQxSVFc0kEK80lyUwtNVPD3RK1Uh8hLmnKLaXeLrnkbd1u5W2LS2plLoliamYWiOVSKorhgikgIoiAbPP9g9+D3+mcmWFmmEHw83r+xVxc55rrnAPznnOuc52j/63tVB0AQJ5K97sDAID7gwAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQigAAAKEIAAAQSm8wGO53HwAA9wFHAAAgFAEAAEIRAAAgFAEAAEIRAAAgFAEAAEIRAAAgFAEAAEIRAAAgFAEAAEIRAAAgFAEAAEIRAAAgFAEAAEIRAAAgFAEAAEIRAAAgFAEAAELZGACpqal6K7m4uDRo0CAwMHDcuHFr165NSkqy75qgnBszZkzRX8KKFSvMVDt16lRRtaZNm5ZZ3wCZyu4IICMj48qVK7GxsWvWrBk7dqyPj0///v1Pnz5dZh3A/fXss88W/bBixYqcnBxT1RYvXqyqD8BB7tspoLy8vG+//bZdu3bh4eGFhYX3qxsoM8Uf6BcuXOjfv/+dO3dUFQoKCiIiIr744ouil926dSvT/gHy6A0Ggw2Lpaamurm52asTY8aMWb16tV6vt1eDKJ9GjBhR/Pnu7Ow8ePDgFi1aPProo7dv37506dKmTZsuX75c9Fs/P7/Y2FgnJ6f711ngwVcuAkCn0y1atGjq1Kl2bBDl0N27dwMCAs6dO2e+Wo0aNaKjo1u1alU2vQLEsmcAzJw5MzAwUFu5sLDw5s2bSUlJCQkJ33zzze3bt7V1atasef78eU9PTxs6gwrk4sWLYWFhO3bsMFWhTZs2S5YsCQoKKsteATLZMwB27drVu3dv8wvm5OR88803kydPvnHjhupX77777rx582zoDCqcmJiYTz75JCEh4dKlS4mJiW5ubr6+vr6+vi+99NLAgQM5GQiUjbIOgCKXLl3y9/dPS0tTFrZs2ZKLggCgzNyfq4B8fX1nz56tKvzjjz+Sk5PvS38AQKD7dhnooEGDtIV///132fcEAGSqcr/e2NPT08nJ6e7du8pC7cCASm5u7s8//7xv376ff/45KSkpOTk5Ozvb3d3dw8PDz8+vR48e3bt3t3YkOTc398cff9y7d++FCxdu3Lhx/fr15ORkZ2dnLy8vLy8vX1/fwYMHd+rUydo27dLPWrVqZWZmWvKOlStXrlevXqNGjRo1ajRixIjOnTsbrXb8+PGAgABlSUhIyNq1ay15C622bdueOHFCWaI9o6hahSZNmly4cMFUg6tXr37jjTe05bGxse3atbOtkwBMMtjk5s2b2qZ27dplVSN16tRRtRAZGWmqclZW1ocffli3bl3zq1O5cuURI0ZcuHDBkg7k5eUtWbLEy8urxK3UtGnTxYsX5+XlldimfftZs2bNEvtmVLdu3U6fPq1tMDY2VlUzJCTEkm1l1BNPPKFqrcRVaNKkianWsrOz69WrZ3R1YmNjbe4kAFPuWwBkZ2drL/Y4fvy40crHjh2rX7++5R9/VapUWbx4sfkOXLt2rUOHDpa3qdPpunTpcufOHTNt2r2fNgeATqfz8fFJSUlRNVieA2Dp0qWm1oUAABzhvo0BREVFGTSnC3x8fLQ1N27c+Mwzz1y5csXyxvPz86dMmTJs2LCCggKjFbKysnr37n306FHL29TpdD/++OO4ceNM/dYR/SyNq1evDh8+3O7NOkhmZub8+fPvdy8AWe7PGEB6enpYWJiqsHXr1u7u7qrCQ4cOjRw5Mj8/X1VepUqV9u3b169fv2rVqjdu3IiOjk5PT1fV2bBhg7e398KFC7UdmD59uurktU6nc3Jy6tWrV+PGjWvVqvX333+fPn368OHDqjobN26cOXNmixYtyqafKu7u7kY/Je/evXvlypVNmzapRtEjIyMTEhIaNmxYYsv33fLly1NSUu53LwBhbDtwKM0poNTUVKPTBWbMmKGq+ffff2vHCWrWrDlv3rzbt28ra+bl5W3durVx48baZr/77jtVsykpKTVq1FBV69u3740bN1Q1T548qR0hiIiIKJt+Gqw5f2IwGDIzM7XJtH37dmWd8nkKKC0trXbt2tptUoxTQIAjlFEAZGVlxcXFRUVFTZo0yegdvh5++GHt5+9bb72lqla3bt2TJ0+aepfbt29rr35p3rx5QUGBstqaNWtUdVq2bJmVlWW0ze3bt6sqjxgxomz6abAyAAwGg3Yq9caNG5UVymcAvPvuuzqzCADAEew5BvDiiy+aehrMww8/3KxZs+7duy9btkx16WeRd95559FHH1WWXL169ZNPPlFV+/jjj1u3bm2qAy4uLhs3blR9uz979uyWLVuUJcePH1ct+Pbbb2uPCYpoP+MqVfrHRnNcP21QrVo1VYmvr28p23S05OTk5cuXF790cXHp16/f/esOIEi5eCRknz59Zs2apSr8+uuvc3NzlSWdOnXq37+/+aa8vb0nT56sKty6davyZf/+/df/08CBA001+Pvvv6tK/P39y6af1jIYDLt371aWeHl5tW3btjRtloH58+crvxNMmTLFvjeaBWDKfZsIVmzo0KFr1qxRfa3W6XR79uxRlVh4q7h33nlHdZxx4MCBgoKCypUrF718/vnnLexbYmLizJkzlSVubm5Dhgwpm35aLicn5/z584sWLTp48GBxoV6vX7RoUfXq1c0vGxMTM2PGDFWhXq+vXbu2h4dHYGBgixYtHHd3tsTExFWrVhW/dHd3Dw0NnTRpkoPeDsA/2HbmyOgY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bNgwVcmkSZNKvH3K/PnzI//J6F0uEhISVGMz5md+WqugoEB12Dd37lxrA8ahu76isMuW1PL19VWNyoaGhnbv3l1VbeLEidoBLe2ttCyZonjhwgXruwmdrqIHgHY+p/ZODGY0btxYO7Y2fvz4q1evmlokIiJC9USU5s2bq75Q63S6FStWbN68WVX4v//9z5K/5jLQpk0b1b/o77//bv5Co6NHj6ru0RgYGGh0Xo/2HjtPPvmkjR01JiEhQXm80rFjx549e1rbiON2fQVily1pCb1e/9lnn6nG3rOysoKDg1XXC2hP8Z8+fdp84zExMdrPAcunxQhXgQNg8+bN2qNIax/ON3v2bNXf3MWLF5988skNGzao5jEmJCQMHjz4/fffV7WwcOFCVUl0dPSUKVNUhaGhoS+//LJVfXOof//736pLMydPnjxs2DCjT8Xat29fz549VVf3F98ftHhcNC8vb+7cudqvyZaPythg3rx5ti3oiF1fodm8JS3h6en5ySefqApPnTo1efJkZYmfn59qBOLixYtLly412mZhYeEXX3zxwgsvaO99YuoCZaiU90Fgo/cCSklJOXHihHbwzd/f39pbbzZu3HjdunWDBg1SFl6/fn3YsGETJ07s0KFD3bp1b9++HRcXFxcXp/07GzVqlOqrdGpq6sCBA1WjUu3bt7fkFHNZatmy5ccffzx69Ghl4YYNG/bt2/fKK68EBga6ubllZGRcvnx5x44d2lueLVq0qEuXLkU/b9u27a233nJ1dU1MTNROAWvVqpW95kNode/evbgb1rL7rq/QSrMlLdSvX78xY8aorur+73//GxQUVDzw4OHh0bVr1wMHDijrTJ48OTIycuTIkY0bN65du/aVK1fi4+MvXLiwfft2UzPY33rrrd69e7u4uEycONExa/OgsO/jBez+QBjL6fX6qKgoZWuWPxR+8eLFNpz6fPHFF+/du6dsp6CgQDu66OrqmpCQYGatzT8QxgaWPxTeqqlzxd5//31lI9qTXZaviw0PhFGKjo422qwlT0cpYq9db1Q5fyCMvbak5b3NzMzUPgbA1dX10qVLxXViYmKsvQzJ1KyFli1blrjdhKvAp4BUFixYYPMJ2cmTJ2/fvt3Uhclaer1+woQJ27ZtU43ovv/++9qBxPXr15fb+8z861//+uKLLx5++GEL61eqVCkiIiI8PNzC+uPHj9cmor307dvXzGMpLWSvXV+h2WVLWsLJyWnDhg2qz+u0tLQhQ4YUn3YLDAxcs2aN5an89NNPnzp1ysLpn1B5EALg0Ucf3bJli+rO49bq06dPfHx8WFhYiTct6NSp0/79+1esWKG6/+jevXvnzJmjqjx58uRyfqHIsGHD4uPjx40bp3roo4perw8KCjp27Njs2bMtaVav14eGhmrHA+xFr9drt7ZtSr/rKzQ7bklLBAQEaEdTjh49qvy7Gj16dExMTFBQkPmmGjZsuGzZssOHD/v5+ZXy31+s8j4GYJRer3d2dnZ3dw8ICOjRo0dwcLBdbjXj7u6+ZMmS8PDwqKioyMjIkydPJicnJycnV61a1c3NrVGjRl27du3Vq5e/v7922atXrw4dOlR1JeVTTz1l1Z3N7xdPT89Vq1bNnTt3z54933//fVxcXFJSUkpKSo0aNerUqfP444936NBhwIABpp6W1bJly1dfffX48ePJycm5ubleXl7PPvvs2LFjLflS2a9fP9XhkfbEnVHBwcFGnzJvm9Ls+orOvlvSEtOmTYuMjPzxxx+VhQsWLOjWrVvxh35AQMD+/fv379+/efPmX3/99fr16xkZGU5OTq6urg0bNnzqqae6dOnSvXv34pNFs2bN8vLyWrVq1fnz53NyclxdXf38/Hr37l2W61UR/eOWAAAAOR6EU0AAABsQAAAgFAEAAEIRAAAgFAEAAEIRAAAgFAEAAEIRAAAgFAEAAEIRAAAgFAEAAEIRAAAgFAEAAEIRAAAgFAEAAEIRAAAgFAEAAEIRAAAgFAEAAEIRAAAgFAEAAEIRAAAgFAEAAEIRAAAgFAEAAEIRAAAgFAEAAEIRAAAgFAEAAEIRAAAgFAEAAEIRAAAgFAEAAEIRAAAgFAEAAEIRAAAgFAEAAEIRAAAgFAEAAEIRAAAgFAEAAEIRAAAgFAEAAEIRAAAgFAEAAEIRAAAgFAEAAEIRAAAgFAEAAEIRAAAgFAEAAEIRAAAgFAEAAEIRAAAgFAEAAEIRAAAgFAEAAEIRAAAgFAEAAEIRAAAg1P8B1ubWXKd50aAAAAAASUVORK5CYII=\n",
"text/plain": "<PIL.Image.Image image mode=RGB size=512x512 at 0xDF2FE68>"
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import re\n",
"def image_with_text(text, color):\n",
" img = Image.new('RGB', (512, 512), color)\n",
" img.paste(bottom, (0, 512-170))\n",
" draw = ImageDraw.Draw(img)\n",
" hel = ImageFont.truetype(\"HelveticaNeueCyr-Medium.otf\",51)\n",
" if draw.textsize(text, hel)[0] > 512 - 15 * 2:\n",
" text = '\\n'.join(text.split(' '))\n",
" text = '-\\n'.join(text.split('-'))\n",
" draw.multiline_text((15, 512 - 170 + 18),text,(0,0,0),font=hel,spacing=17)\n",
" # img = img.resize((int(222 * 512 / 337), 512), Image.BICUBIC)\n",
" return img\n",
"def file_object_for_image(i, text, color):\n",
" img = image_with_text(text, color)\n",
" b = io.BytesIO()\n",
" img.save(b, \"PNG\")\n",
" b.seek(0)\n",
" return b\n",
" # img.save(\"swatch/%i.png\" % i)\n",
" # return open(\"swatch/%i.png\" % i, \"rb\")\n",
"#img.save(\"bright_red.png\")\n",
"display(image_with_text(colors[9][0], colors[9][1]))"
]
},
{
"cell_type": "code",
"execution_count": 186,
"metadata": {},
"outputs": [],
"source": [
"images = [(file_object_for_image(i, c[0], c[1]), c[2]) for i, c in enumerate(colors)]"
]
},
{
"cell_type": "code",
"execution_count": 154,
"metadata": {},
"outputs": [],
"source": [
"with open(\"a.png\", \"wb\") as f:\n",
" f.write(images[0][0].read())"
]
},
{
"cell_type": "code",
"execution_count": 87,
"metadata": {},
"outputs": [],
"source": [
"# TELEGRAM_TOKEN = ''\n",
"# MY_ID = \n",
"\n",
"import telegram.bot"
]
},
{
"cell_type": "code",
"execution_count": 88,
"metadata": {},
"outputs": [],
"source": [
"bot = telegram.bot.Bot(TELEGRAM_TOKEN)"
]
},
{
"cell_type": "code",
"execution_count": 187,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": "True"
},
"execution_count": 187,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"bot.create_new_sticker_set(MY_ID, \"colormoods_by_gif_hollywood_bot\", \"Color Moods\", images[0][0], images[0][1].encode(\"utf-8\"))"
]
},
{
"cell_type": "code",
"execution_count": 188,
"metadata": {},
"outputs": [],
"source": [
"for im, em in images[1:]:\n",
" im.seek(0)\n",
" bot.add_sticker_to_set(MY_ID, \"colormoods_by_gif_hollywood_bot\", im, em.encode(\"utf-8\"))"
]
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment