2014-04-08 8 views
0

그래서 자르기를 시도하고 그림을 보여주고 싶을 때마다 그림이 화면 크기만큼 커야하고 지금까지는이 코드 조각이 있지만 이미지 크기가 매번 변경되며 API에 따라 전체 화면이어야합니다?처리 중 image() function

PImage img; 
PImage temp; 

void setup() { 
    size(800, 600); 
    img = loadImage("genevieve-bjargardottir1.jpg"); 
    frameRate(5); 
} 

void draw() { 
    background(0); 
    text(frameRate, 10, 20); 

    int x, y, xx, yy; 
    x = (int)random(width); 
    xx = (int)random(width); 
    y = (int)random(height); 
    yy = (int)random(height); 

    temp = img.get(x, y, xx, yy); 

    image(temp, 0, 0, width, height); 

} 

나는 마지막 줄 생각 :

image(temp, 0, 0, width, height); 

전체 창으로 내 자른 이미지를 표시 할 것입니다. 시작점은 0 0으로 설정되고 끝은 현재 창 크기의 너비와 높이를 나타냅니다.

답변

1

는 나는 내가 가진 부분이 전체 화면에 표시 될 것으로 예상 다음 코드 :

PImage img; 
PImage temp; 
float prop; 

void setup() { 
    while (img == null) { 
    img = loadImage("http://xaxor.com/images/Genevieve-Bjargardottir/Genevieve-Bjargardottir1.jpg"); 
    } 

    prop = (float)img.width/(float)img.height ; 

    size(800, int(800/prop)); 

    frameRate(1); 
} 


void draw() { 

    float pw = random(img.width); 
    float ph = pw/prop; 


    int x, y; 
    x = int(random(img.width - pw)); 
    y = int(random(img.height - ph)); 

    // scaled piece 
    temp = img.get(x, y, int(pw), int(ph)); 
    image(temp, 0, 0, width, height); 

    //full pict 
    image(img, 0, 0, img.width/6, img.height/6); 
    noFill(); 
    stroke(255); 

    //croped piece 
    rect(x/6, y/6, pw/6, ph/6); 
} 
+0

그게 바로 내가 원했던 것, 잘 보이는 v.k., 고마워요! –

1

각 프레임 (초당 5 회)의 임의의 부분을 가져온 다음 이미지의 일부인 을 전체 창의 크기로 표시합니다. 당신은 무엇을 기대 했습니까? @Kevin 노동자의 조언을 읽는

+0

함께했다,하지만 당신은 사용하지 않는 –

+0

발생하지 않습니다 전체 화면 창. 800x600 크기의 창을 사용 중입니다. 너비와 높이 변수는 화면의 크기가 아닌 창의 크기를 알려줍니다. –

+0

예, 죄송합니다. 창을 의미했습니다. 이미지를 전체 창에 표시하고 싶습니다. –