漂亮的像素级图片绘画,以编程方式

时间:2010-06-15 20:04:34

标签: macos math graphics pixel

我的Mac笔记本电脑有1,024,000像素。 什么是将我的显示器完全变成黑色的最简单的方法,并且通过编写小程序来调整像素,让我的心情变得更加快乐?

为了使它更具体,我想要实现Chaos Game在像素级别绘制一个Sierpinski三角形,屏幕上没有别的东西。 有什么方法可以做到这一点?

5 个答案:

答案 0 :(得分:3)

也许选择Processing

答案 1 :(得分:2)

答案 2 :(得分:2)

屏幕保护程序肯定是一个偶然的解决方案?

一种方法是下载屏幕保护程序模块的示例代码,然后将其用作您自己的屏幕保护程序的模板。这样您就不必编写超出实际绘图代码的内容,并且可以使用自己的自定义屏幕保护程序模块进行引导。

答案 3 :(得分:1)

我使用的是C或C ++,你可以使用SDL来完成这些工作。它允许低级访问单个窗口的像素或全屏(加上键盘,鼠标和声卡),并可在大多数Windows,OSX和Linux上运行。

有一些关于如何在http://lazyfoo.net/SDL_tutorials/index.php使用此库的优秀教程。我认为在前几个之后你需要#31教程。

答案 4 :(得分:1)

一个好的方法是GLUT,这是OpenGL的(稍微)友好的多平台包装器。这里有一些代码可以解决一些问题:

#include <GL/glut.h>

void
reshape(int w, int h)
{
    glViewport(0, 0, w, h);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glOrtho(0, w, 0, h, -1, 1);
}

void
display(void)
{
    glClear(GL_COLOR_BUFFER_BIT);
    glBegin(GL_POINTS);
    for (int i = 0; i<399; ++i)
    {
        glVertex2i(i, (i*i)%399);
    }
    glEnd();
    glFlush();
}

int
main(int argc, char **argv)
{
    glutInit(&argc, argv);
    glutCreateWindow("some points");
    glutDisplayFunc(display);
    glutReshapeFunc(reshape);
    glutMainLoop();
    return 0;
}

这是C ++,但它在Python和许多其他语言中几乎完全相同。