小编use*_*752的帖子

删除Pygame中图像周围的边框

我在Pygame中有一些透明背景的表面.它们的大小都一样.但是每个圆上都绘制了一个不同大小的圆圈,因此圆圈并不完全适合图像.下面是一些示例图像(我在Photoshop中截取了截图,因此您可以清楚地看到图像的透明度和大小):

在此输入图像描述 在此输入图像描述 在此输入图像描述

现在我想删除图像周围的透明边框,使圆圈完全适合图像.我不希望表面呈圆形,我不认为这是可能的,但我希望表面左侧和右侧没有空白列,顶部没有空白行和底部.想要的结果:

在此输入图像描述 在此输入图像描述 在此输入图像描述

曲面上的圆每帧都会改变大小,因此我必须每帧重新计算新曲面.

我已经谷歌了,但我还没有找到任何关于Pygame表面的东西.我也尝试制作自己的功能,但它看起来很丑陋而且更糟糕:帧率从50(如果我不调用函数)下降到30 fps(如果我调用该函数).我测试了一下,我发现较小的圆圈比较大的圆圈需要更长的处理时间.我怎么能这样做,但速度更快.如果你想我可以展示我所做的功能.

python performance pygame border

3
推荐指数
1
解决办法
934
查看次数

Pygame绘制抗锯齿填充多边形

文档说“对于aapolygon,使用 aalines 与 \xe2\x80\x98\xe2\x80\x99 参数。”,但 pygame.draw.aalines 不允许我指定宽度(0 = 填充),使其成为不填充表面。这看起来很糟糕:\n在此输入图像描述

\n\n

这些圆圈看起来好多了:

\n\n

在此输入图像描述

\n\n

我怎样才能做到这一点?

\n\n

我使用二次贝塞尔曲线生成表面,其坐标被附加到列表中。然后我像这样将其绘制到表面上(在上图中我做了两次,一次用于外圆,一次用于内圆):

\n\n
pygame.draw.polygon(self.image,fclr,self.points)\n
Run Code Online (Sandbox Code Playgroud)\n\n

以及绘图代码(shape.image与上面代码中的self.image是同一个表面):

\n\n
screen.fill((0,0,0))\nscreen.blit(shape.image,(100,100))\npygame.display.flip()\n
Run Code Online (Sandbox Code Playgroud)\n

python pygame polygon antialiasing

3
推荐指数
1
解决办法
5367
查看次数

Java密码NoSuchPaddingException

我对Java不太熟悉,所以这可能是一个nooby问题。我尝试使用Java加密进行一些实验,但是由于某种原因,我无法获得的实例Cipher。我总是NoSuchPaddingException在这行上,将填充更改为其他内容,如"/NoPadding"行不通:

Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
Run Code Online (Sandbox Code Playgroud)

即使Eclipse表示错误,尝试运行代码也会导致以下错误:

Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
Unhandled exception type NoSuchAlgorithmException
Unhandled exception type NoSuchPaddingException

at Encryption.main(Encryption.java:10)
Run Code Online (Sandbox Code Playgroud)

可能是什么问题呢?我必须导入某些东西吗?在当前代码中,我import javax.crypto.Cipherjavax.crypto.spec.SecretKeySpec

当我使用Jython时,代码会顺便工作。

java encryption aes

3
推荐指数
1
解决办法
2174
查看次数

查找图像中的闭合形状

我需要找到图像中所有闭合的形状并获取其坐标。我在Python中需要这个,但是对如何做到这一点的解释也足够了。如果需要,请随时使用Python代码回答。我已经在Google上进行了大量搜索,发现了以下两点:

第一个链接中的答案会绘制所有区域,而不是为我提供封闭区域的坐标。我不理解第二个链接中的第一个答案,有些评论说它不起作用。第二个链接中的第二个答案不适用于这样的图像:

一些形象

我也尝试制作自己的代码,但是计算所需的时间超过一秒,并且必须更快(不是真的,不是真的快,但至少要快于1/10秒)。

我如何找到这些区域?

PS:图像中有些线条不是闭合形状的一部分。

python image shape

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

标签 统计

python ×3

pygame ×2

aes ×1

antialiasing ×1

border ×1

encryption ×1

image ×1

java ×1

performance ×1

polygon ×1

shape ×1