日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

用Excel表达图片如何由像素点构成

發布時間:2023/12/15 综合教程 30 生活家
生活随笔 收集整理的這篇文章主要介紹了 用Excel表达图片如何由像素点构成 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

0 寫在前面

對圖像入門一點,或者看過一些兒時低像素任天堂游戲的小伙伴們大概對像素點構成圖片有一定認知,本篇將用Excel來表達這一思路,如下原圖:

在Excel中可以表示如下:


可以看到這里將Excel中的每個格子當作一個像素點,每個格子里面是每個像素點的rgb值。具體如何做到見下文。

1 現將原始jpg轉成文本形式

為了方便就處理jpg格式的圖像,這里使用python語言,如下:

## 讀取圖像像素RGB值

from PIL import Image

imload= Image.open('test.jpg')
im=imload.convert("RGB")
width,height=im.size
demo=open('rgb.txt','a')

for y in range(height):
    for x in range(width):
        rgb=im.getpixel((x,y))
        rgb=str(rgb)
        demo.write(rgb[1:-1]+"	")
    demo.write("
")
demo.close()

將原始圖像改名為test.jpg再運行上述程序就會生成一個rgb.txt

2 使用Excel打開文本

將第一步生成的rgb.txt直接用Excel打開,打開時會彈出一些轉換事項,直接下一步即可,注意需要調整格子的大小使每個格子呈現正方形以便實現較好的效果,此處演示略。

3 使用VBA還原原始jpg

VBA就是Excel里面的宏,此時可以新建一個Set_RGB宏,復制以下代碼,注意更改最大列標,以及去掉"http://"在內的注釋,如下:

Sub Set_RGB()
    Dim r As Range,arr
    For Each r In Range("A:xxx")  //xxx為最大列標,點擊一個格子然后ctrl+方向右鍵就能跳到最大列
        arr = Split(R,",")
        r.Interior.Color = RGB(CInt(arr(0)),CInt(arr(1)),CInt(arr(2)))
    Next
End Sub

然后運行,可能會出現下標越界等情況,不用管它,直接回到excel就會發現已經生成,然后就能見到第0節中的效果,此時另存為Excel文件并保存宏就可以展現給別人看啦。

總結

以上是生活随笔為你收集整理的用Excel表达图片如何由像素点构成的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。