您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ GetPixelFormat函数代码示例

51自学网 2021-06-01 21:12:43
  C++
这篇教程C++ GetPixelFormat函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中GetPixelFormat函数的典型用法代码示例。如果您正苦于以下问题:C++ GetPixelFormat函数的具体用法?C++ GetPixelFormat怎么用?C++ GetPixelFormat使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了GetPixelFormat函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: dibdrv_wglMakeCurrent

/*********************************************************************** *		dibdrv_wglMakeCurrent */static BOOL dibdrv_wglMakeCurrent( HDC hdc, struct wgl_context *context ){    HBITMAP bitmap;    BITMAPOBJ *bmp;    dib_info dib;    GLenum type;    BOOL ret = FALSE;    if (!context)    {        pOSMesaMakeCurrent( NULL, NULL, GL_UNSIGNED_BYTE, 0, 0 );        return TRUE;    }    if (GetPixelFormat( hdc ) != context->format)        FIXME( "mismatched pixel formats %u/%u not supported yet/n",               GetPixelFormat( hdc ), context->format );    bitmap = GetCurrentObject( hdc, OBJ_BITMAP );    bmp = GDI_GetObjPtr( bitmap, OBJ_BITMAP );    if (!bmp) return FALSE;    if (init_dib_info_from_bitmapobj( &dib, bmp ))    {        char *bits;        int width = dib.rect.right - dib.rect.left;        int height = dib.rect.bottom - dib.rect.top;        if (dib.stride < 0)            bits = (char *)dib.bits.ptr + (dib.rect.bottom - 1) * dib.stride;        else            bits = (char *)dib.bits.ptr + dib.rect.top * dib.stride;        bits += dib.rect.left * dib.bit_count / 8;        TRACE( "context %p bits %p size %ux%u/n", context, bits, width, height );        if (pixel_formats[context->format - 1].mesa == OSMESA_RGB_565)            type = GL_UNSIGNED_SHORT_5_6_5;        else            type = GL_UNSIGNED_BYTE;        ret = pOSMesaMakeCurrent( context->context, bits, type, width, height );        if (ret)        {            pOSMesaPixelStore( OSMESA_ROW_LENGTH, abs( dib.stride ) * 8 / dib.bit_count );            pOSMesaPixelStore( OSMESA_Y_UP, 1 );  /* Windows seems to assume bottom-up */        }    }    GDI_ReleaseObj( bitmap );    return ret;}
开发者ID:DusteDdk,项目名称:wine-multimedia,代码行数:54,


示例2: GetPixelFormat

void Image::InsertImage(const Image* image, uint32 dstX, uint32 dstY,						uint32 srcX /* = 0 */, uint32 srcY /* = 0 */,						uint32 srcWidth /* = -1 */, uint32 srcHeight /* = -1 */){	if (GetPixelFormat() != image->GetPixelFormat())	{		return;	}	if (image == NULL || dstX >= width || dstY >= height ||		srcX >= image->GetWidth() || srcY >= image->GetHeight())	{		return;	}	uint32 insertWidth = (srcWidth == (uint32)-1) ? image->GetWidth() : srcWidth;	uint32 insertHeight = (srcHeight == (uint32)-1) ? image->GetHeight() : srcHeight;	if (srcX + insertWidth > image->GetWidth())	{		insertWidth = image->GetWidth() - srcX;	}	if (dstX + insertWidth > width)	{		insertWidth = width - dstX;	}	if (srcY + insertHeight > image->GetHeight())	{		insertHeight = image->GetHeight() - srcY;	}	if (dstY + insertHeight > height)	{		insertHeight = height - dstY;	}	PixelFormat format = GetPixelFormat();	int32 formatSize = PixelFormatDescriptor::GetPixelFormatSizeInBytes(format);	uint8* srcData = image->GetData();	uint8* dstData = data;	for (uint32 i = 0; i < insertHeight; ++i)	{		memcpy(dstData + (width * (dstY + i) + dstX) * formatSize,			   srcData + (image->GetWidth() * (srcY + i) + srcX) * formatSize,			   formatSize * insertWidth);	}}
开发者ID:galek,项目名称:dava.framework,代码行数:49,


示例3: createDeviceEx

void CIrrWindow::createIrrDevice(){	// create irr device	SIrrlichtCreationParameters param;	param.WindowId = (void*)getHandle();	param.ZBufferBits = 32;	param.DriverType = video::EDT_OPENGL;		m_device	= createDeviceEx(param);	m_driver	= m_device->getVideoDriver();	m_smgr		= m_device->getSceneManager();		// init opengl	HDC HDc = GetDC( getHandle() );	PIXELFORMATDESCRIPTOR pfd={0};	pfd.nSize=sizeof(PIXELFORMATDESCRIPTOR);	int pf = GetPixelFormat(HDc);		DescribePixelFormat(HDc, pf, sizeof(PIXELFORMATDESCRIPTOR), &pfd);		pfd.dwFlags |= PFD_DOUBLEBUFFER | PFD_SUPPORT_OPENGL | PFD_DRAW_TO_WINDOW;	pfd.cDepthBits=16;	pf = ChoosePixelFormat(HDc, &pfd);		SetPixelFormat(HDc, pf, &pfd);		// share video data	m_videoData.OpenGLWin32.HWnd = NULL;	m_videoData.OpenGLWin32.HDc = HDc;	m_videoData.OpenGLWin32.HRc = wglCreateContext(HDc);	// share for multithread	wglShareLists((HGLRC)m_driver->getExposedVideoData().OpenGLWin32.HRc, (HGLRC)m_videoData.OpenGLWin32.HRc);		g_irrView = this;	initScene();}
开发者ID:codeman001,项目名称:gsleveleditor,代码行数:34,


示例4: getInternalFormat

static GLint getInternalFormat(void){  switch (glctx.type) {#ifdef CONFIG_GL_WIN32  case GLTYPE_W32:  {  PIXELFORMATDESCRIPTOR pfd;  HDC vo_hdc = vo_w32_get_dc(vo_w32_window);  int pf = GetPixelFormat(vo_hdc);  if (!DescribePixelFormat(vo_hdc, pf, sizeof pfd, &pfd)) {    r_sz = g_sz = b_sz = a_sz = 0;  } else {    r_sz = pfd.cRedBits;    g_sz = pfd.cGreenBits;    b_sz = pfd.cBlueBits;    a_sz = pfd.cAlphaBits;  }  vo_w32_release_dc(vo_w32_window, vo_hdc);  }  break;#endif#ifdef CONFIG_GL_X11  case GLTYPE_X11:  if (glXGetConfig(mDisplay, glctx.vinfo.x11, GLX_RED_SIZE, &r_sz) != 0) r_sz = 0;  if (glXGetConfig(mDisplay, glctx.vinfo.x11, GLX_GREEN_SIZE, &g_sz) != 0) g_sz = 0;  if (glXGetConfig(mDisplay, glctx.vinfo.x11, GLX_BLUE_SIZE, &b_sz) != 0) b_sz = 0;  if (glXGetConfig(mDisplay, glctx.vinfo.x11, GLX_ALPHA_SIZE, &a_sz) != 0) a_sz = 0;  break;#endif  }  rgb_sz=r_sz+g_sz+b_sz;  if(rgb_sz<=0) rgb_sz=24;#ifdef TEXTUREFORMAT_ALWAYS  return TEXTUREFORMAT_ALWAYS;#else  if(r_sz==3 && g_sz==3 && b_sz==2 && a_sz==0)    return GL_R3_G3_B2;  if(r_sz==4 && g_sz==4 && b_sz==4 && a_sz==0)    return GL_RGB4;  if(r_sz==5 && g_sz==5 && b_sz==5 && a_sz==0)    return GL_RGB5;  if(r_sz==8 && g_sz==8 && b_sz==8 && a_sz==0)    return GL_RGB8;  if(r_sz==10 && g_sz==10 && b_sz==10 && a_sz==0)    return GL_RGB10;  if(r_sz==2 && g_sz==2 && b_sz==2 && a_sz==2)    return GL_RGBA2;  if(r_sz==4 && g_sz==4 && b_sz==4 && a_sz==4)    return GL_RGBA4;  if(r_sz==5 && g_sz==5 && b_sz==5 && a_sz==1)    return GL_RGB5_A1;  if(r_sz==8 && g_sz==8 && b_sz==8 && a_sz==8)    return GL_RGBA8;  if(r_sz==10 && g_sz==10 && b_sz==10 && a_sz==2)    return GL_RGB10_A2;#endif  return GL_RGB;}
开发者ID:grevutiu-gabriel,项目名称:mplayer-vaapi,代码行数:60,


万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。