質問するログイン新規登録
Processing

Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

Q&A

解決済

1回答

3333閲覧

1つの画像を半分に分割させ、左右でそれぞれ自由に動かしたいです。

chanceman

総合スコア2

Processing

Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

1グッド

0クリップ

投稿2020/05/22 09:35

1

0

前提・実現したいこと

Processing3.5.4を使用しています。
1つの画像を分割して左右それぞれで拡大、縮小、形の変更をできるようにしたいです。

■■な機能を実装中に以下のエラーメッセージが発生しました。
エラーは起きていません

発生している問題・エラーメッセージ

まず1つの画像を分割できません。

エラーメッセージ

試したこと

vertexを使用し左右で一つの画像を表示させようとしましたが、右半分の画像が以上に歪んでしまいます。

補足情報(FW/ツールのバージョンなど)

Processing3.5.4
画像はインターネットから拾ってきました。(.jpg)

TN8001👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

単純に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 11:11

TN8001

総合スコア10180

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

chanceman

2020/05/22 18:04

回答ありがとうございます。 ご指摘の通りvertexの3,4番目の指定を勘違いしていました。 ご指摘ありがとうございます。 その他にも丁寧な解説感謝します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問