小编Joe*_*zas的帖子

如何从保留帧尺寸的GIF文件中提取帧

我有以下GIF图像文件:

原始的GIF图像

我想使用这个imagemagick命令提取其帧(使用PGM输出格式):

convert brocoli.gif out%05d.pgm
Run Code Online (Sandbox Code Playgroud)

但每个框架都有不同的尺寸.

如何在保留原始gif文件大小的同时提取其框架?

imagemagick gif

47
推荐指数
1
解决办法
2万
查看次数

如何在C#中列出项目列表?

使用我使用的列表

List<int> list = new List<int>();
list.AddRange(otherList);
Run Code Online (Sandbox Code Playgroud)

如何使用Queue?来执行此操作,此Collection没有AddRange方法.

Queue<int> q = new Queue<int>();
q.AddRange(otherList); //does not exists
Run Code Online (Sandbox Code Playgroud)

c# queue collections

19
推荐指数
3
解决办法
2万
查看次数

在 glVertexPointer OpenGL 函数中使用 C++ std::Vector

我有一个浮点数向量,这个向量描述了一组三角形,每个三角形用 18 个浮点数描述,前 3 个是第一个顶点,接下来 3 个描述最后一个顶点的法线,依此类推 3 次,直到描述每个三角形。

我在用

std::vector< GLfloat >
Run Code Online (Sandbox Code Playgroud)

存储所有数字,这是我渲染三角形的代码

void Visualizer::draw3dModel()
{
    glEnableClientState(GL_NORMAL_ARRAY);
    glEnableClientState(GL_VERTEX_ARRAY);

    glNormalPointer(GL_FLOAT, 6 * sizeof(GLfloat), this->vertexes->data() + 3);
    glVertexPointer(3, GL_FLOAT, 6 * sizeof(GLfloat), this->vertexes->data());

    glPushMatrix();

        glScalef(0.05f, 0.05f, 0.05f);
        glColor3f(1,1,1);

        glDrawArrays(GL_TRIANGLES, 0, this->vertexes->size());

    glPopMatrix();

    glDisableClientState(GL_VERTEX_ARRAY);
    glDisableClientState(GL_NORMAL_ARRAY);
}
Run Code Online (Sandbox Code Playgroud)

这段代码实际上有效,但在某些时刻,我用新三角形重新创建了浮点数向量,它可以是或多或少的三角形

在创建新三角形之前,我使用此函数清除顶点向量

std::vector< GLfloat >* MarchingCubesThread::getTriangles(float minvalue_scale)
{
    this->generateTriangles(minvalue_scale);

    for(unsigned int i=0; i < this->num_triangles; i++)
    {
        for(int j=0; j < 3; j++)
        {   
            this->vertexes.push_back(this->triangles[i].p[j].x);
            this->vertexes.push_back(this->triangles[i].p[j].y);
            this->vertexes.push_back(this->triangles[i].p[j].z);

            this->vertexes.push_back(this->triangles[i].norm.x);
            this->vertexes.push_back(this->triangles[i].norm.y);
            this->vertexes.push_back(this->triangles[i].norm.z);
        }
    }

    return &(this->vertexes);
}

void …
Run Code Online (Sandbox Code Playgroud)

c++ opengl

2
推荐指数
1
解决办法
5008
查看次数

如何使用#define在Arduino中分配引脚?

我试图用来#define创建一个常量并定义一个引脚,检查这个代码

#define PIN_MICROPHONE 13;

void loop()
{
    analogRead(PIN_MICROPHONE);
}
Run Code Online (Sandbox Code Playgroud)

但是在尝试编译时,它会说这个错误:

: In function 'void loop()':
error: expected `)' before ';' token
error: expected primary-expression before ')' token
error: expected `;' before ')' token
Run Code Online (Sandbox Code Playgroud)

如何使用#define宏来定义引脚?

这段代码编译好了

#define PIN_MICROPHONE 13;

void loop()
{
    analogRead(13);
}
Run Code Online (Sandbox Code Playgroud)

我正在使用Arduino 1.0.5

macros arduino c-preprocessor

0
推荐指数
1
解决办法
8444
查看次数

标签 统计

arduino ×1

c# ×1

c++ ×1

c-preprocessor ×1

collections ×1

gif ×1

imagemagick ×1

macros ×1

opengl ×1

queue ×1