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;
}
看的懂就看吧,看不懂我也沒辦法。
好啦,可以留言問我。
當然每個人思維不同,
覺得我寫的很差哪裡需要改進也歡迎提出。
全站熱搜
留言列表