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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? tif_imageiter.c

?? tiff格式傳真源碼例子
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
{    TIFF* tif = img->tif;    ImageIterTileContigRoutine callback = img->callback.contig;    uint16 orientation;    uint32 col, row;    uint32 tw, th;    u_char* buf;    int32 fromskew;    uint32 nrow;    buf = (u_char*) _TIFFmalloc(TIFFTileSize(tif));    if (buf == 0) {	TIFFError(TIFFFileName(tif), "No space for tile buffer");	return (0);    }    TIFFGetField(tif, TIFFTAG_TILEWIDTH, &tw);    TIFFGetField(tif, TIFFTAG_TILELENGTH, &th);    orientation = img->orientation;    for (row = 0; row < h; row += th) {	nrow = (row + th > h ? h - row : th);	for (col = 0; col < w; col += tw) {	    if (TIFFReadTile(tif, buf, col, row, 0, 0) < 0 && img->stoponerr)		break;	    if (col + tw > w) {		/*		 * Tile is clipped horizontally.  Calculate		 * visible portion and skewing factors.		 */		uint32 npix = w - col;		fromskew = tw - npix;		(*callback)(img, udata, col, row, npix, nrow, fromskew, buf);	    } else {		(*callback)(img, udata, col, row, tw, nrow, 0, buf);	    }	}    }    _TIFFfree(buf);    return (1);}/* * Get an tile-organized image that has *	 SamplesPerPixel > 1 *	 PlanarConfiguration separated * We assume that all such images are RGB. */	static intgtTileSeparate(TIFFImageIter* img, void *udata, uint32 w, uint32 h){    TIFF* tif = img->tif;    ImageIterTileSeparateRoutine callback = img->callback.separate;    uint16 orientation;    uint32 col, row;    uint32 tw, th;    u_char* buf;    u_char* r;    u_char* g;    u_char* b;    u_char* a;    tsize_t tilesize;    int32 fromskew;    int alpha = img->alpha;    uint32 nrow;    tilesize = TIFFTileSize(tif);    buf = (u_char*) _TIFFmalloc(4*tilesize);    if (buf == 0) {	TIFFError(TIFFFileName(tif), "No space for tile buffer");	return (0);    }    r = buf;    g = r + tilesize;    b = g + tilesize;    a = b + tilesize;    if (!alpha)	memset(a, 0xff, tilesize);    TIFFGetField(tif, TIFFTAG_TILEWIDTH, &tw);    TIFFGetField(tif, TIFFTAG_TILELENGTH, &th);    orientation = img->orientation;    for (row = 0; row < h; row += th) {	nrow = (row + th > h ? h - row : th);	for (col = 0; col < w; col += tw) {	    if (TIFFReadTile(tif, r, col, row,0,0) < 0 && img->stoponerr)		break;	    if (TIFFReadTile(tif, g, col, row,0,1) < 0 && img->stoponerr)		break;	    if (TIFFReadTile(tif, b, col, row,0,2) < 0 && img->stoponerr)		break;	    if (alpha && TIFFReadTile(tif,a,col,row,0,3) < 0 && img->stoponerr)		break;	    if (col + tw > w) {		/*		 * Tile is clipped horizontally.  Calculate		 * visible portion and skewing factors.		 */		uint32 npix = w - col;		fromskew = tw - npix;		(*callback)(img, udata, col, row, npix, nrow, fromskew, r, g, b, a);	    } else {		(*callback)(img, udata, col, row, tw, nrow, 0, r, g, b, a);	    }	}    }    _TIFFfree(buf);    return (1);}/* * Get a strip-organized image that has *	PlanarConfiguration contiguous if SamplesPerPixel > 1 * or *	SamplesPerPixel == 1 */	static intgtStripContig(TIFFImageIter* img, void *udata, uint32 w, uint32 h){    TIFF* tif = img->tif;    ImageIterTileContigRoutine callback = img->callback.contig;    uint16 orientation;    uint32 row, nrow;    u_char* buf;    uint32 rowsperstrip;    uint32 imagewidth = img->width;    tsize_t scanline;    int32 fromskew;    buf = (u_char*) _TIFFmalloc(TIFFStripSize(tif));    if (buf == 0) {	TIFFError(TIFFFileName(tif), "No space for strip buffer");	return (0);    }    orientation = img->orientation;    TIFFGetFieldDefaulted(tif, TIFFTAG_ROWSPERSTRIP, &rowsperstrip);    scanline = TIFFScanlineSize(tif);    fromskew = (w < imagewidth ? imagewidth - w : 0);    for (row = 0; row < h; row += rowsperstrip) {	nrow = (row + rowsperstrip > h ? h - row : rowsperstrip);	if (TIFFReadEncodedStrip(tif, TIFFComputeStrip(tif, row, 0),	    buf, nrow*scanline) < 0 && img->stoponerr)		break;	(*callback)(img, udata, 0, row, w, nrow, fromskew, buf);    }    _TIFFfree(buf);    return (1);}/* * Get a strip-organized image with *	 SamplesPerPixel > 1 *	 PlanarConfiguration separated * We assume that all such images are RGB. */static intgtStripSeparate(TIFFImageIter* img, void *udata, uint32 w, uint32 h){    TIFF* tif = img->tif;    ImageIterTileSeparateRoutine callback = img->callback.separate;    uint16 orientation;    u_char *buf;    u_char *r, *g, *b, *a;    uint32 row, nrow;    tsize_t scanline;    uint32 rowsperstrip;    uint32 imagewidth = img->width;    tsize_t stripsize;    int32 fromskew;    int alpha = img->alpha;    stripsize = TIFFStripSize(tif);    r = buf = (u_char *)_TIFFmalloc(4*stripsize);    if (buf == 0) {	TIFFError(TIFFFileName(tif), "No space for tile buffer");	return (0);    }    g = r + stripsize;    b = g + stripsize;    a = b + stripsize;    if (!alpha)	memset(a, 0xff, stripsize);    orientation = img->orientation;    TIFFGetFieldDefaulted(tif, TIFFTAG_ROWSPERSTRIP, &rowsperstrip);    scanline = TIFFScanlineSize(tif);    fromskew = (w < imagewidth ? imagewidth - w : 0);    for (row = 0; row < h; row += rowsperstrip) {	nrow = (row + rowsperstrip > h ? h - row : rowsperstrip);	if (TIFFReadEncodedStrip(tif, TIFFComputeStrip(tif, row, 0),	    r, nrow*scanline) < 0 && img->stoponerr)	    break;	if (TIFFReadEncodedStrip(tif, TIFFComputeStrip(tif, row, 1),	    g, nrow*scanline) < 0 && img->stoponerr)	    break;	if (TIFFReadEncodedStrip(tif, TIFFComputeStrip(tif, row, 2),	    b, nrow*scanline) < 0 && img->stoponerr)	    break;	if (alpha &&	    (TIFFReadEncodedStrip(tif, TIFFComputeStrip(tif, row, 3),	    a, nrow*scanline) < 0 && img->stoponerr))	    break;	(*callback)(img, udata, 0, row, w, nrow, fromskew, r, g, b, a);    }    _TIFFfree(buf);    return (1);}DECLAREContigCallbackFunc(TestContigCallback){    printf("Contig Callback called with x = %d, y = %d, w = %d, h = %d, fromskew = %d\n",	   x, y, w, h, fromskew);}DECLARESepCallbackFunc(TestSepCallback){    printf("Sep Callback called with x = %d, y = %d, w = %d, h = %d, fromskew = %d\n",	   x, y, w, h, fromskew);}#ifdef MAINmain(int argc, char **argv){    char emsg[1024];    TIFFImageIter img;    int ok;    int stop = 1;    TIFF *tif;    unsigned long nx, ny;    unsigned short BitsPerSample, SamplesPerPixel;    int isColorMapped, isPliFile;    unsigned char *ColorMap;    unsigned char *data;    if (argc < 2) {	fprintf(stderr,"usage: %s tiff_file\n",argv[0]);	exit(1);    }    tif = (TIFF *)PLIGetImage(argv[1], (void *) &data, &ColorMap, 			      &nx, &ny, &BitsPerSample, &SamplesPerPixel, 			      &isColorMapped, &isPliFile);    if (tif != NULL) {	if (TIFFImageIterBegin(&img, tif, stop, emsg)) {	    /* Here need to set data and callback function! */	    if (img.isContig) {		img.callback = TestContigCallback;	    } else {		img.callback = TestSepCallback;	    }	    ok = TIFFImageIterGet(&img, NULL, img.width, img.height);	    TIFFImageIterEnd(&img);	} else {	    TIFFError(TIFFFileName(tif), emsg);	}    }    }#endif

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区和二区| 91在线视频观看| gogogo免费视频观看亚洲一| 日本道色综合久久| 日韩一级高清毛片| 国产精品久久一卡二卡| 亚洲永久精品国产| 激情综合色播激情啊| av午夜精品一区二区三区| 制服丝袜一区二区三区| 国产精品欧美综合在线| 午夜精品福利一区二区蜜股av| 国产裸体歌舞团一区二区| 日本韩国欧美一区二区三区| 精品捆绑美女sm三区| 亚洲色图清纯唯美| 极品少妇一区二区三区精品视频| 99久久精品免费看| 欧美成人精精品一区二区频| 亚洲精品免费在线观看| 精品一区二区三区免费播放| 日本丰满少妇一区二区三区| 久久亚洲一级片| 天堂午夜影视日韩欧美一区二区| 国产白丝精品91爽爽久久| 欧美日韩的一区二区| 亚洲国产成人午夜在线一区| 日本不卡的三区四区五区| 色综合一区二区| 国产亚洲成av人在线观看导航| 五月婷婷综合激情| 91视视频在线观看入口直接观看www| 777午夜精品免费视频| 综合中文字幕亚洲| 国产精品一区二区在线看| 欧美一区二区三区思思人| 亚洲黄色小视频| 成人高清视频在线| 精品va天堂亚洲国产| 爽好久久久欧美精品| 在线亚洲欧美专区二区| 国产精品久久久久四虎| 国产激情一区二区三区四区| 日韩丝袜美女视频| 亚洲成人免费视频| 在线一区二区三区做爰视频网站| 久久久久久久久久久久久女国产乱 | 久久精品免费在线观看| 丝袜诱惑亚洲看片| 色av一区二区| 自拍偷自拍亚洲精品播放| 国产精品一区二区三区网站| 精品久久久久av影院| 青青草97国产精品免费观看 | 亚洲欧美乱综合| av在线一区二区三区| 久久天堂av综合合色蜜桃网| 日韩激情一区二区| 欧美一级片在线| 日本系列欧美系列| 欧美美女网站色| 午夜精品久久久久久久 | 日本一不卡视频| 欧美日产在线观看| 亚洲大型综合色站| 欧美在线观看18| 亚洲成精国产精品女| 欧美在线视频不卡| 亚洲一二三四久久| 欧美日韩精品一区二区三区四区| 一区二区视频在线| 91国内精品野花午夜精品| 一区二区三区国产精华| 在线看日韩精品电影| 亚洲一级二级在线| 7878成人国产在线观看| 美脚の诱脚舐め脚责91| 日韩色在线观看| 韩国毛片一区二区三区| 精品福利在线导航| 成人性视频免费网站| 国产精品每日更新在线播放网址| www.av精品| 一区二区免费视频| 欧美精品亚洲二区| 久久99精品久久久久久| 国产喂奶挤奶一区二区三区| 高清免费成人av| 一区二区三区四区在线播放| 欧美日韩久久不卡| 精品制服美女久久| 国产欧美日韩精品a在线观看| 99国产精品国产精品毛片| 亚洲综合免费观看高清完整版在线 | 精品国产污污免费网站入口| 国产酒店精品激情| 国产精品久久久久久久久动漫| 一本久久a久久免费精品不卡| 亚洲va欧美va人人爽午夜| 91麻豆精品国产91久久久久 | 欧美精品一区二区久久久| 国产精品夜夜嗨| 亚洲人快播电影网| 日韩一区二区三区在线视频| 国产精品白丝av| 亚洲精品成a人| 日韩精品在线一区二区| www.日韩av| 免费欧美日韩国产三级电影| 国产日本一区二区| 欧美视频一区二| 国产剧情一区在线| 一区二区成人在线观看| 精品久久一区二区三区| 99久久久国产精品| 免费精品视频最新在线| 国产精品网站在线观看| 欧美视频日韩视频| 国产高清精品网站| 亚洲综合图片区| 国产偷v国产偷v亚洲高清| 欧美色窝79yyyycom| 国产精品77777| 婷婷六月综合亚洲| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 亚洲乱码中文字幕综合| 日韩精品一区二区三区在线观看 | 国产精品素人一区二区| 欧美日韩高清在线| 粉嫩一区二区三区性色av| 午夜精品久久久久久久| 国产精品国产三级国产有无不卡 | 免费观看在线综合| 亚洲免费av网站| 久久女同互慰一区二区三区| 欧洲亚洲国产日韩| 成人免费不卡视频| 精品在线视频一区| 五月婷婷激情综合| 中文字幕一区二区三区在线播放 | 极品美女销魂一区二区三区| 亚洲曰韩产成在线| 国产精品美女一区二区在线观看| 日韩午夜小视频| 欧美熟乱第一页| 99久久国产免费看| 国产尤物一区二区在线| 日本中文字幕一区二区有限公司| 亚洲女人****多毛耸耸8| 久久久www成人免费毛片麻豆| 欧美日本精品一区二区三区| www.av精品| 国产黄色91视频| 老司机免费视频一区二区三区| 亚洲国产综合色| 亚洲欧美激情视频在线观看一区二区三区 | 亚洲裸体xxx| 中文字幕日韩一区二区| 国产亚洲成年网址在线观看| 日韩欧美国产综合| 91精品欧美一区二区三区综合在| 欧美性淫爽ww久久久久无| 99r国产精品| av中文字幕不卡| caoporm超碰国产精品| 盗摄精品av一区二区三区| 国产一区久久久| 国产在线不卡一区| 久久91精品国产91久久小草| 人人精品人人爱| 青青草原综合久久大伊人精品优势| 性做久久久久久免费观看欧美| 一区二区三区久久| 亚洲综合成人网| 亚洲福利一区二区| 亚洲图片欧美视频| 午夜免费欧美电影| 日日摸夜夜添夜夜添亚洲女人| 偷窥国产亚洲免费视频| 午夜精品久久一牛影视| 日韩精品亚洲专区| 日本三级亚洲精品| 理论片日本一区| 黄网站免费久久| 国产黄人亚洲片| 大白屁股一区二区视频| 99久久精品国产精品久久| 99国产精品久| 欧日韩精品视频| 欧美网站一区二区| 欧美剧情片在线观看| 91精品国产综合久久婷婷香蕉 | 久久99精品视频| 国产乱码精品一区二区三| 国产成人av电影在线播放| 国产99久久精品| 91免费观看视频| 欧美日韩中文一区| 日韩欧美一区二区视频| 久久精品在线观看|