私は処理にまったく慣れていませんが、インタラクティブなマップを使用して Web ページを作成したかったのですが、これが唯一の/より簡単な方法のように思えました。
私は少し学びましたが、それは本当にクールですが、画像 (少なくとも SVG 画像) を描画するときの scale() と shape() 関数に問題があるようです。
行にコメントworldMap.scale(xScale, yScale);
を付けたり外したりして、次のコードを試しました。実際、私はさらに多くのことを試しましたが、マップを正しく取得することは不可能です. スケールを正しく取得しても、アラスカの一部が表示されません。
PShape worldMap;
float xScale;
float yScale;
void setup() {
size(900, 500);
worldMap = loadShape("https://upload.wikimedia.org/wikipedia/commons/e/e8/BlankMap-World6-Equirectangular.svg");
xScale = width / worldMap.width;
yScale = height / worldMap.height;
//worldMap.scale(xScale, yScale);
smooth(); // Improves the drawing quality of the SVG
noLoop();
}
void draw() {
background(255);
translate(0, 0);
// Draw the full map
shapeMode(CORNERS);
shape(worldMap, 0, 0, 900, 500);
//saveFrame("map output.png");
}
私が間違っていることは何か分かりますか?この「小さな」問題で何時間も無駄にしました。SOで解決策を探して読んだいくつかの投稿から、Processingのscale()関数に問題があることを示しているようですが、私の問題に対する答えを得ることができませんでした。