亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? readphoto.cpp

?? 實現jpeg的壓縮編碼功能 在demo2的工程文件中即可查看
?? CPP
字號:
#include "stdafx.h"

#define WIDTHBYTES(bits)    (((bits) + 31) / 32 * 4) 

unsigned char* ReadBmpFile(const char* pszFileName, int& nImgWidth, int& nImgHeight)
{
	BITMAPFILEHEADER bf;
	BITMAPINFOHEADER bi;
	HGLOBAL hImgData;
	BYTE *lpImgData;
	
	int LineBytes =0;
	int ImgSize =0;
	int NumColors = 0;

	FILE* fin = NULL;
	fin = fopen(pszFileName,"rb");
	if(fin == NULL)
	{
		printf("The file is not opened!\n");
		fclose(fin);
		return NULL;
	}

	int nread =0;
	nread = fread(&bf,1,sizeof(BITMAPFILEHEADER),fin);
	if(nread != sizeof(BITMAPFILEHEADER))
	{
		printf("read file header error!\n");
		fclose(fin);
		return NULL;
	}

	nread = fread(&bi,1,sizeof(BITMAPINFOHEADER),fin);
	if(nread != sizeof(BITMAPINFOHEADER))
	{
		printf("read info header error!\n");
		fclose(fin);
		return NULL;
	}
	if(bi.biBitCount != 8)//每個象素占多少bit
	{
		printf("the colors of the image is not 256!\n");
		fclose(fin);
		return NULL;
	}

	nImgWidth=bi.biWidth;
	nImgHeight=bi.biHeight;
	LineBytes=(DWORD)WIDTHBYTES(bi.biWidth*bi.biBitCount);//bmp規定每行占的字節數必須是4的整數倍 
	                                                      //這里如果biwidth=29 30 31 32 都將變成32

	nImgWidth = LineBytes;
	ImgSize=(DWORD)LineBytes*bi.biHeight;
	BYTE* pbyteSrcImg = NULL;
	pbyteSrcImg = new unsigned char[ImgSize];
	assert(pbyteSrcImg != NULL);
    if(bi.biClrUsed!=0)
	{
		NumColors=(DWORD)bi.biClrUsed;
	}
	else
	{
		if(bi.biBitCount == 8)
			NumColors=256;
		else
		{
			printf("Invalid image format!\n");
			fclose(fin);
			return NULL;
        }
	}

	if(bf.bfOffBits!=(DWORD)(NumColors*sizeof(RGBQUAD)+sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)))
	{
		fclose(fin);
		return NULL;
	}

	bf.bfSize=sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)+NumColors*sizeof(RGBQUAD)+ImgSize;

	if((hImgData=GlobalAlloc(GHND,(DWORD)ImgSize))==NULL)
	{
	    fclose(fin);
		return NULL;
	}  
	lpImgData = (BYTE*)GlobalLock(hImgData); 
	fseek(fin,sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER) + NumColors * sizeof(RGBQUAD),SEEK_SET);
	fread(lpImgData,sizeof(unsigned char),ImgSize,fin);

	int i,j;
	for(i=0;i<nImgHeight;i++)
	{
		for(j=0;j<nImgWidth;j++)
		{
			pbyteSrcImg[i*LineBytes+j] = lpImgData[(nImgHeight - i - 1)*LineBytes + j];
		}
	}

	fclose(fin);
	GlobalUnlock(hImgData);
	GlobalFree(hImgData);

	return pbyteSrcImg; 
}
void WriteBmpFile(const char* pszFileName, BYTE* pbyteSrcImg, int nWidth, int nHeight)
{
	BITMAPFILEHEADER bmfHdr;

	int nImgHeight=(nWidth+3)/4*4;
	int imageSize=nImgHeight*nHeight;

	BYTE *saveImage=new BYTE[imageSize];
	memset(saveImage,0,imageSize);
	int i;
	for(i=0;i<nHeight;i++)
		memcpy(saveImage+i*nImgHeight,pbyteSrcImg+(nHeight-i-1)*nWidth,nWidth);//將正序位圖數據倒序存儲

	bmfHdr.bfType=0x4d42; 
	bmfHdr.bfSize=imageSize+sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)+256*sizeof(RGBQUAD); 
	bmfHdr.bfReserved1=0; 
	bmfHdr.bfReserved2=0; 
	bmfHdr.bfOffBits=sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)+256*sizeof(RGBQUAD); 

	BITMAPINFO *pInfo=(BITMAPINFO*)malloc(sizeof(BITMAPINFOHEADER)+256*sizeof(RGBQUAD));
	pInfo->bmiHeader.biSize=sizeof(BITMAPINFOHEADER); 
	pInfo->bmiHeader.biWidth=nWidth; 
	pInfo->bmiHeader.biHeight=nHeight; 
	pInfo->bmiHeader.biPlanes=1; 
	pInfo->bmiHeader.biBitCount=8; 
	pInfo->bmiHeader.biCompression=BI_RGB; 
	pInfo->bmiHeader.biSizeImage=imageSize; 
	pInfo->bmiHeader.biXPelsPerMeter=0; 
	pInfo->bmiHeader.biYPelsPerMeter=0; 
	pInfo->bmiHeader.biClrUsed=0; 
	pInfo->bmiHeader.biClrImportant=0; 

	for(i=0;i<256;i++)
	{
		pInfo->bmiColors[i].rgbBlue=i;
		pInfo->bmiColors[i].rgbGreen=i;
		pInfo->bmiColors[i].rgbRed=i;
		pInfo->bmiColors[i].rgbReserved=0;
	}

	FILE* mFile = NULL;
	mFile=fopen(pszFileName,"wb");
	if(mFile == NULL)
	{
		AfxMessageBox(_T("the file is not opened!"));
		return;
	}
	fwrite((LPSTR)&bmfHdr, sizeof(BITMAPFILEHEADER),1,mFile);
	fwrite(pInfo,sizeof(BITMAPINFOHEADER)+256*sizeof(RGBQUAD),1, mFile);
	fwrite(saveImage,sizeof(BYTE),imageSize,mFile); 
	fclose(mFile);

	free(pInfo);
	delete[]saveImage;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丝瓜av网站精品一区二区| 亚洲一卡二卡三卡四卡| 欧美日韩色一区| 日本精品裸体写真集在线观看| 首页国产欧美日韩丝袜| 亚洲一区二区成人在线观看| 最新日韩av在线| 自拍偷拍亚洲综合| 一区二区三区四区精品在线视频| 国产精品毛片久久久久久久| 国产精品九色蝌蚪自拍| 国产精品国产三级国产三级人妇 | 国产精品久久久久影院| 日本一区二区三区国色天香| 国产精品毛片无遮挡高清| 亚洲人成网站精品片在线观看| 中文字幕亚洲区| 亚洲第一成年网| 经典三级视频一区| av福利精品导航| 欧美日韩免费高清一区色橹橹| 欧美精品亚洲一区二区在线播放| 日韩视频免费观看高清在线视频| 久久久欧美精品sm网站| 1000精品久久久久久久久| 午夜精品一区二区三区免费视频 | 亚洲欧美影音先锋| 午夜视频在线观看一区二区三区| 男女性色大片免费观看一区二区| 国产精品羞羞答答xxdd| 色吊一区二区三区| 精品福利视频一区二区三区| 国产精品免费久久久久| 午夜精品久久久久久久| 国产一区二区三区四区五区入口| 91亚洲精品乱码久久久久久蜜桃| 91精品婷婷国产综合久久| 国产亚洲一区字幕| 午夜精品国产更新| av亚洲精华国产精华精| 日韩一区二区电影网| 亚洲欧洲精品一区二区三区不卡| 婷婷中文字幕一区三区| www.在线欧美| 久久久亚洲精品一区二区三区| 亚洲成人你懂的| 91免费国产视频网站| 精品福利视频一区二区三区| 亚洲图片欧美一区| 91在线视频播放| 国产亚洲美州欧州综合国| 日韩av网站在线观看| 91影视在线播放| 国产欧美日韩亚州综合| 麻豆精品视频在线观看| 欧美日韩免费观看一区二区三区 | 在线一区二区三区| 久久久久国产精品麻豆| 日韩av一区二区在线影视| 欧美又粗又大又爽| 亚洲人精品一区| 波多野结衣亚洲一区| 国产欧美一二三区| 国产激情一区二区三区桃花岛亚洲| 欧美一区二区观看视频| 三级欧美韩日大片在线看| 91福利视频网站| 亚洲一本大道在线| 精品视频在线免费看| 亚洲综合成人在线| 欧美少妇xxx| 天堂成人国产精品一区| 91精品国产乱码久久蜜臀| 丝袜美腿亚洲色图| 欧美一区二区三区四区高清| 亚洲成人av在线电影| 欧美日韩中文另类| 美女一区二区在线观看| 日韩欧美一二三| 国产美女一区二区三区| 国产亚洲短视频| 成人av网在线| 一区二区日韩av| 欧美精品丝袜中出| 免费观看一级特黄欧美大片| 欧美成人a∨高清免费观看| 麻豆久久久久久久| 久久久久久久久久久电影| 国产一区二区三区| 国产精品久久久久久久久图文区| 不卡高清视频专区| 亚洲电影在线播放| 久久亚洲免费视频| 99精品一区二区| 天天综合天天做天天综合| 91精品国产综合久久福利| 国产一区二区三区免费看 | 亚洲网友自拍偷拍| 日韩精品一区二区三区中文精品| 久久99国产精品麻豆| 国产喷白浆一区二区三区| 91猫先生在线| 美女视频黄 久久| 日本一区二区免费在线观看视频 | 国产成人免费视频精品含羞草妖精 | 本田岬高潮一区二区三区| 亚洲高清免费在线| 国产亚洲婷婷免费| 91国产丝袜在线播放| 激情综合色丁香一区二区| 亚洲国产精品精华液ab| 欧美日韩成人综合| 高清日韩电视剧大全免费| 亚洲另类色综合网站| 精品国内片67194| 色婷婷狠狠综合| 国产精品一品二品| 午夜伊人狠狠久久| 国产精品久久久久永久免费观看| 欧美精品日韩精品| 91亚洲资源网| 国产91精品精华液一区二区三区| 亚洲国产视频一区| 国产精品欧美精品| 久久这里只精品最新地址| 在线视频你懂得一区| 粉嫩13p一区二区三区| 午夜久久久久久久久久一区二区| 国产精品嫩草影院com| 精品免费日韩av| 欧美精品在线一区二区三区| av在线不卡免费看| 国产精品白丝av| 九色|91porny| 麻豆精品一区二区av白丝在线| 一区二区三区欧美亚洲| 国产精品天天看| 中文在线免费一区三区高中清不卡| 日韩欧美精品三级| 日韩欧美中文字幕精品| 欧美日韩一级片在线观看| 欧美亚洲国产一区在线观看网站| 成人午夜av电影| av中文字幕不卡| 国产成a人无v码亚洲福利| 国产另类ts人妖一区二区| 激情久久五月天| 国内精品在线播放| 国产精华液一区二区三区| 国产麻豆视频精品| 国产成a人亚洲精| 成人精品视频一区二区三区| 国产999精品久久久久久| 国产麻豆精品在线观看| 国产精品888| 国产伦精品一区二区三区免费迷| 国产在线播精品第三| 国产传媒日韩欧美成人| 国产69精品久久久久777| 成人精品小蝌蚪| 色av成人天堂桃色av| 欧美亚洲动漫精品| 欧美精品电影在线播放| 精品少妇一区二区三区视频免付费| 日韩一区二区在线看| 久久五月婷婷丁香社区| 国产精品亲子伦对白| 国内精品在线播放| 成人网男人的天堂| 91小视频在线| 69av一区二区三区| 久久综合中文字幕| 中文字幕亚洲一区二区va在线| 亚洲精品中文字幕乱码三区| 亚洲国产精品天堂| 蜜臀精品一区二区三区在线观看| 国产精一区二区三区| 99视频国产精品| 91精品国产色综合久久ai换脸| 久久亚洲一区二区三区四区| 中文字幕一区二区三区蜜月| 亚洲图片欧美一区| 国产精品一级黄| 欧美在线看片a免费观看| 精品国产凹凸成av人网站| 亚洲欧美另类久久久精品2019| 亚洲一区二区五区| 国产一区二区在线看| 91碰在线视频| 精品成a人在线观看| 亚洲色欲色欲www在线观看| 美洲天堂一区二卡三卡四卡视频 | 青青草成人在线观看| 国产成人8x视频一区二区| 欧美群妇大交群中文字幕| 亚洲国产岛国毛片在线| 免费成人在线视频观看| 91蝌蚪porny九色| 久久午夜免费电影| 首页综合国产亚洲丝袜|