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

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

?? operate.c

?? brew c代碼實現圖片翻轉
?? C
字號:

#include "mycommon.h"

IBitmap* zoomin(mainproject1 *pMe,const IBitmap *pBitmap,uint32 zoomlr,uint32 zoomud)
{
	uint32 n;
	uint32 i,j,k;
	int src,des;

	uint32 w,h;
	uint32 nw,nh;
	IDIB *pDib;
	IDIB *psDib;
	IBitmap *comBitmap;	
	int err;

	if(zoomlr == 1 && zoomud == 1)
		return (IBitmap *)pBitmap;

	IBITMAP_GetInfo((IBitmap *)pBitmap,&pMe->myBitInfo,sizeof(AEEBitmapInfo));
	w = pMe->myBitInfo.cx;
	h = pMe->myBitInfo.cy;

	if(SUCCESS != IBITMAP_CreateCompatibleBitmap(pMe->myBitmap,&comBitmap,(uint16)(w*zoomlr),(uint16)(h*zoomud)))
		return (IBitmap *)pBitmap;
	err = IBITMAP_QueryInterface(comBitmap,AEECLSID_DIB,(void**)&pDib);
	err = IBITMAP_QueryInterface((IBitmap *)pBitmap,AEECLSID_DIB,(void**)&psDib);
	if(err != SUCCESS)
	{
		FREEDIB(psDib);
		FREEDIB(pDib);
		FREEMAP(comBitmap);
		return (IBitmap *)pBitmap;	
	}

	n = pDib->nDepth/8;
	for(i=0; i<h; ++i)
	{
		for(j=0; j<w; ++j)
		{
			for(k=0; k<n; ++k)
			{
				src = psDib->nPitch*i+j*n+k;
				for(nh=0; nh<zoomud; ++nh)
				{
					for(nw=0; nw<zoomlr; ++nw)
					{
						des = pDib->nPitch*zoomud*i+pDib->nPitch*nh+j*n*zoomlr+nw*n+k;
						pDib->pBmp[des] = psDib->pBmp[src];
					}
				}
			}
		}
	}	
	IBITMAP_GetInfo(comBitmap,&pMe->myBitInfo,sizeof(AEEBitmapInfo));
	FREEDIB(psDib);
	FREEDIB(pDib);
	return comBitmap;
}
IBitmap*  zoomout(mainproject1 *pMe,const IBitmap *pBitmap,uint32 zoomlr,uint32 zoomud)
{
	uint32 n;
	uint32 i,j,k;
	int src,des;
	int err;

	uint32 w,h;
	IDIB *pDib;
	IDIB *psDib;
	IBitmap *comBitmap;		

	IBITMAP_GetInfo((IBitmap *)pBitmap,&pMe->myBitInfo,sizeof(AEEBitmapInfo));
	w = pMe->myBitInfo.cx;
	h = pMe->myBitInfo.cy;	

	if(zoomlr == 1 && zoomud == 1)
		return (IBitmap *)pBitmap;

	if(SUCCESS != IBITMAP_CreateCompatibleBitmap((IBitmap *)pBitmap,&comBitmap,(uint16)(w/zoomlr),(uint16)(h/zoomud)))
		return (IBitmap *)pBitmap;
	err = IBITMAP_QueryInterface(comBitmap,AEECLSID_DIB,(void**)&pDib);
	err = IBITMAP_QueryInterface((IBitmap *)pBitmap,AEECLSID_DIB,(void**)&psDib);
	if(err != SUCCESS)
	{
		FREEDIB(psDib);
		FREEDIB(pDib);
		FREEMAP(comBitmap);
		return (IBitmap *)pBitmap;	
	}
	n = pDib->nDepth/8;

	for(i=0; i< h/zoomud; ++i)
	{
		for(j=0; j<w/zoomlr; ++j)
		{
			for(k=0; k<n; ++k)
			{
				des = pDib->nPitch*i+j*n+k;
				src = psDib->nPitch*zoomud*i+j*n*zoomlr+k;
				pDib->pBmp[des] = psDib->pBmp[src];					
			}
		}
	}	
	IBITMAP_GetInfo(comBitmap,&pMe->myBitInfo,sizeof(AEEBitmapInfo));
	FREEDIB(psDib);
	FREEDIB(pDib);
	return comBitmap;
}
IBitmap* loadBitmap(mainproject1 *pMe, const char * strBitname)
{
	IBitmap *pBitmap;

	pBitmap = ISHELL_LoadBitmap(pMe->a.m_pIShell,strBitname);
	if(NULL == pBitmap)
		return NULL;
	IBITMAP_GetInfo(pBitmap,&pMe->myBitInfo,sizeof(AEEBitmapInfo));		
	return pBitmap;	
}
/*/
IBitmap* loadBitmap(mainproject1 *pMe, const char * strBitname)
{
	IBitmap *pBitmap;
	IBitmap *comBitmap;
	IBitmap *pScreen;
	AEEBitmapInfo info;
	pBitmap = ISHELL_LoadBitmap(pMe->a.m_pIShell,strBitname);
	if(NULL == pBitmap)
		return NULL;
	IBITMAP_GetInfo(pBitmap,&info,sizeof(info));

	pScreen = IDISPLAY_GetDestination(pMe->a .m_pIDisplay);
	IBITMAP_CreateCompatibleBitmap(pScreen,&comBitmap,info.cx,info.cy);
	IBitmap_BltIn(comBitmap,0,0,info.cx,info.cy,pBitmap,0,0,AEE_RO_COPY);
	FREEMAP(pBitmap);
	FREEMAP(pScreen);
	IBITMAP_GetInfo(comBitmap,&pMe->myBitInfo,sizeof(AEEBitmapInfo));		
	return comBitmap;	
}/*/
void showBitmap(mainproject1 *pMe, const IBitmap *pBitmap)
{
	
	relocate(pMe);	
	IBITMAP_GetInfo((IBitmap *)pBitmap,&pMe->myBitInfo,sizeof(AEEBitmapInfo));	
	IDISPLAY_BitBlt(pMe->a.m_pIDisplay,pMe->start_x,pMe->start_y,pMe->myBitInfo.cx,pMe->myBitInfo.cy,pBitmap,pMe->off_x,pMe->off_y,AEE_RO_COPY);
}

IBitmap* zoom(mainproject1* pMe,const IBitmap *pBitmap,ZoomMode zm,int flag)
{
	int zoomlr;
	int zoomud;
	IBitmap *comBitmap;
	IBitmap *tmpBitmap;
	tmpBitmap = NULL;
	comBitmap = NULL;

	if(pMe->comBitmap != pMe->myBitmap)
		FREEMAP(pMe->comBitmap);

	switch(zm)
	{
	case ZOOM_H:
		pMe->zoomLRtimes += flag;
		break;
	case ZOOM_V:
		pMe->zoomUDtimes += flag;
		break;
	case ZOOM_HV:
		pMe->zoomLRtimes += flag;
		pMe->zoomUDtimes += flag;
		break;
	}
	if(pMe->zoomLRtimes > 3)
		pMe->zoomLRtimes = 3;
	if(pMe->zoomUDtimes > 3)
		pMe->zoomUDtimes = 3;

	zoomlr = pMe->zoomLRtimes ;
	zoomud = pMe->zoomUDtimes ;

	if(zoomlr > 0)
	{
		if(zoomud >=0 )
			comBitmap = zoomin(pMe,pBitmap,zoomlr+1,zoomud+1);
		else if(zoomud < 0 )
		{
			tmpBitmap = zoomin(pMe,pBitmap,zoomlr+1,1);
			comBitmap = zoomout(pMe,tmpBitmap,1,-zoomud+1);
		}	
	}
	else if(zoomlr < 0)
	{
		if(zoomud <= 0 )
			comBitmap = zoomout(pMe,pBitmap,-zoomlr+1,-zoomud+1);
		else if(zoomud > 0)
		{
			tmpBitmap = zoomin(pMe,pBitmap,1,zoomud+1);
			comBitmap = zoomout(pMe,tmpBitmap,-zoomlr+1,1);
		}
	}
	else
	{
		if(zoomud > 0)
			comBitmap = zoomin(pMe,pBitmap,1,zoomud+1);
		else if(zoomud < 0)
			comBitmap = zoomout(pMe,pBitmap,1,-zoomud+1);
	}	
	FREEMAP(tmpBitmap);
	if(comBitmap == NULL)
	{
		IBITMAP_GetInfo((IBitmap*)pBitmap,&pMe->myBitInfo,sizeof(AEEBitmapInfo));
		return (IBitmap *)pBitmap;
	}
	return comBitmap;
}
void relocate(mainproject1* pMe)
{

	IBITMAP_GetInfo(pMe->comBitmap,&pMe->myBitInfo,sizeof(AEEBitmapInfo));
	if(pMe->myBitInfo.cx > pMe->blankArea.dx)
	{
		pMe->start_x = 0;
		if(pMe->off_x < 0)
			pMe->off_x = 0;
		if(pMe->off_x > pMe->myBitInfo.cx -pMe->blankArea.dx)
			pMe->off_x = pMe->myBitInfo.cx -pMe->blankArea.dx;
	}
	else
	{
		pMe->off_x = 0;
		if(pMe->start_x < 0)
			pMe->start_x = 0;
		if(pMe->start_x > pMe->blankArea.dx - pMe->myBitInfo.cx)
			pMe->start_x = pMe->blankArea.dx - pMe->myBitInfo.cx;
	}

	if(pMe->myBitInfo.cy > pMe->blankArea.dy)
	{
		pMe->start_y = 0;
		if(pMe->off_y < 0)
			pMe->off_y = 0;
		if(pMe->off_y > pMe->myBitInfo.cy -pMe->blankArea.dy)
			pMe->off_y = pMe->myBitInfo.cy -pMe->blankArea.dy;
	}
	else
	{
		pMe->off_y = 0;
		if(pMe->start_y < 0)
			pMe->start_y = 0;
		if(pMe->start_y > pMe->blankArea.dy - pMe->myBitInfo.cy)
			pMe->start_y = pMe->blankArea.dy - pMe->myBitInfo.cy;
	}
}

int HConventPic(mainproject1* pMe,IBitmap *pBitmap)
{
	IDIB * pDib;
	int i,j,k;
	int n ;
	int src,des,byTemp;
	int w,h;
	int err;
	AEEBitmapInfo info;
	IBITMAP_GetInfo(pBitmap, &info, sizeof(info));
	w = info.cx;
	h = info.cy;	
	err = IBITMAP_QueryInterface(pBitmap,AEECLSID_DIB,(void**)&pDib);
	if(err != SUCCESS)
		return EFAILED;

	n = pDib->nDepth/8;	
	

	for (i=0; i<h; i++)
	{
		for (j=0; j<w / 2; j++)
		{
			for(k=0;k < n; ++k)
			{
				src = pDib->nPitch*i + j*n+k;
				des = src + (w-1-j*2)*n;
				byTemp = pDib->pBmp[src];
				pDib->pBmp[src] = pDib->pBmp[des];
				pDib->pBmp[des] = byTemp;
			}
		}
	}
	IDIB_Release(pDib);
	return SUCCESS;
}
//
int VConventPic(mainproject1* pMe,IBitmap *pBitmap)
{
	IDIB * pDib;
	int i,j,k;
	int n ;
	int src,des,byTemp;
	int w,h;
	int err;
	AEEBitmapInfo info;
	IBITMAP_GetInfo(pBitmap, &info, sizeof(info));
	w = info.cx;
	h = info.cy;	
	err = IBITMAP_QueryInterface(pBitmap,AEECLSID_DIB,(void**)&pDib);
	if(err != SUCCESS)
		return EFAILED;

	n = pDib->nDepth/8;	
	for (i=0; i<h/2; i++)
	{
		for (j=0; j<w*n; j++)
		{			
			src = pDib->nPitch*i + j;
			des = (h-1-i)*pDib->nPitch + j;
			byTemp = pDib->pBmp[src];
			pDib->pBmp[src] = pDib->pBmp[des];
			pDib->pBmp[des] = byTemp;
		}
	}
	IDIB_Release(pDib);
	return SUCCESS;
}
//
IBitmap*  clockTurn(mainproject1 *pMe,const IBitmap *pBitmap)
{
	uint32 n;
	uint32 i,j,k;
	int src,des;
	int err;

	uint32 w,h;
	IDIB *pDib;
	IDIB *psDib;
	IBitmap *comBitmap;		

	IBITMAP_GetInfo((IBitmap *)pBitmap,&pMe->myBitInfo,sizeof(AEEBitmapInfo));
	w = pMe->myBitInfo.cx;
	h = pMe->myBitInfo.cy;	

	if(SUCCESS != IBITMAP_CreateCompatibleBitmap((IBitmap *)pBitmap,&comBitmap,h,w))
		return (IBitmap *)pBitmap;
	err = IBITMAP_QueryInterface(comBitmap,AEECLSID_DIB,(void**)&pDib);
	err = IBITMAP_QueryInterface((IBitmap *)pBitmap,AEECLSID_DIB,(void**)&psDib);
	if(err != SUCCESS)
	{
		FREEDIB(psDib);
		FREEDIB(pDib);
		FREEMAP(comBitmap);
		return (IBitmap *)pBitmap;	
	}
	n = pDib->nDepth/8;

	for (i=0; i<h; i++)
	{
		for (j=0; j<w; j++)
		{
			for(k=0;k < n; ++k)
			{
				src = psDib->nPitch*i + j*n+k;
				des = pDib->nPitch*j + (h-i-1)*n+k;
				pDib->pBmp[des] = psDib->pBmp[src];
			}
		}
	}
	IBITMAP_GetInfo(comBitmap,&pMe->myBitInfo,sizeof(AEEBitmapInfo));
	FREEDIB(psDib);
	FREEDIB(pDib);

	if(pMe->comBitmap != pMe->myBitmap)
		FREEMAP(pMe->comBitmap);
	if(pBitmap != pMe->myBitmap)
		FREEMAP((IBitmap *)pBitmap);
	
	return comBitmap;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人精品电影在线观看| 欧美精品1区2区3区| 天天综合网天天综合色| 国产清纯白嫩初高生在线观看91 | 亚洲精品日日夜夜| 日韩美女主播在线视频一区二区三区| 国产91精品一区二区麻豆网站| 午夜精品久久久久久久蜜桃app| 国产精品久久久久久户外露出| 制服丝袜在线91| 色综合色狠狠综合色| 狠狠色狠狠色综合系列| 丝瓜av网站精品一区二区| 亚洲色图.com| 中文字幕 久热精品 视频在线 | 香蕉成人啪国产精品视频综合网 | 国产亚洲一区二区三区四区| 制服丝袜中文字幕一区| 欧美性猛交xxxxxxxx| 成人午夜在线播放| 韩日欧美一区二区三区| 蜜桃一区二区三区在线观看| 午夜国产精品一区| 一区二区三区色| 日韩伦理av电影| 亚洲欧洲无码一区二区三区| 中文字幕av在线一区二区三区| 欧美成人r级一区二区三区| 欧美日韩成人一区| 在线观看日韩毛片| 色成年激情久久综合| 成人a免费在线看| 成人午夜激情在线| 盗摄精品av一区二区三区| 国产福利视频一区二区三区| 国产乱淫av一区二区三区 | 青草av.久久免费一区| 午夜视频在线观看一区| 亚洲午夜私人影院| 亚洲va天堂va国产va久| 亚洲成人午夜电影| 视频一区国产视频| 另类小说一区二区三区| 精东粉嫩av免费一区二区三区| 麻豆成人久久精品二区三区红| 日本人妖一区二区| 麻豆精品视频在线观看免费| 狠狠色丁香久久婷婷综| 国产91精品在线观看| av亚洲精华国产精华| 91亚洲精品乱码久久久久久蜜桃| 色婷婷久久综合| 欧美日韩综合在线| 欧美一卡二卡三卡四卡| 精品日产卡一卡二卡麻豆| 国产午夜亚洲精品羞羞网站| 国产精品久久久久精k8| 亚洲综合色区另类av| 丝袜美腿亚洲一区| 国产一区 二区 三区一级| 丁香婷婷综合五月| 91福利在线播放| 欧美一级视频精品观看| 久久久天堂av| 亚洲免费观看高清完整| 日韩高清一区在线| 国产精品自拍一区| 91年精品国产| 91精品婷婷国产综合久久竹菊| 精品国产一区久久| 亚洲婷婷综合久久一本伊一区| 午夜精品福利视频网站| 国产一区免费电影| 日本韩国欧美在线| 欧美mv日韩mv亚洲| 亚洲欧美日韩中文播放 | 亚洲www啪成人一区二区麻豆| 狂野欧美性猛交blacked| eeuss影院一区二区三区| 欧美日韩一卡二卡| 精品欧美久久久| 亚洲欧美另类久久久精品| 日韩av午夜在线观看| 国产91丝袜在线播放0| 欧美偷拍一区二区| 久久精品一区二区三区不卡| 亚洲国产精品久久一线不卡| 国产精品一线二线三线| 精品视频1区2区| 久久久五月婷婷| 天天操天天综合网| 粉嫩绯色av一区二区在线观看| 欧美日本乱大交xxxxx| 欧美高清一级片在线观看| 视频一区视频二区中文| 91在线观看地址| 久久亚洲精精品中文字幕早川悠里 | 狠狠色丁香九九婷婷综合五月| 色视频一区二区| 日本一区二区综合亚洲| 日本aⅴ免费视频一区二区三区| 91香蕉视频在线| 国产亚洲精品久| 看电影不卡的网站| 欧美日韩国产免费| 亚洲精品久久久久久国产精华液| 国产一区二区毛片| 欧美一级一区二区| 亚洲 欧美综合在线网络| 东方aⅴ免费观看久久av| 欧美一级理论性理论a| 亚洲国产欧美日韩另类综合| 成人在线综合网| 欧美精品一区二区三区蜜臀| 日日骚欧美日韩| 欧美色综合网站| 亚洲美女区一区| 99re成人精品视频| 国产欧美精品在线观看| 精品亚洲国产成人av制服丝袜| 91精品国产综合久久久久久久久久| 亚洲乱码国产乱码精品精的特点| 国产成人一级电影| 久久女同性恋中文字幕| 狠狠色狠狠色合久久伊人| 欧美一区二区三区视频在线 | 成人在线综合网站| 日本一区二区三区四区在线视频 | 国产伦精品一区二区三区免费迷 | 欧美日韩国产在线播放网站| 亚洲欧美乱综合| 97se狠狠狠综合亚洲狠狠| 国产精品热久久久久夜色精品三区| 国产高清亚洲一区| 久久九九99视频| 国产精一区二区三区| 久久久久久亚洲综合影院红桃| 国产一区二区精品在线观看| 久久久噜噜噜久久中文字幕色伊伊| 国产乱码精品1区2区3区| 欧美精品一区二区三区一线天视频 | 亚洲一区二区欧美| 欧美日韩国产一区二区三区地区| 亚洲大片在线观看| 69堂精品视频| 免费在线观看视频一区| 精品国产亚洲在线| 国产69精品一区二区亚洲孕妇| 国产目拍亚洲精品99久久精品| 成人激情图片网| 一区二区三区四区国产精品| 欧美偷拍一区二区| 蜜桃一区二区三区四区| 久久久久99精品一区| 粉嫩一区二区三区在线看| 亚洲欧美偷拍卡通变态| 欧美日韩综合在线免费观看| 蜜桃av一区二区在线观看| 国产三级欧美三级日产三级99| 99这里只有久久精品视频| 亚洲最大成人网4388xx| 欧美一区二区三区四区高清 | 精品一区二区三区av| 国产午夜精品久久久久久久| 99这里只有精品| 天天综合天天做天天综合| 久久综合久久鬼色中文字| jvid福利写真一区二区三区| 亚洲福利视频导航| 久久久综合视频| 色999日韩国产欧美一区二区| 欧美aaaaa成人免费观看视频| 久久九九影视网| 欧美日韩一级片网站| 国产精品自产自拍| 亚洲综合色视频| 久久久一区二区| 欧美性色综合网| 国产精品亚洲午夜一区二区三区 | 亚洲精选在线视频| 精品国产一区二区精华| 日本道精品一区二区三区| 麻豆传媒一区二区三区| 亚洲精品欧美激情| 久久综合狠狠综合久久激情 | av成人老司机| 日本不卡视频在线观看| 国产精品成人免费在线| 日韩欧美一二区| 91福利在线播放| 丁香婷婷综合激情五月色| 日韩精品福利网| 玉米视频成人免费看| 国产丝袜美腿一区二区三区| 欧美人牲a欧美精品| 99久久久精品| 国产激情视频一区二区在线观看| 午夜影视日本亚洲欧洲精品| 中文字幕在线不卡视频| 精品国产凹凸成av人网站|