1

シナリオ: Web ページ (ミラーと受信機の長方形のセット) で太陽光発電所のフィールド構成を複製する必要があります。c#.net を使用して、指定された X、Y、幅、および高さのパラメーターを使用して、Web ページに四角形を動的に追加する必要があります。X、Y フルページ グラフとして、ユーザー入力の四角形の座標セットを受け取ります。例: (-42.34,-240.34,2.25,16.65) (10.34,-140.34,10.25,5.65)

ユーザー入力から受け取った座標は、負の座標も含む X & Y フルページ グラフに関連しています。ただし、DrawRectangle は X と Y の値を正の整数値としてのみ受け入れます。

私の質問は、Web ページのユーザー入力 X & Y 座標 (-ve & +ve) とフロート幅の値を整数に関連付けるにはどうすればよいですか?

Int に変換しようとすると、長方形が重なっているか、まったく表示されません。長方形の入力値のセットはより近く、点の値のみが異なります。

4

1 に答える 1

2

目的を考えると (必要な Graphic.DrawRectangle を無視して)、最善の策は SVG を使用することです。SVG 形式は、実際には必要な画像を記述する XML ファイルであるため、サーバー側で生成し、テキストとして (クリントまたはサーバーのいずれかに) キャッシュすることができます。また、SVG はベクトル グラフィックス (名前が示すように*) を使用します。任意の解像度を許可します。

*: SVGは Scalable Vector Graphics の略です。

開始するには、SVG の 3w.org にあるこのチュートリアルをお勧めします。


SVG の例を次に示します。

HTML のインライン SVG

index.html

<!DOCTYPE html>
<html>
    <head>
        <title>SVG test</title>
    </head>
    <body>
        <svg xmlns="http://www.w3.org/2000/svg" version="1.1">
            <rect x="10" y="10" width="50" height="30" />
        </svg>
    </body>
</html>

img 要素の SVG

長方形.svg

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
    <rect x="10" y="10" width="50" height="30" />
</svg>

index.htm

<!DOCTYPE html>
<html>
    <head>
        <title>SVG test</title>
    </head>
    <body>
        <img src="rectangle.svg" alt="rectangle" />
    </body>
</html>

2 番目のオプション (別ファイル) をお勧めします。これはワーキング ドラフトであり、十分にサポートされているワーキング ドラフトであることに注意してください。そのため、ブラウザの互換性を確認してください。

SVG テキストを直接出力したくない場合もあります。その場合は、Drawing SVG in .NET/C#? を確認してください。ここ、StackOverflow で。

于 2012-10-16T23:14:26.653 に答える