Articles of 图像

从图像的RGB值到C#中的一维数组

我想知道是否有一种方法来读取图像中的RGB值到C#中的一维数组。 如果没有意义,在java中,我会做这样的事情。 int[] pixels; BufferedImage image = getClass().getResourceAsStream("asdfghjkl.png"); int w = image.getWidth(); int h = image.getHeight(); pixels = new int[w * h]; image.getRGB(0, 0, w, h, pixels, 0, w) ; 所以任何帮助都会很棒,或者如果你能把我指向正确的方向,那会很棒

获取图像的正常地图

我试图在本教程中获得结果: 链接 到目前为止,我能够做到这一点; 用这些; public PixelMap GetNormalMap(double strength) { var newMap = new PixelMap(Width, Height); for (int i = 1; i < Width – 1; i++) { for (int j = 1; j < Height – 1; j++) { /* [ abc ] [ dxe ] [ fgh ] */ var a = this[i – […]

显卡对游戏编程的影响

我知道这个问题对某些人来说可能很有趣,但是我一直在想,像agtx这样的游戏显卡和像quaddro这样的专业显卡在纹理渲染,材质,导入资源,着色器编译等方面对游戏开发有什么影响..

加载几个缩放的位图和增长堆或绘制比例位图和FPS减less?

在我的游戏中,我使用surfaceview和Canvas在屏幕上绘制精灵,以便在所有屏幕大小中进行拼图 :我testing两种方式: 第一 :当canvas想要在屏幕上绘制Framebuffer(最终位图)时,通过使用缩放这个framebuffer canvas.drawBitmap(framebuffer, null, dstRect, paint); 但每秒帧数(fps)减less和游戏不运行平滑(更小的屏幕=更stream畅的游戏运行) 二 :如果我加载并缩放游戏开始时的所有照片到屏幕大小 – >这样增加堆使用这个: canvas.drawBitmap(framebuffer, 0, 0, paint); 所有的图像是最大480×800像素 (****没有规模的图像,分配1.5 MB和一个1080 * 1920的设备规模分配约10MB *****) 让我的游戏使用 kilobolt框架

调整低分辨率2D游戏的技巧

我正在使用Pygame进行2D游戏,我的问题是关于窗口大小的优化。 我的引擎当前的设置方式,我把我所有的资产都画到一个名为intermediate_screen的原生640 x 360表面上。 在我的draw()方法结束时,我调整了这个表面的大小,以适应显示窗口使用任何时候窗口resize设置的resize的值。 要resize,我使用Pygame的transform.scale()方法。 我注意到,在高端硬件上,这种方法工作正常。 但是在我用于testing的低端计算机上,当从本地窗口切换到全屏时,帧速率从60 fps下降到30 fps。 我几乎可以肯定,这个下降与我正在做的每一帧的大小调整有关。 其实这个post指出这个方法是密集的。 所以,我的问题: 是否有一种方法来优化我的代码,以便我不经历这种帧速下降? 我想使用Pygame的image.tostring()将我的intermediate_surface转换为string缓冲区,然后我可以将其转换为图像并使用其他库(例如PIL)resize,然后转换回来。 但是我的testing表明这更加低效。

创建一个顶点缓冲区来定义排列在网格中的顶点,以便稍后进行编辑

我正在使用行军平方algorithm(2D版本的行军立方体)来生成顶点。 我最终排列在一个网格中的顶点。 我想要使​​可破坏的地形,我打算这样做的方式是从简单的开始 – 具有整个地图一个顶点缓冲区,并编辑更改的位。 在我需要删除顶点的情况下,我只是想让它们透明,所以我仍然可以一次渲染整个地图。 首先,这种方法是否合理? 其次,我想devise我的VB,所以如果我需要在3×3,5×5或7×7等网格中更改顶点,VB中顶点的位置靠近在一起。 现在,从大学我依稀记得一个图像压缩algorithm,以一种不寻常的方式走的形象,我认为可以适用。 基本上它是以U /马蹄方向走的。 它会在图像上放置一个U,足够大以覆盖整个图像,然后将U分解成4个象限,并使用较小的U来移动它们,直到像素级别,或者在我的情况下,它下降到一个单一的网格单位。 这听起来可行吗? 这个algorithm叫什么? (我不记得名字,并没有通过一般searchfind)。

继续运行CGRectIntersect方法 – Objective C

我有两个UIImageViews。 mainSprite和enemy1。 我有一个方法让敌人1开始向mainSprite移动。 所以就是这个方法 -(void)enemy1Aggro{ if (CGRectIntersectsRect(mainSprite.frame, enemy1Aggro.frame)) { if (mainSprite.center.x > enemy1.center.x) { enemy1.center = CGPointMake(enemy1.center.x+2, enemy1.center.y); } if (mainSprite.center.x < enemy1.center.x) { enemy1.center = CGPointMake(enemy1.center.x-2, enemy1.center.y); } if (mainSprite.center.y > enemy1.center.y) { enemy1.center = CGPointMake(enemy1.center.x, enemy1.center.y+2); } if (mainSprite.center.y < enemy1.center.y) { enemy1.center = CGPointMake(enemy1.center.x, enemy1.center.y-2); } } }这是有效的,因为我在一个被按下的button上调用IBAction。 但问题是,当该button停止按下时,此方法停止运行。 所以我需要的是让这个方法继续运行的方法。 也许是一个循环? 我没有使用任何像cocos2d,我没有使用CoreGraphics。 […]

游戏引擎中的image processing

我将尝试使用GEGL来允许在开源3D游戏引擎上进行实时纹理处理。 什么是最常见和最需要的操作使用图像,游戏引擎纹理? 谢谢!

将图像投票变成游戏的最佳方式是什么?

我试图想出一个图像投票网站的devise,将成千上万的图像投票(可能是无聊的)任务变成游戏。 目标是让用户在尽可能多的图像对上投票,而不会感到厌烦。 我的第一个想法是使用上传的图像的不同的IP地址,并将投票转化为用户的世界旅程。 该网站在世界地图上打开,并呈现一系列的图像“战斗”,他们必须从中选出胜出的图像。 每个世界地区将有10到100个图像对,用户将投票。 当他们完成一个地区的图像对,他们“飞”到世界的另一部分,以保持游戏进行。 世界地图方法的目标是收集用户对尽可能多的图像对的意见,同时给予他们以下意识:1 – 完成(完成一个地区的图像对)2 – 环游世界 我不幸地遇到了这种方法的一个微妙的缺陷:图像对投票将被限制在特定的区域…所以你永远不能有一个由来自日本的图像组成的图像对美国的图像。 我想知道如何才能适应这种方法来解决这个缺陷 – 即允许图像对由来自世界各地的图像组成,而不仅仅是一个特定的区域? 或者即使您可以采用不同的devise来实现相同的目标(尽可能多地收集选票,同时保持用户的动力,而不是无聊) 谢谢你的时间

DrawImage疑问

游戏中animation的最佳select是什么(HTML5 Javascript)? 把所有的图像在一个PNG和改变背景。 或者分别创建每个图像并使用DrawImage绘制?