線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2209
推到 Plurk!
推到 Facebook!

可以幫我解讀一下程式內容嗎?

缺席
maxgto
一般會員


發表:5
回覆:14
積分:3
註冊:2007-11-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-03-30 11:43:21 IP:122.116.xxx.xxx 訂閱
下面程式是我截取別人分享的CODE  功能是讀取BMP 

我想請問一下
1.下面的READ跟WRITE是否都要做才能BMP讀取完在存放(我試著將紅色移除會發現圖片右上方出現黑線)
2. 請問RGBQUAD[4][256](對BMP256的圖沒問題)? 我目前查了一些資料知道4是RGB(3BYTES) (1BYTE) 256是調色盤 不過我試著修改RGBQUAD[4][16]卻不能對BMP(16)的圖進行讀取和存放?
3.請問file.read(RGBQUAD[0], sizeof(RGBQUAD)); 和file.read(PIXEL[0], sizeof(PIXEL));可否說明一下為何要用RGBQUAD[0]和PIXEL[0]

#include
using std::cout;
using std::cin;
using std::endl;
#include
using std::fstream;
using std::ios;
typedef unsigned char BYTE;
typedef unsigned short WORD;
typedef unsigned long DWORD;
typedef long LONG;
void main(){
fstream file;
int i,j;
char fileName[32], RGBQUAD[4][256],PIXEL[472][560] ;

WORD bfType;
DWORD bfSize;
WORD bfReserved1;
WORD bfReserved2;
DWORD bfOffBits;
DWORD biSize;
LONG biWidth;
LONG biHeight;
WORD biPlanes;
WORD biBitCount;
DWORD biCompression;
DWORD biSizeImage;
LONG biXPelsPerMeter;
LONG biYPelsPerMeter;
DWORD biClrUsed;
DWORD biClrImportant;
//將資料從檔案輸入到記憶體
cout << "Open FileName: ";
cin >> fileName;
file.open(fileName, ios::in|ios::binary);
file.write((char*)&bfType, sizeof(WORD));
file.write((char*)&bfSize, sizeof(DWORD));
file.write((char*)&bfReserved1, sizeof(WORD));
file.write((char*)&bfReserved2, sizeof(WORD));
file.write((char*)&bfOffBits, sizeof(DWORD));
file.write((char*)&biSize, sizeof(DWORD));
file.write((char*)&biWidth, sizeof(LONG));
file.write((char*)&biHeight, sizeof(LONG));
file.write((char*)&biPlanes, sizeof(WORD));
file.write((char*)&biBitCount, sizeof(WORD));
file.write((char*)&biCompression, sizeof(DWORD));
file.write((char*)&biSizeImage, sizeof(DWORD));
file.write((char*)&biXPelsPerMeter, sizeof(LONG));
file.write((char*)&biYPelsPerMeter, sizeof(LONG));
file.write((char*)&biClrUsed, sizeof(DWORD));
file.write((char*)&biClrImportant, sizeof(DWORD));
file.write(RGBQUAD[0], sizeof(RGBQUAD));
file.write(PIXEL[0], sizeof(PIXEL));
file.close();


系統時間:2024-05-03 17:01:42
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!