OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
締切り
済み

oval で真円を描画した場合

  • 暇なときにでも
  • 質問No.192837
  • 閲覧数157
  • ありがとう数2
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 0% (0/1)

はじめまして、marsh といいます。
fillOval で真円を描画した場合、ちらつき防止で
public void paint(Graphics g) {
update(g);
}

public void update(Graphics g) {
...
for(i = 0; i < 20; i++){
offG.fillOval(i*25, 20, i, i);
}
...

とやりますよね。
すると、真円にひずみができます。mac では真円のままなのに windows では、なんだか「おにぎり」のようになります。よい回避法はないでしょうか。
細かな点ではありますが、画面の印象がだいぶ変わってしまうのです。
お願いします。

marsh
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全1件)

  • 回答No.1

 お使いのWindowsマシンのCRTの調整(画面の縦横サイズ)が合っていないのかもしれませんよ。  正方形と、それに内接する真円を描いて確認してみてください。 ...続きを読む
 お使いのWindowsマシンのCRTの調整(画面の縦横サイズ)が合っていないのかもしれませんよ。

 正方形と、それに内接する真円を描いて確認してみてください。
補足コメント
marsh

お礼率 0% (0/1)

解答、ありがとうございます。
>お使いのWindowsマシンのCRTの調整(画面の縦横サイズ)が合っていない
それは、ありません。マックで描画したものをGIFファイルにして、アプレットの下に貼り付けてみましたが、GIFファイルは正常に表示されています。また、質問のところにも書きましたが、
void paint(Graphics g) {

で描画したものは歪んでいません。
実験に使ったものは下記のものです。
/*
* circles.java2001/12/26
*/

import java.awt.*;


public class circles extends java.applet.Applet {
Image offscr;
Graphics offG;


public void init() {
}

public void paint(Graphics g) {
update(g);
g.setColor(Color.red);
for(int i = 0; i < 20; i++){
g.fillOval(i*25, 40, i, i);
}
}

public void update(Graphics g) {
offscr = createImage(500, 100);
offG = offscr.getGraphics();

offG.setColor(Color.white);//make background
offG.fillRect(0, 0, 500, 100);
offG.setColor(Color.blue);
for(int i = 0; i < 20; i++){
offG.fillOval(i*25, 20, i, i);
}
g.drawImage(offscr, 0, 0, this);
offG.dispose();

}
}
投稿日時 - 2002-01-06 09:25:19


このQ&Aのテーマ
このQ&Aで解決しましたか?
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ