close


或許有些人覺得做這很無聊,

那就把我當作一個把無聊當有趣的人吧,

呵呵。

程式碼強調一點只適合24BIT BMP檔,

作圖 ~ 這方面嗎‧‧

前面有說我為何會做這個了,

其實理解原理後,

我突然有個想法自己做一個影像壓縮的程式,

不過一想到那MATRIX我頭都開始痛了,

好啦,

開開玩笑,

等我努力完後再去玩這些東西好囉,

這是程式碼,

註解不多,

可能會讓人看不太懂。

#include <fstream>
#include <vector>
using namespace std;

int main()
{
    vector<char> temp1;
    char temp[1],buf[54];


    ifstream bmp("test.bmp",ios_base::binary);
    ofstream output("output.bmp",ios_base::binary);

    //bmp information
    bmp.read(buf,54);
    output.write(buf,54);
    while(bmp.read(temp,1))
    {
        temp1.push_back(*temp);
    }

    //180度倒轉 rgb 3 bytes
    vector<char>::reverse_iterator i;
    for(i = temp1.rbegin();i != temp1.rend();i+=3)
    {
        temp[0] = *(i+2);//B
        output.write(temp,1);
        temp[0] = *(i+1);
        output.write(temp,1);//G
        temp[0] = *i;
        output.write(temp,1);//R
    }
    return 0;
}

看的懂就看吧,看不懂我也沒辦法。

好啦,可以留言問我。

當然每個人思維不同,

覺得我寫的很差哪裡需要改進也歡迎提出。
arrow
arrow
    全站熱搜

    grant823 發表在 痞客邦 留言(0) 人氣()