#!python # -*- mode: python; Encoding: utf-8; coding: utf-8 -*- # Last updated: <2025/12/26 00:00:13 +0900> """ 画像ファイルをPythonスクリプト内にbase64の形で含めておいて、 Pillow で読み込んで処理をするスクリプト。 Windows11 x64 25H2 + Python 3.10.10 64bit """ import base64 from io import BytesIO from PIL import Image # --- PNG画像(64x64, RGB)を base64 で埋め込む --- EMBEDDED_PNG_BASE64 = ( "iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAFzklEQVR42u2aW2wU" "VRjH/zuXvV+6l27bpZQtbQkFaaGAlLsFuWgEa4ghUR55wAejPJD4YGIgPhh9QDHh" "haoPRjfhBSLVQECSyrVaWkuhgm4tVmixl712Z3Z3ZnZ9qKGsO3t2t7SJkXOSTXbO" "931n5vzmnO/7zpmjaWkxpkEoTVIJSQyvZCDKK5J6orw0qSXKHXGy3C7yRLk1RJYz" "eMoLBUABUAAUAAXwNBdOaiLH+USigigX42T7mGAhyg2CkSjno2Q5E9Ln6aKOjgAK" "gAKgACgACoACyJUHeMnr+biYJ87HXET5ZIxsr4uS8wRWZ8rTBbI8FTLQEUABUAAU" "AAVAAeQKg1lhLyBBSSiProOJydwhimdQxirgODajPhSKIZmUAQCKmMqyK3PawWg0" "GXUTkxGIyWT2clhmYdKqL3mVdAoPxSBGhAAikoCYHEdCkWDgdDCyWlh4I7yJMrh4" "K4yM+rKYS1ZkNj58LYixrwOPrm/hATkKOwzYumc96hoXQvNPp7q6/bhy5kZOmwMH" "9sHrnT/1ALwNANDhv4OT37dn6b7fegi1Je6MurAQQdfgTZzpOY+HsfGC3vSxqiNo" "tCyZ/SkQC4j45sQF9F7pL9jm/PkfIMty0fdKI42f/7iNg77DOHHZV3DnASCmCHPr" "Ay74LmN8JFCQ7sDAEO7eHSj6HpfudOKDs8chyPHiX9RcAwAAf9+9gnXb2y9AFAvv" "yJ1hP453fDnjZ4vKk4U5wVxlyzvrYCkzIzwcwZW2LkjB7CHsvzmI5u1NBbUXDEbQ" "29sPT31ZXt2kLOGrq6eIOmucy7HVuwF2QwlMvAFKOgVBEhDyR9EduYmI8oQAtCYt" "TA4jTA4jGlvr0fVFX5ZOOBAt6q2cPn0OzfOaYLfaiHr3xv7EbxPqo6ucd+FQ8xtY" "5KjJiiwAYA6ZsNP1HCJy9MkApFNppNNAUkjifu+Iqs7CJVXFz+ueTuzevJ2o8/vY" "UE7ZW6v3Y7GzFgAgynEIkpgZ1pOJR//FVBwGRj8zAEincfGTyxi9NYG0pP5Fvbah" "mtiEx+PG8PBoRt23Vy9i1ZIGot39gDpwI6dHvatu2k+M+/Hu9Y9ytvNp1RE0/CsU" "MslSLR7/KWZW1TjhMsK9wZuz854VC+BcV4+o04K4ST1x2bR3t2r9me5ORLXqiUrY" "ZENEo+6rGxatRdhcjnGjC+NGF8J68lQK8naMaUszfkVFAdfiUvV5uKwSLft3gNeR" "DyOUz/dg48vbsuq7u6+ho+NcTjub2a5ar1GZ83O6FrBU2qCrmt5hca52o+XNF/HC" "wVdgdloLamP5+mfB67NPfQhC7pTbaVMH3/PrdSRmkBPMzAcAYDgG247uQkpSwPAs" "OD2HsqinqBuabRbseK0V7Z+fLNhmQUWN+nadJKBz8BI21U2NqmpXHT7c1Qbfj23o" "+ev63KwGOT0HrUUHTs/NmPri5c+gvLqyYH1PaSWWVa9SlX3208c4e/sURqMPwWgY" "GHgDNBpmbkbAbBVep0VL6074jrYV9pAsj5c2voq+wS5Vua+3Db7etrn3AbNZqhYt" "xNLmFQXrV7oX4O297/1/NkQYhsHaHZuLsqmbX4/D+49h3dIts7chEndkemTFqQW7" "Zjom6+Up7y7YjWDt2d/qdWz2vrxsN8PeOLXe56XptkJWC0TzdBuszYKNra9j4FZP" "zgcMm0owanrs24KpBM/vOYSVW/ZhaKgfI/0DuDHwHZRUQtXezdai1roSFaYapMx1" "GNE6MkNpTd8a4kFJb3QZOTeIzCPKS0JucmidcJI3XEbJH1ZMD6xQUjISkghFSUJJ" "ydBoGHAsD57Tw/ZL6X/PCc52YRkORp2FbopSABQABUABFJ0HiHbyEjbE5DuHR/4+" "n1DMRHk0Qfbexhh5lanPsweg4210BFAAFAAFQAFQABRAjjwgZOXzqJDP24dS5HN4" "eomcJ2hFcp6gNZDzBF5HjvM8b6UjgAKgACgACoACoADUy9/LmLwcqfyorgAAAABJ" "RU5ErkJggg==" ) def main(): binary = base64.b64decode(EMBEDDED_PNG_BASE64) im = Image.open(BytesIO(binary)) print(f"Loaded image: size={im.size} mode={im.mode}") newim = im.convert("RGBA").point(lambda p: p * 2.0) newim.save("output.png") print("Saved processed image as output.png") if __name__ == "__main__": main()