Tag: 图形

在C / C ++中寻找GD教程

我看到很多关于PHP的GD教程,尽管GD是用C语言编写的,而不是PHP语言。 你可以在C中为GD推荐任何好的教程吗?

简化立方贝塞尔曲线?

我正在尝试使用画笔工具实现与Adobe Illustrator相近的function。 它正确地分析和简化了路径,包括其贝塞尔手柄。 我实施了Ramer-Douglas-Peucker_algorithm,然而,它并没有真正成为我所需要的。 它适用于线段,但不考虑贝塞尔手柄。 是否有算法可以像这个算法一样,但考虑到立方贝塞尔句柄? 这个问题是曲线可能是一个角度,但算法只能看到一条直线。 谢谢

计算立方贝塞尔长度的便宜方法

对于立方贝塞尔长度的解析解似乎不存在,但这并不意味着不存在编码廉价解的编码。 便宜我的意思是在50-100 ns(或更少)的范围内。 有人知道这样的事吗? 也许有两类: 1)较少的错误,如1%但更慢的代码。 2)更多错误如20%但更快? 我通过谷歌扫描了一下,但它没有找到任何看起来像一个很好的解决方案。 只有像划分N个线段并将N sqrt相加的东西 – 太慢以获得更高的精度,并且对于2或3个段可能太不准确。 有更好的吗?

使用“光栅模式”直接打印到以太网打印机:需要基本指导

我偶然发现了一个超出我的专业领域的问题,而且我没有导师可以求助于此。 我有一个收据打印机,我需要通过iOS应用程序进行交互。 打印机与设备位于同一网络上,因此我可以通过支持的“线路模式命令”来解决它 我想做的是保持我已经跨平台工作的代码 – 即它是一个UIView / NSView,如果你不熟悉OS X / iOS,它只是一个标准的vanilla视图,我可以渲染成PDF / PNG格式。 值得庆幸的是,打印机具有“光栅图形”模式,这似乎是我需要的。 不幸的是,无论是命令规范的破坏英语,还是我对基本C以外的任何东西的完全缺乏了解,或者我完全缺乏关于图形的知识,我都不知道如何从我拥有的命令规范开始。 我知道打印机和我的网络工作,因为我可以通过网络解决它并发送基本的feed命令。 但是,我不知道如何从PNG开始 – >无论打印机需要什么使它成为’光栅模式’的工作。 该规范可在http://www.star-m.jp/eng/service/usermanual/linemode_cm_en.pdf上找到 ,如果你想提供帮助,你想要开始阅读它的页面是3-68,具体命令即使开始使用也遇到麻烦的是3-78 / 3-79。 我只能给你一个勾选标记,但我向你保证,如果你能为我提供正确方向的一点,你将会感激不尽。

用C / C ++绘制填充椭圆的简单算法

在SO上,找到了以下用于绘制实心圆的简单算法: for(int y=-radius; y<=radius; y++) for(int x=-radius; x<=radius; x++) if(x*x+y*y <= radius*radius) setpixel(origin.x+x, origin.y+y); 绘制填充椭圆是否有同样简单的算法?

在openGL中使用glGenBuffers时的空白屏幕

#include #include #include #include void changeSize(int w, int h) { if(h == 0) h = 1; float ratio = w / h; glMatrixMode(GL_PROJECTION); glLoadIdentity(); glViewport(0, 0, w, h); gluPerspective(40,ratio,1.5,20); glMatrixMode(GL_MODELVIEW); } void renderScene(void) { glClear(GL_COLOR_BUFFER_BIT ); glLoadIdentity(); glTranslatef(0.0,0.0,-5.0); glDrawArrays(GL_TRIANGLES,0,3); glutSwapBuffers(); } void init() { GLfloat verts[] = { 0.0, 1.0, -1.0, -1.0, 1.0, -1.0 }; […]

模拟绘画应用的画笔笔触

我正在尝试编写一个应用程序,可以使用模拟笔刷创建看起来像绘画的图片。 模拟画笔笔划的简单方法有什么好的来源吗? 例如,给定用户拖动鼠标的鼠标位置列表,画笔宽度和画笔纹理,如何确定要绘制到canvas的内容? 我尝试在鼠标移动的方向上调整画笔纹理,并沿着路径轻拍几个画笔纹理图像,但它看起来不太好。 我想我错过了刷子纹理应该缩小并在角落上生长的东西。 任何简单的链接将不胜感激。 我发现了关于模拟例如油画的复杂学术论文,但我只想要一个基本的算法,如果可能的话会产生好的结果。

C中快速,优化和准确的RGB HSB转换代码

我正在寻找在纯C中快速,准确地实现RGB到HSB和HSB到RGB。请注意,我特别寻找色调,饱和度,亮度而不是 HSL(亮度)。 当然,我已经广泛搜索了这一点,但速度在这里至关重要,我正在寻找有关可靠,快速,可靠代码的任何具体建议。

C中的图形库

我想知道是否有任何易于使用的C自由图形库? 它用于绘制2d和3d图形,然后保存到文件。 它在Linux系统上,现在系统上没有gnuplot。 或者只是更简单地切换到另一种语言,如果是这样,哪一个很容易学习?

如何直接访问显卡的输出?

显卡通常会将输出写入我可以访问的内存中的某个位置吗? 我必须使用驱动程序吗? 如果是这样,我可以使用OpenGL吗? 我想知道是否有可能“捕获”Linux上可直接访问GPU的VM的输出,并且正在运行Windows。 理想情况下,我可以直接访问内存中的输出,而无需触及GPU,因为此代码可以在Linux主机上运行。 另一个选择是编写一个Windows驱动程序,它读取GPU的输出并将其写入内存中的某个位置。 然后,在Linux端,程序可以读取此内存。 这似乎有点不可能,因为我不确定如何让主机上的进程与guest虚拟机上的进程共享内存。 是否可以执行选项1并简单地从内存中读取输出?