Проблема с копированием одного изображения полностью в другое в JES - PullRequest
0 голосов
/ 01 ноября 2018

Для моего задания мы должны скопировать фотографию нашего кампуса на чистое белое изображение, а затем сделать 2 разных шакалопа, поменяв местами рога и уши на антилопе и кролике. Первым шагом, который я выбрал, было копирование кампуса GCU на белое изображение. Моя программа загружается и запускается, но когда она показывает новый холст со скопированными пикселями, она отображает только нижний правый угол кампуса GCU, скопированный в верхний левый угол холста (все еще в основном пустой). Я попытался переключить цель и источник. Я попытался вручную ввести высоту и ширину пикселя для кампуса вместо использования getHeight \ Width. Я просто скопировал пример кода и подключил свои переменные, но он все еще не работает. Любая помощь будет принята с благодарностью. Вот мой код:

setMediaPath()

lopefile= getMediaPath("antelope.jpg")
lope= makePicture(lopefile)
jackfile= getMediaPath("jackrabbit.jpg")
jack= makePicture(jackfile)
GCUfile= getMediaPath("campus.jpg")
GCU= makePicture(GCUfile)
canvasfile= getMediaPath("canvas.jpg")
canvas= makePicture(canvasfile)

#this will copy the GCU picture to the blank canvas for the background
def makeBackground():
  targetX = 0
  for sourceX in range(0,getWidth(GCU)): 
    targetY = 0 
    for sourceY in range(0,getHeight(GCU)):
      color = getColor(getPixel(GCU,sourceX,sourceY))
      setColor(getPixel(canvas,targetX,targetY), color)
      targetY = targetY + 1
    targetX = targetX + 1 
  show(canvas)
  return (canvas)

makeBackground()

1 Ответ

0 голосов
/ 02 ноября 2018

Так что проблема была с изображением, на которое я пытался скопировать. Я не уверен, почему это вызывает проблемы, но я экспериментировал с решениями и обнаружил, что использование другого пустого белого изображения позволило программе скопировать всю фотографию GCU. Я выбрал холст, более близкий по размеру к копируемому изображению, и это лучший выбор для того, что было другим. Спасибо.

...