[附源码]计算机毕业设计Python+uniapp基于Android系统的莆田学院二手交易系统81egl(程序+源码+LW+远程部署)

[附源码]计算机毕业设计Python+uniapp基于Android系统的莆田学院二手交易系统81egl(程序+源码+LW+远程部署)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程

项目运行环境配置:

Python3.7.7+Django+Mysql5.7+pip list+HBuilderX(Vscode也行)+uni+Vue+Pychram社区版。

项目技术:

Django + uni小程序 +Python+Mysql 等等组成,B/S模式等等。

环境需要

1.运行环境:最好是安装Python3.7.7,我们在这个平台上运行的。其他版本理论上也可以。

2.IDE环境:Python和Python 社区版都可以。推荐Python 社区版;

3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;

技术栈

1. 后端:Python、Vue、Django、Mysql

2. 前端:uni+css+javascript+jQuery+easyUI+highcharts

Python-uni小程序毕设帮助,指导,源码(见文末),调试部署

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 OpenGL 中实现圆角裁剪,可以使用 EglImageSurface 和带有 alpha 通道的纹理。以下是一个简单的实现示例: 1. 创建一个带有 alpha 通道的纹理 ```c++ GLuint textureID; glGenTextures(1, &textureID); glBindTexture(GL_TEXTURE_2D, textureID); // 设置纹理参数 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); // 创建纹理 glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, nullptr); // 绑定到帧缓冲区 glBindFramebuffer(GL_FRAMEBUFFER, frameBufferID); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, textureID, 0); glBindFramebuffer(GL_FRAMEBUFFER, 0); ``` 2. 使用 EglImageSurface 将纹理绑定到 EGL 上下文 ```c++ EGLImageKHR eglImage = eglCreateImageKHR(eglDisplay, EGL_NO_CONTEXT, EGL_NATIVE_PIXMAP_KHR, (EGLClientBuffer)textureID, nullptr); EglImageSurface eglImageSurface(eglDisplay, eglConfig, eglImage, width, height); eglImageSurface.makeCurrent(); ``` 3. 渲染带有 alpha 通道的纹理 ```c++ // 绑定纹理 glBindTexture(GL_TEXTURE_2D, textureID); // 渲染带有 alpha 通道的纹理 glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); glDisable(GL_BLEND); ``` 4. 在着色器中实现圆角裁剪 ```c++ // 顶点着色器 static const char* vertexShader = "attribute vec4 position;\n" "attribute vec2 texCoord;\n" "varying vec2 v_texCoord;\n" "void main()\n" "{\n" " gl_Position = position;\n" " v_texCoord = texCoord;\n" "}\n"; // 片段着色器 static const char* fragmentShader = "precision highp float;\n" "uniform sampler2D texture;\n" "varying vec2 v_texCoord;\n" "uniform float radius;\n" "void main()\n" "{\n" " vec4 color = texture2D(texture, v_texCoord);\n" " vec2 texSize = vec2(textureSize(texture, 0));\n" " vec2 texCoord = v_texCoord * texSize;\n" " vec2 center = vec2(texSize.x / 2.0, texSize.y / 2.0);\n" " float dist = length(texCoord - center);\n" " if (dist > radius)\n" " {\n" " discard;\n" " }\n" " gl_FragColor = color;\n" "}\n"; ``` 在片段着色器中,使用圆形裁剪的半径将距离中心点距离大于半径的片段丢弃。这样就可以实现圆角裁剪效果。 5. 最后,渲染圆角纹理 ```c++ // 设置圆角半径 float radius = 50.0f; GLint radiusLoc = glGetUniformLocation(program, "radius"); glUniform1f(radiusLoc, radius); // 渲染圆角纹理 glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); ``` 这样就可以实现 OpenGL 中的圆角裁剪效果了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值