単純に2分割ならPImage.get()
で、分けたPImageを持ってしまうのが楽そうです。
vertex
で歪んでしまうのは、引数の3,4個目の指定を勘違いしているのかもしれません。
textureMode(IMAGE)
の場合は、元イメージの対応する座標。
textureMode(NORMAL)
の場合は、右下を(1,1)とした割合。
textureMode() \ Language (API) \ Processing 3+
Processing
1PImage img;
2PImage leftImg;
3PImage rightImg;
4int HW;
5int H;
6
7void setup() {
8 size(400, 400, P2D);
9
10 img = loadImage("https://processing.org/reference/images/image_0.png");
11 HW = img.width / 2;
12 H = img.height;
13 leftImg = img.get(0, 0, HW, H);
14 rightImg = img.get(HW, 0, HW, H);
15}
16
17void draw() {
18 background(0);
19 image(img, 0, 0);
20
21 translate(0, H);
22 image(leftImg, 0, 0);
23 image(rightImg, mouseX, 0);
24
25
26 translate(0, H);
27
28 textureMode(IMAGE);
29 beginShape();
30 texture(img);
31 vertex(0, 0, 0, 0);
32 vertex(HW, 0, HW, 0);
33 vertex(HW, H, HW, H);
34 vertex(0, H, 0, H);
35 endShape();
36
37
38 translate(mouseX, 0);
39
40 textureMode(NORMAL);
41 beginShape();
42 texture(img);
43 vertex(0, 0, 0.5, 0);
44 vertex(HW, 0, 1, 0);
45 vertex(HW, H, 1, 1);
46 vertex(0, H, 0.5, 1);
47 endShape();
48}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/22 18:04