私はPythonの初心者で、Pythonで写真を操作する方法を学ぼうとしています。以下のこのコードは、画像の鏡像を作成してから、それを白にフェードさせます。しかし、コードを実行すると次のエラーが発生しました。「エラーは次のとおりです。'int'および'function'不適切な引数タイプ。無効なタイプのパラメーターを使用して関数を呼び出そうとしました。これは、次のようなことを行ったことを意味します。整数を期待しているメソッドに文字列を渡そうとしています。」このエラーの原因がわからないので、サポートが必要です。
def blendWhite(pixcel, fadeAmount):
newRed = 255 * fadeAmount + getRed(pixel) * (1 - fadeAmount)
newGreen = 255 * fadeAmount + getGreen(pixel) * (1 - fadeAmount)
newBlue = 255 * fadeAmount + getBlue(pixel) * (1 - fadeAmount)
setColor(pixel, makeColor(newRed, newGreen, newBlue))
def copyAndMirrorCat():
catFile = getMediaPath("caterpillarSmall.jpg")
catPict = makePicture(catFile)
width = getWidth(catPict)
height = getHeight(catPict)
canvas = makeEmptyPicture(width, height * 2)
# Now, do the actual copying
for x in range(0, width):
for y in range(0, height):
color = getColor(getPixel(catPict, x, y))
setColor(getPixel(canvas, x, y), color)
h = height * 2
fadeAmount(y, h)
blendWhite(getPixel(canvas, x, (height * 2) - y - 1), fadeAmount)
show(catPict)
show(canvas)
return canvas
def fadeAmount(y, h):
fm = (h - y) / float(h) + 0.15
if fm > 1:
fm = 1
return fm
結果は次のようになります:http://imageshack.us/a/img442/326/mirrorlinearwithwhite.jpg