Download
Magazine
Develop
Account
Download
Magazine
Develop
Login
Forgot Account/Password
Create Account
Language
Help
Language
Help
×
Login
Login Name
Password
×
Forgot Account/Password
Category:
Software
People
PersonalForge
Magazine
Wiki
Search
OSDN
>
Find Software
>
Multimedia
>
Graphics
>
Samurai Graph
>
Ticket List/Search
>
Ticket #4374
Samurai Graph
Description
Project Summary
Developer Dashboard
Web Page
Developers
Image Gallery
List of RSS Feeds
Activity
Statistics
History
Downloads
List of Releases
Stats
Source Code
Code Repository list
CVS
View Repository
Ticket
Ticket List
Milestone List
Type List
Component List
List of frequently used tickets/RSS
Submit New Ticket
Documents
Communication
List of Forums
Help (6)
Open Discussion (122)
News
Ticket #4374
Ticket List
Submit New Ticket
RSS
異なる%表示でBBボタン後のグラフ位置が微妙に変わる
Open Date:
2004-05-29 19:45
Last Update:
2004-09-01 13:11
monitor
ON
OFF
Reporter:
orrisroot
Owner:
kuromaru
Type:
Bugs
Status:
Closed
Component:
(None)
MileStone:
(None)
Priority:
3
Severity:
5 - Medium
Resolution:
None
File:
None
Details
Reply
異なる%表示でBBボタン後のグラフが微妙にずれます.
たとえば,100% で BBを押し,75%表示してもう一度BBボタンを
押しなおすと,グラフの描画座標が微妙に変わる.
Ticket History (3/3 Histories)
2004-05-29 19:46
Updated by:
orrisroot
(Group change on Tracker)
2004-08-09 14:53
Updated by:
kuromaru
Owner
Update from
(None)
to
kuromaru
2004-09-01 13:11
Updated by:
kuromaru
Ticket Close date
is changed to
2004-09-01 13:11
Status
Update from
Open
to
Closed
Comment
Reply
Logged In: YES
user_id=9078
文字を指定されたフォント名・フォントサイズ・フォントスタイル
によって描画するには、java.awt.Font というクラスを用います。
今までは、Font クラスのインスタンスを作成するときに、属性と
して持っているフォントサイズに倍率を乗じて作成していました。
例えば、フォントサイズの属性で 20pt という値を持っている場合
には、倍率 50% のときには 0.5*20 = 10 pt の値を Font クラスの
コンストラクタの引数で渡して、Font クラスのインスタンスを作成
していました。
ところで、Font クラスには、文字列のバウンディングボックスを
求めるgetStringBounds というメソッドがあります。(引数で
文字列を渡します。)
実は、このメソッドを用いて、異なるフォントサイズで同じ文字列の
バウンディングボックスを求めた場合、得られた矩形のサイズ(横幅)
の比は、単純にフォントサイズの比に一致しません。例えば、10pt
のフォントから得られた、ある文字列の矩形の横幅が 100pt だった
場合、20pt のフォントから得られた同じ文字列の矩形の横幅は
丁度 200pt にはならず、1-5pt ほどずれてしまいます。
何故このようなことが起こるのかは Font クラスの内部での処理を
調べないと分かりませんが、結局はこれが原因で、グラフ内の
オブジェクトを配置するときに数ピクセルの誤差が生じていました。
解決策としては、バウンディングボックスを求めるときに用いる
Font クラスのインスタンス作成時にはフォントサイズに倍率を
乗ぜず、元の属性のフォントサイズで得られたバウンディング
ボックスのサイズに倍率を乗じるようにしました。こうすると
バウンディングボックスのサイズは倍率に比例しますので、誤差は
生じなくなり、倍率の変化に伴う微妙なずれは無くなります。
Attachment File List (
0
)
Attachment File List
No attachments
Edit
Add Comment
You are not logged in.
I you are not logged in, your comment will be treated as an anonymous post. »
Login
Add Comment
Preview
Submit
たとえば,100% で BBを押し,75%表示してもう一度BBボタンを
押しなおすと,グラフの描画座標が微妙に変わる.