今天看到一道misc的題目,得到一RGB值的txt文件,需解決RGB值轉圖片。具體題目:here
由於第一次碰到這個類型的題目,做一下記錄,在這里我采用的是python 的PIL圖像庫
具體思路:
1.首先我們要先確定圖片的size,既寬度高度
通過txt文件行數(61366=2*61*503,因為最后一行是空行,所以不在計算范圍內)的整數分解
可以得到以下幾個不同的size:503*122,1006*61,30683*2(x,y交換一下對圖片不會有很大的變化,只是橫着和豎着的區別)
所以我們接下來一共要試這3種不同size的轉化,查看那張轉化出來的圖片是有實際意義的(啊喂,最后一個那么誇張想想也不是了好嘛:)
2.接下來就是是用python的圖片庫來轉換了,附上擼主的代碼
#-*- coding:utf-8 -*- from PIL import Image import re x = 503 #x坐標 通過對txt里的行數進行整數分解 y = 122 #y坐標 x*y = 行數 im = Image.new("RGB",(x,y))#創建圖片 file = open('misc100.txt') #打開rbg值文件 #通過一個個rgb點生成圖片 for i in range(0,x): for j in range(0,y): line = file.readline()#獲取一行 rgb = line.split(",")#分離rgb im.putpixel((i,j),(int(rgb[0]),int(rgb[1]),int(rgb[2])))#rgb轉化為像素 im.show()
其中x,y是需要用上面的size去代的,結果:
再最后附上python PIL學習手冊一份