首頁>Club>
5
回覆列表
  • 1 # 測餓雪恥

    用純C語言寫了一個將程式碼轉變為bmp影象的程式。讓我們來舉個例子

    首先,隨便準備任意一份程式碼 (或者任意文字),我們以helloworld為例

    將它儲存為hello.cpp

    然後呼叫我寫的程式 bmp

    會在同目錄下生成一個hello.cpp.bmp檔案

    開啟它就可看到一張圖片

    注意原bmp檔案很小(8px*5px),這是放大了30倍之後的效果。

    看起來沒什麼特別的,不過如果用文字編輯器的方式開啟,就會發現文字是這樣的

    哇除去檔案的頭部分,剩下的文字和原始碼一樣誒有木有!

    什麼檔案都可以哦~

    -----

    17-4-6 更新

    實現方法

    總的來說,實現起來並不複雜,需要了解一些BMP檔案的格式即可 。可以這裡BMP file format - Wikipedia 瞭解BMP的檔案格式。檔案由三部分組成

    BMP Header (14 Bytes)DIB Header (40 Bytes)Pixel Array

    其中BMP Header部分存有影象檔案的總大小,DIB Header部分存有影象的尺寸資訊,維護好這兩個資訊,塞到頭部分,整個程式就完成的差不多啦。

    另外需要注意的一點是,如果影象寬度不是4的整數的話,插入Pixel Array時需要用額外的0x00作為padding填充到每一行,那麼在程式碼中會多出大量的空字元,因此處理時一定要讓寬度增加到4的整數倍,然後再用之前的方法算出高度即可。

    程式碼已發GitHub: AnyCodeToBmp

  • 中秋節和大豐收的關聯?
  • 長安之星的水溫高是什麼原因?