그림의 크기를 반으로 줄이는 간단한 알고리즘을 쓰려고하는데, 나에게 의미가있는 것처럼 보입니다. 그러나 여기에 명백한 내용이 없을 것입니다. 누구든지 가리킬 수 있는지 궁금해하고 있습니다. 나 옳은 방향으로.JES 수축 알고리즘이 작동하지 않습니다.
a = pickAFile()
b = makePicture(a)
c = getWidth(b)
d = getHeight(b)
e = (c * 3)/4
f = (d * 3)/4
canvas = makeEmptyPicture(e,f)
sourceX = 1
for targetX in range (1, c):
sourceY = 1
for targetY in range (1, d):
color = getColor(getPixel(b, sourceX, sourceY))
setColor(getPixel(canvas, targetX, targetY), color)
sourceY = sourceY + 2
sourceX = sourceX + 2
show(canvas)
show(b)
EDIT : 지금 실행하려고하면 for 루프의 인덱스 범위를 벗어납니다.
JES는 무엇인지 모르겠지만 사진에 대해서는 많이 알지 못하지만, 홀수 좌표 (x 및 y 좌표)가있는 모든 원본 픽셀을 복사하여 새로운 그림 (대상 그림)을 만들고 싶습니다. 1,3,5, ...). 나는 e와 f가 대상 그림의 높이와 너비라고 생각한다. 대상 사진의 너비가 반쪽이고 높이가 절반 인 경우 왜 e = (c * 3)/4가 아닌 e = c/2 및 f = d/2입니까? targetX가 1에서 c로 실행되고 y 폼 1에서 d로 대상이되는 이유는 무엇입니까? 나는 targetX가 1에서 e (c/2에 관한 것)까지 실행되어야한다고 생각할 것이다. 하지만 관련 주제에 대한 지식이 부족한 것 같습니다. – miracle173
바운드가 아닌 정확한 오류 메시지는 무엇입니까? – miracle173