使用 Excel 畫像素畫

2021-10-19 19:43:58 字數 1889 閱讀 2823

一張,都是由密密麻麻的畫素組成,且每個畫素都是乙個 rgb 的顏色值。

那是否可以讀取每個畫素的顏色,填充到 excel 中,就可以做到 excel 中畫圖。

這麼想,是可以的。理論上也是可行的,那接下來就開始寫**。

第一步,匯入所需庫,分別是 xlsxwriter 和的 image 庫。使用 xlsxwriter 的理由,是 xls 內容有限,的畫素可是很多的,所以最好是使用 xlsx 格式。

使用 image 讀取物件,獲取寬和高,以及 pix 這畫素物件,通過 pix[1,1 ]拿到具體的顏色 rgb 值,然後轉換成 16 進製的顏色值,進行背景色的寫入。

現在開啟乙個 xlsx 檔案,檔名任意,如下**:

wb = xlsxwriter.workbook(

'demo2.xlsx'

)ws = wb.add_worksheet(

'sheet1'

)

然後找乙個 rgb 轉 16 進製的函式,因為 rgb 是 10 進製的,方式就是通過 hex 函式轉換成 16 進製,然後加上 x 和 0,並全部大寫,就可以了。如下函式:

def

rgb_to_hex

(tmp)

: rgb =

list

(tmp)

strs =

'#'for i in rgb:

num =

int(i)

strs +=

str(

hex(num))[

-2:]

.replace(

'x',

'0')

.upper(

)return strs

為什麼一定要 16 進製?因為 sheet 中,寫入背景色時,顏色必須是 16 進製才可以。

下面就是迴圈的逐個單元格設定背景色,且不需要寫入內容。如下**:

for i in

range

(w):

for j in

range

(h):

rgb = pix[i,j]

color = rgb_to_hex(rgb)

style = wb.add_format('.

format

(color)})

ws.write(j,i,

'',style)

ws.set_row(j,1)

ws.set_column(

0,w-1,

0.5)

wb.close(

)

**思路:

這是單元格的主要**,寫完後,關閉 workbook 即可。

讀取的全部寬高,然後描繪到 excel 中完成了。最後用的形式展示下檔案的樣子,如下圖【使用 wps 軟體檢視】:

畫像分析(6 1)畫像需求分析

客戶畫像專題設計 支援rest api 支援 參見資料結構定義 實體分普通實體 如 人 qq 關係實體 如 銷售訂單 案件 a 實體建模 要分析出實體的維度,並支援後來維度的追加 如 建模實體 人 找到的維度有 這樣,當乙個人有多個 號碼 多個qq時,也比較容易用結構化資料儲存。b 實體維度建模 要...

畫素畫教程(1)

非常經典的畫素畫系列教程 第 1 頁 工具的選擇 編者 我們這裡說的 畫素畫 並不是和向量圖對應的點陣式影象,畫素畫也屬於點陣式影象,但它是一種圖示風格的影象,更強調清晰的輪廓 明快的色彩,幾乎不用混疊方法來繪製光滑的線條,所以常常採用gif格式,同時它的造型比較 得到很多朋友的喜愛。繪製這種畫素畫...

畫素畫教程(5)

非常經典的畫素畫系列教程 第 5 頁 基礎造型 造型是體現畫素畫特徵的基本要素。造型的能力一方面來自於平時生活中知識的積累 另一方面則可以借助資料作為參照 甚至通過臨摹優秀的畫素作品以及對素描 速寫等藝術學科的參透也能提高我們的造型能力。通俗一點來說造型就是用來表現作品形態的一種構圖概念。學習造型沒...