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

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

?? djpeg.cpp

?? jpeg轉bmp圖源碼
?? CPP
字號:
//#include "stdafx.h"
#include<stdio.h>
#include "memory.h"
#include<stdlib.h>
//#include "string.h"
extern "C" {
#include "jpeglib.h"
}

#pragma comment(lib, "libjpeg/libjpeg.lib")

#define IMAGESIZE	452400

typedef unsigned long       DWORD;
typedef int                 BOOL;
typedef unsigned char       BYTE;
typedef unsigned short      WORD;
typedef long				LONG;

typedef struct tagBITMAPFILEHEADER {
        WORD    bfType;
        WORD    bfSizeL;
        WORD    bfSizeH;
        WORD    bfReserved1;
        WORD    bfReserved2;
        WORD    bfOffBitsL;
        WORD    bfOffBitsH;
} BITMAPFILEHEADER;



typedef struct tagRGBQUAD {
        BYTE    rgbBlue;
        BYTE    rgbGreen;
        BYTE    rgbRed;
        BYTE    rgbReserved;
} RGBQUAD;

typedef struct tagBITMAPINFOHEADER{
        DWORD      biSize;
        LONG       biWidth;
        LONG       biHeight;
        WORD       biPlanes;
        WORD       biBitCount;
        DWORD      biCompression;
        DWORD      biSizeImage;
        LONG       biXPelsPerMeter;
        LONG       biYPelsPerMeter;
        DWORD      biClrUsed;
        DWORD      biClrImportant;
        DWORD      biR;
        DWORD      biG;
        DWORD      biB;
        DWORD      biempty;
} BITMAPINFOHEADER;

typedef struct tagBITMAPINFO {
    BITMAPINFOHEADER    bmiHeader;
    RGBQUAD             bmiColors[1];
} BITMAPINFO;

/***********************************************
*解壓縮jpeg到bmp格式
*對于灰度圖和24位圖,圖像解壓后正常
*對于256色索引位圖,圖像解壓后為灰度圖
**************************************************/
void jpgtobmp(const char *strSourceFileName, const char *strDestFileName)
{
	BITMAPFILEHEADER bfh;		// bmp文件頭
	BITMAPINFOHEADER bih;		// bmp頭信息
	RGBQUAD rq[256];			// 調色板
	DWORD bfSize;
	DWORD bfOffBits;
	WORD RGB;
		printf("%d \n",sizeof(bfh));

	BYTE *data= NULL;//new BYTE[bih.biWidth*bih.biHeight];
	
	
	BYTE *data16 = NULL;
//	WORD *data16 = NULL;


	//BYTE *pDataConv = NULL;//new BYTE[bih.biWidth*bih.biHeight];
	int nComponent = 0;

	// 聲明解壓縮對象及錯誤信息管理器
	struct jpeg_decompress_struct cinfo;
	struct jpeg_error_mgr jerr;

	cinfo.err = jpeg_std_error(&jerr);
	jpeg_create_decompress(&cinfo);

	FILE *f = fopen(strSourceFileName,"rb");
	if (f==NULL)
	{
		printf("Open file error!\n");
		return;
	}
	// 
	jpeg_stdio_src(&cinfo, f);
	jpeg_read_header(&cinfo, TRUE);
	data = new BYTE[cinfo.image_width*cinfo.image_height*3];
	
	
	data16 = new BYTE[cinfo.image_width*cinfo.image_height*2];
//	data16 = new WORD[cinfo.image_width*cinfo.image_height];
	
	
	
	jpeg_start_decompress(&cinfo);

	JSAMPROW row_pointer[1];
	while (cinfo.output_scanline < cinfo.output_height)
	{
		row_pointer[0] = &data[(cinfo.output_height - cinfo.output_scanline-1)*cinfo.image_width*cinfo.num_components];
		jpeg_read_scanlines(&cinfo,row_pointer ,
					1);
	}
	jpeg_finish_decompress(&cinfo);
	jpeg_destroy_decompress(&cinfo);

	fclose(f);

	f=fopen(strDestFileName,"wb");
	if (f==NULL) 
	{
		delete [] data;
		//delete [] pDataConv;
		return;
	}
	
	
	// 寫文件頭

	memset(&bfh,0,sizeof(bfh));
	bfSize = sizeof(bfh)+sizeof(bih);
	printf("%d \n",sizeof(bih));
	bfh.bfSizeH = bfSize/65536;
	bfh.bfSizeL = bfSize%65536;
	bfOffBits = sizeof(bfh)+sizeof(bih);
	bfh.bfOffBitsH = bfOffBits/65536;
	bfh.bfOffBitsL = bfOffBits%65536;
	if (cinfo.num_components==1)
	{
		bfOffBits += 1024;
		bfh.bfOffBitsH = bfOffBits/65536;
		bfh.bfOffBitsL = bfOffBits%65536;
		bfSize += 1024;
		bfh.bfSizeH = bfSize/65536;
		bfh.bfSizeL = bfSize%65536;
	}
	else{
		bfSize += cinfo.image_width*cinfo.image_height*cinfo.num_components;
		bfh.bfSizeH = bfSize/65536;
		bfh.bfSizeL = bfSize%65536;
	}
	bfh.bfType = 0x4d42;
	fwrite(&bfh,sizeof(bfh),1,f);
	// 寫圖像信息
	bih.biBitCount = 16;
	bih.biSize = sizeof(bih);
	bih.biWidth = cinfo.image_width;
	bih.biHeight = cinfo.image_height;
	bih.biPlanes = 1;
	bih.biCompression = 3;
	bih.biSizeImage = cinfo.image_width*cinfo.image_height*2;
	bih.biXPelsPerMeter = 0;
	bih.biYPelsPerMeter = 0;
	bih.biClrUsed = 0;
	bih.biClrImportant = 0;
	bih.biR=0xf800;
	bih.biG=0x7e0;
	bih.biB=0x1f;
	bih.biempty= 0;
	fwrite(&bih,sizeof(bih),1,f);
	
	// 寫調色板
	if (bih.biBitCount==8)
	{
		for (int i=0;i<256;i++)
		{
			rq[i].rgbBlue =i;
			rq[i].rgbGreen = i;
			rq[i].rgbRed = i;
			rq[i].rgbReserved = 0;
		}
		fwrite(rq,1024,1,f);
	}
	
	if (bih.biBitCount==16)
		{
		
			for(int i = 0;i<bih.biWidth*bih.biHeight;i++)
			 {
			BYTE red = data[i*3];
			data[i*3] = data[i*3+2];
			data[i*3+2] = red;
		//	printf("%x \n",data[i]);
		 }
		 
		   for(int j = 0;j<bih.biWidth*bih.biHeight;j++)
		   {
		  	RGB = (data[j*3]>>3) | (data[j*3+1]>>2)<<5 | (data[j*3+2]>>3)<<11; 
		//	printf("%x",RGB);
		   	data16[j*2] = RGB%256;
		  	data16[j*2+1] = RGB/256;
		  }
		  fwrite(data16,cinfo.image_width*cinfo.image_height*2,1,f);
	
		}
	
	if (bih.biBitCount==24)
	{
		// 調整rgb順序
		for (int i = 0;i<bih.biWidth*bih.biHeight;i++)
		{
			BYTE red = data[i*3];
			data[i*3] = data[i*3+2];
			data[i*3+2] = red;
		}
	fwrite(data,cinfo.image_width*cinfo.image_height*3,1,f);
	}
	fclose(f);
	delete [] data;
	delete [] data16;

}

int main()
{
	jpgtobmp("1.jpg","2.bmp");
	return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩免费成人网| 亚洲国产综合视频在线观看| 国产精品久久久久久久久久免费看| 亚洲三级电影网站| 国内精品国产成人国产三级粉色| 91原创在线视频| 久久久91精品国产一区二区三区| 亚洲成人自拍一区| 972aa.com艺术欧美| 欧美岛国在线观看| 天堂影院一区二区| 色欧美片视频在线观看 | 国产精品日韩成人| 日本不卡高清视频| 欧美伊人久久久久久久久影院| 欧美国产一区二区| 久久97超碰国产精品超碰| 欧美色网站导航| 亚洲视频 欧洲视频| 国产超碰在线一区| 欧美精品一区视频| 日本欧美韩国一区三区| 欧美视频在线一区二区三区| 亚洲裸体在线观看| av亚洲精华国产精华精华| 久久久天堂av| 国产一区二区三区高清播放| 日韩精品一区二区三区三区免费| 亚洲成年人影院| 91久久久免费一区二区| 亚洲卡通欧美制服中文| 91麻豆国产香蕉久久精品| 国产精品二区一区二区aⅴ污介绍| 国产成人自拍高清视频在线免费播放| 欧美mv日韩mv国产网站| 国产制服丝袜一区| 欧美精品一区二区三| 久久电影网站中文字幕| 精品国产在天天线2019| 国内精品在线播放| 久久久久久电影| av资源站一区| 一区二区三区av电影| 欧美午夜不卡在线观看免费| 天天av天天翘天天综合网色鬼国产| 91福利在线免费观看| 亚洲高清三级视频| 18成人在线观看| 国产福利91精品| 国产精品蜜臀av| 在线观看亚洲a| 日韩不卡手机在线v区| 精品国产免费久久| 不卡电影一区二区三区| 亚洲精品乱码久久久久久| 精品视频在线免费观看| 精品一区二区三区免费| 国产日韩欧美麻豆| 色综合久久久久久久久| 日韩不卡在线观看日韩不卡视频| 日韩欧美高清一区| 粉嫩av一区二区三区| 一区二区成人在线| 欧美xxxx在线观看| eeuss鲁片一区二区三区| 午夜精品久久久久久久| 久久精品男人天堂av| 99vv1com这只有精品| 日韩av不卡在线观看| 国产日韩欧美不卡| 欧美日本免费一区二区三区| 国产专区综合网| 一区二区三区.www| 久久久久久久久蜜桃| 91久久精品午夜一区二区| 老司机精品视频在线| 中文字幕乱码久久午夜不卡| 欧美日韩高清一区二区| 国产91露脸合集magnet| 日韩vs国产vs欧美| 亚洲人午夜精品天堂一二香蕉| 欧美一级日韩不卡播放免费| 99riav一区二区三区| 韩国欧美国产一区| 亚洲成av人影院在线观看网| 国产精品卡一卡二| 日韩视频免费直播| 在线免费观看日本一区| 国产精品99久久久久| 日本亚洲视频在线| 亚洲午夜一区二区| 亚洲欧洲美洲综合色网| 欧美tickle裸体挠脚心vk| 欧美日韩亚洲不卡| 色域天天综合网| 岛国一区二区三区| 国产在线精品不卡| 日本视频在线一区| 午夜视频一区在线观看| 亚洲精品国产a久久久久久 | 在线播放亚洲一区| 一本色道**综合亚洲精品蜜桃冫| 激情久久五月天| 人人狠狠综合久久亚洲| 午夜精品一区在线观看| 亚洲精品乱码久久久久| 国产精品久久久久影院色老大 | 国产精品区一区二区三| 精品对白一区国产伦| 日韩精品一区二| 91精品在线一区二区| 欧美日本精品一区二区三区| 91传媒视频在线播放| 国产**成人网毛片九色| 国产精品亚洲第一| 粉嫩久久99精品久久久久久夜| 777色狠狠一区二区三区| 欧美精品xxxxbbbb| 日韩欧美国产一区二区在线播放| 欧美理论在线播放| 日韩三区在线观看| 日韩午夜在线观看视频| 日韩一区二区三区在线视频| 日韩一级黄色大片| 久久久亚洲综合| 久久久久国产精品麻豆ai换脸| 久久久不卡影院| 国产精品久线在线观看| 亚洲日本电影在线| 亚洲一区二区三区四区在线| 图片区小说区国产精品视频| 免费精品视频最新在线| 国产一区二区导航在线播放| 成人久久18免费网站麻豆| 色综合 综合色| 欧美精品v日韩精品v韩国精品v| 欧美一区二区视频观看视频| 精品欧美一区二区久久| 亚洲国产精品传媒在线观看| 亚洲三级小视频| 日日噜噜夜夜狠狠视频欧美人| 麻豆免费看一区二区三区| 国产精品亚洲专一区二区三区 | 国产精品成人免费在线| 亚洲影院免费观看| 麻豆精品一区二区三区| 国产成人在线视频免费播放| 在线亚洲高清视频| 欧美电影免费提供在线观看| 国产精品久久久久精k8 | 国产一区欧美一区| 91麻豆精品秘密| 精品久久国产字幕高潮| 中文字幕日韩一区| 日本视频在线一区| 97久久精品人人做人人爽| 欧美理论电影在线| 国产精品免费丝袜| 美女脱光内衣内裤视频久久网站| 国产91精品精华液一区二区三区| 欧美色综合天天久久综合精品| 久久亚洲春色中文字幕久久久| 一区二区三区免费看视频| 国产在线视频精品一区| 日本道精品一区二区三区| 亚洲精品在线三区| 亚洲午夜久久久久久久久电影院 | 久久久久久久久免费| 亚洲最新在线观看| 国产99一区视频免费| 欧美精品自拍偷拍| 亚洲欧美色图小说| 国产传媒欧美日韩成人| 欧美一级淫片007| 一区二区三区加勒比av| 成人免费三级在线| 精品久久久久久最新网址| 亚洲成av人片在www色猫咪| 粉嫩一区二区三区在线看| 日韩精品一区在线| 亚洲mv在线观看| 色老汉一区二区三区| 欧美韩日一区二区三区| 国产一区在线精品| 日韩无一区二区| 偷拍与自拍一区| 欧美亚州韩日在线看免费版国语版| 久久老女人爱爱| 激情成人综合网| 日韩欧美国产小视频| 偷窥少妇高潮呻吟av久久免费| 国产午夜精品在线观看| 久久99久久久久| 欧美一区二区福利在线| 午夜精品久久久久久久久| 色哟哟亚洲精品| 亚洲欧美电影院| 91久久精品一区二区三区| 亚洲视频一区二区在线| 91免费看片在线观看|