当前位置: 首页 > news >正文

建设银行移动门户网站wordpress 网址补全

建设银行移动门户网站,wordpress 网址补全,h5轻设计平台,广州公司注册代理机构glReadPixels函数用于从帧缓冲区中读取像素数据。它可以用来获取屏幕上特定位置的像素颜色值或者获取一块区域内的像素数据。下面是该函数的基本语法#xff1a; void glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *da…glReadPixels函数用于从帧缓冲区中读取像素数据。它可以用来获取屏幕上特定位置的像素颜色值或者获取一块区域内的像素数据。下面是该函数的基本语法 void glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *data);x 和 y读取区域左下角的像素坐标。 width 和 height读取区域的宽度和高度。 format像素数据的格式可以是 GL_RGBA、GL_RGB、GL_DEPTH_COMPONENT 等等。 type数据的数据类型如 GL_UNSIGNED_BYTE、GL_FLOAT 等。 data存储像素数据的缓冲区。 举个例子如果你想获取屏幕上位置 (100, 100) 处的像素颜色值你可以这样使用 glReadPixels GLubyte pixel[3]; glReadPixels(100, 100, 1, 1, GL_RGB, GL_UNSIGNED_BYTE, pixel);这将会把位置 (100, 100) 处的 RGB 像素颜色值存储在 pixel 数组中。 如果你想读取一个区域的像素数据可以调整 width 和 height 参数的值。 请注意glReadPixels 函数是一个相对慢的操作因为它涉及到从显存中读取数据这可能会在性能方面产生一些影响。在实际应用中如果需要频繁地读取像素数据最好考虑使用一些其他的技术来减少性能开销。 标题示例一实现读取屏幕中间的颜色 //实现读取屏幕中间的颜色 #define WindowWidth 400 #define WindowHeight 400#pragma warning(disable:4996)#include GL/glut.h #include iostream #include math.hvoid display() {glClearColor(0.0, 0.0, 0.0, 1.0);glClear(GL_COLOR_BUFFER_BIT);// Draw something on the screenglColor3f(1.0, 0.0, 0.0); // Red colorglBegin(GL_TRIANGLES);glVertex2f(-0.5, -0.5);glVertex2f(0.5, -0.5);glVertex2f(0.0, 0.5);glEnd();glFlush(); // Ensure all drawing commands are executed }void readPixelData() {GLint viewport[4]; // Viewport dimensions [x, y, width, height]glGetIntegerv(GL_VIEWPORT, viewport); // Get viewport dimensionsGLubyte pixel[3];/*在例子中GLubyte pixel[3]; 定义了一个长度为3的数组用来存储从glReadPixels函数中读取到的像素颜色值。由于我们在这个例子中读取的是RGB颜色所以数组的长度是3分别用于存储红、绿和蓝三个颜色分量的值。*/GLint x viewport[2] / 2; // X coordinate at the center/*viewport[2] 表示视口viewport的宽度。视口是屏幕上用于显示OpenGL图形的区域。数组索引为 2 的元素存储的就是视口的宽度。viewport[2] / 2 就是将视口的宽度除以 2从而得到了视口的中心位置的 x 坐标。*/GLint y viewport[3] / 2; // Y coordinate at the center// Invert y-coordinate to match OpenGLs coordinate systemy viewport[3] - y - 1;glReadBuffer(GL_FRONT); // Set the buffer to read from the front bufferglReadPixels(x, y, 1, 1, GL_RGB, GL_UNSIGNED_BYTE, pixel);printf(Pixel color at center: R%u, G%u, B%u\n, pixel[0], pixel[1], pixel[2]); }int main(int argc, char** argv) {glutInit(argc, argv);glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);glutInitWindowSize(800, 600);glutCreateWindow(glReadPixels Example);glutDisplayFunc(display);glutIdleFunc(readPixelData); // Read pixel data after drawing and during idle timeglutMainLoop();return 0; } 标题示例二获取屏幕上鼠标点击位置的颜色 #include GL/glut.h #include iostream// 存储窗口大小 int windowWidth 800; int windowHeight 600;// 存储鼠标点击位置的颜色 GLubyte clickedColor[3] { 0, 0, 0 }; void display() {glClearColor(0.0f, 0.0f, 0.0f, 1.0f);glClear(GL_COLOR_BUFFER_BIT);// 绘制渐变色矩形glBegin(GL_QUADS);// 左上角顶点红色glColor3ub(255, 0, 0);glVertex2f(-0.5f, 0.5f);// 右上角顶点绿色glColor3ub(0, 255, 0);glVertex2f(0.5f, 0.5f);// 右下角顶点蓝色glColor3ub(0, 0, 255);glVertex2f(0.5f, -0.5f);// 左下角顶点黄色glColor3ub(255, 255, 0);glVertex2f(-0.5f, -0.5f);glEnd();glFlush(); } //鼠标左键按下并释放时获取鼠标点击位置的像素颜色并将该颜色信息显示在控制台中 void mouse(int button, int state, int x, int y) {if (button GLUT_LEFT_BUTTON state GLUT_DOWN) {GLint viewport[4];//这一行代码获取当前窗口的视口信息并将信息存储在 viewport 数组中。视口包括窗口的位置和尺寸。glGetIntegerv(GL_VIEWPORT, viewport);// 使用glReadPixels获取点击位置的像素颜色glReadPixels(x, viewport[3] - y, 1, 1, GL_RGB, GL_UNSIGNED_BYTE, clickedColor);//viewport[3]表示视口的高度std::cout Clicked pixel color: R static_castint(clickedColor[0]) , G static_castint(clickedColor[1]) , B static_castint(clickedColor[2]) std::endl;} }int main(int argc, char** argv) {glutInit(argc, argv);glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);glutInitWindowSize(windowWidth, windowHeight);glutCreateWindow(Mouse Click Color Picker);glutDisplayFunc(display);glutMouseFunc(mouse);glutMainLoop();return 0; }
http://www.zqtcl.cn/news/29235/

相关文章:

  • 网站开发的概要设计模板大学校园门户网站建设方案
  • 内蒙古兴安盟建设局网站专业网站设计软件工具
  • 网站建设预算明细表上海网站建设加q.479185700
  • 微网站的优点小程序建设
  • 统一门户网站上海健康证查询网址
  • 做网站用什么数据库好用网站 建设 现状
  • 网站文字模板邢台信息网123
  • 西安网站建设的费用网站响应式好吗
  • 湖南做网站 就问磐石网络专业外加工订单网
  • 网站301了不知道在哪做的企业网站策划应该怎么做
  • 安卓网站开发平台新颖的网站策划
  • 网页设计工作室网站在线制作网站免费
  • 博客网站首页设计网络规划设计师含金量高吗
  • 威海网站建设公司排名百度网站官网网址
  • 山西网站建设公司排名厦门网页设计公司价格
  • 网站包503错误wordpress dedecms整合
  • 做哪种网站比较简单wordpress搜索不显示结果
  • 做网站兼容性怎么设置西部数码网站核验单下载
  • 太原自助建站系统局域网内个人网站建设
  • 湖州网站建设公司网站建设公司财务预算
  • 怎么看网站建设有多久wordpress菜单加图标
  • 门户网站建站流程团购网站怎么做
  • 定西市城乡建设局网站html5游戏WordPress
  • 泉州关键词网站排名网上注册公司要钱吗
  • 莱州网站建设效果做一样的模板网站会被告侵权吗
  • 哈尔滨建设网站成本上海的公司地址
  • 网站优化企业排名东莞排名seo网站关键词优化
  • 南充市建设局官方网站网站克隆好后该怎么做
  • 河北省城乡和住房建设厅网站品牌网站解决方案
  • 广州网站建设很棒 乐云践新cento安装wordpress