据我所知,这更像是一个算术问题,而不仅仅是一个编程问题,但它与我此刻试图解决的问题有关。另外,我不知道任何讨论数学或JES相关主题的好地方。
我遇到的问题是,对于单一任务,我们应该使用JES来绘制不同的国旗。标志可以是任何大小,由用户确定。根据旗帜上的星星图案和数量难以对旗帜进行评级。
无论如何,我试图绘制智利国旗,我遇到的唯一问题是如何计算明星应该是多少。
这是我用于缩放星形的功能:
def scaleStar(picture, scale):
# the starting X position is set to 0
sourceX = 0
# Calculates the scaled width and height of the picture as an integer
scaleWidth = int(getWidth(picture) / scale)
scaleHeight = int(getHeight(picture) / scale)
# Creates an empty picture with the scaled dimensions just calculated
scaledPicture = makeEmptyPicture(scaleWidth, scaleHeight)
# Begins the loop that goes through the entire picture and copies the
# pixel from the source to the target pixel
for scaleX in range(0, scaleWidth):
sourceY = 0
for scaleY in range(0, scaleHeight):
sourcePixel = getPixel(picture, int(sourceX), int(sourceY))
scaledPixel = getPixel(scaledPicture, scaleX, scaleY)
colour = getColor(sourcePixel)
setColor(scaledPixel, colour)
sourceY = sourceY + scale
sourceX = sourceX + scale
return scaledPicture
我知道这颗星的大小是整个旗帜的1/12。因此,对于比例参数,我尝试使用值12.这适用于300宽200高的旗图。但不适用于其他尺寸。我试过(高度*宽度)/ 12整个标志,但这只返回了一个值错误。在过去的3天里,我一直在玩这个代码,每当我想到答案时,明星的大小就会消失。
如果这是一个愚蠢的问题,我真的很抱歉,但如果有人对如何解决这个问题有任何建议,我将非常感激。如果您需要更多信息来提供帮助,请不要犹豫,问:)