負の数を使用してfillRect()
の逆の方向を使用しています。それは私のコンピュータではうまくいくが、友人は正しく動作しているとは見えない。私は何をしますか?負の数のfillRect()
page.fillRect (12, 12, -5, 10);
負の数を使用してfillRect()
の逆の方向を使用しています。それは私のコンピュータではうまくいくが、友人は正しく動作しているとは見えない。私は何をしますか?負の数のfillRect()
page.fillRect (12, 12, -5, 10);
あなたとあなたのfreindが2種類のJavaを使用していると思います。あなたのサポートは負の値で塗りつぶされ、あなたの支持者はそうではありません。 (またはsdk対jre)。
これは、アプレットがすべてのバージョンで実行されるように、これを別の方法で記述する必要があることを示しています。
xを-5に移動してみませんか?
あなたは、あなたとあなたの友人が使用しているOSは何
public void myfillRect(graphics page, int x, int y, int width, int height){
if(width <0)
x-=Math.abs(width);
if(height <0)
y-=Math.abs(height);
page.rectfill(x,y,Math.abs(width), Math.abs(height));
}
さて、それは棒グラフなので、私はそれが負の方向に向かいたいと思っています。 – Strawberry
私はそれを行うことができますソリューションを投稿します。矩形を後方にペイントするように求めるのではなく、単に前方にペイントするだけですが、さらに後ろからペイントすることで、同じ効果が得られます。別の問題がないのですか? –
あなた、私の友人、この緑のチェックマークを削除します。 – Strawberry
これには2つの考え方があります。
1つは、負の次元を持つポリゴンは無意味であり、レンダリングすべきではないということです。-10ピクセル幅の意味は何ですか?
もう1つは、負のディメンションは、そのディメンションの軸上のポリゴンを単に反転させることです。
ほとんどの塗装システムは後者のロジックを適用します。 Javaでのペインティングでの私の経験は、これまでは常にそうでしたが、私はしばしば負の次元を持っていなかったので、私の経験はそれほど重要ではないかもしれません。あなたは何ができるかについては
:
可能であれば、個人的には新しいJVMが必要です。
そうでなければ、私のお勧めのコードは次のようになります。また
public void fillRect(Graphics gc, int x, int y, int width, int height) {
if(width <0) { x+=width; width =-width; }
if(height<0) { x+=height; height=-height; }
gc.fillRect(x,y,width,height);
}
、あなたが他の描画操作のための同様の必要があることに注意してください。
最後に、動作が非常に驚くべきなので、私はこのすべてで別の間違いが疑わしいでしょう - 私は、最小限のテストプログラム、デバッグ出力、プリミティブのラップロードをラップする前に検証します。
それは実際に私の目標です。私はそれを逆にして反対方向に向かいます。 – Strawberry
私は負のピクセルをサポートしていないという論理はばかげていると思いますが、この例ではすべてのバージョンが同じであるとは限りません。 –
もっときちんとした方法でそれをしたい場合は? Javaのバージョンは? – Riduidel
私はWindowsを使用しています。私の友人はWindowsを使用しています。私の友人は最新のJavaを使用しています(彼はそれを見るために自分のコンピュータにインストールしなければなりませんでした)。私は日食を使っていた。それはうまくいったので、私は自分のウェブサイトにアップロードしました。ハードリフレッシュした後でも、クロムとFirefoxの両方で動作しました。 – Strawberry