1

私のアプリでは、クライアントユーザーがいくつかの形状または線を描くことができ、これらの形状データをサーバーに送信してデータベースに保存する必要があります。形状は、クライアントで再度描画できるはずです。

私の問題は、形状を表す1つの効果的なデータ構造をどのように設計するかです。データ構造は、データベースへの転送と保存が簡単である必要があります。

ありがとう!

エディション:これらの形状には、規則的な形状(円など)と、ユーザーが自由に描画できる不規則な形状が含まれます。

4

1 に答える 1

0

ユーザーに形状を描画させる方法に依存すると思います。カーソルをキャンバス上で動かしているだけですか? その場合、数学的なことはあまりないので、cbranch のソリューションはおそらく良い方法です。オン/オフビットの配列である必要があります。ある種の圧縮技術を使用して最適化することもできます。

ただし、特定の描画方法 (たとえば、正方形ツール、円ツール、ベジェ ツール) を指定している場合、それらのそれぞれは、ピクセル データよりも効率的に格納できます。正方形は、次のような単純な構造として格納できます。

struct square {
    int x;
    int y;
    int length;
}

円:

struct circle {
    int x;
    int y;
    int radius;
}

ベジエ曲線:

struct bezier {
    int x1;
    int y1;
    int x2;
    int y2;
}

次に、画面に描画するときに、データから適切なタイプの形状を再作成するだけです。

于 2012-11-01T04:17:38.567 に答える