我正在處理包含「毫米」中道路「長度」等數據的任務。並根據規範我的JFrame應該是4米×3米(如何將其轉換爲設備座標...?)。座標轉換困境,用戶座標到設備座標?
現在,我知道至少這個數據是真實世界的數據而不是設備的像素數據。但是,在找到幾個源之後,您可以通過Graphics2D類將這些數據實際轉換爲像素。
資源,我發現這些信息是,
核心的Java 2,第二卷 - 高級特性,作者 - 卡·S·霍斯特曼&加里·康奈爾
不過,我GOOGLE了實際的例子沒有運氣。
有沒有人知道任何來源,我可以閱讀更多關於此。如果你有任何例子說明某人實際上做了這樣的事情,那將會提供更多信息。
迄今爲止的研究:到目前爲止,我知道我們需要對以米爲單位的Graphics2D類像素數進行假設。在Graphics2D中有一種方法可以幫助你設定這個假設。方法是,
g2D.scale(pixelsPerMeter, pixelsPerMeter);
//And than I can draw a line with meter or millimetre coordinates
g2D.draw(new Line2D.Double(coordinates in meter));
我想上面的代碼,但真的很難畫線,我真的想。
任何理解的幫助將是非常有幫助的。
感謝
我喜歡這種方法,但可能需要[inverse transform](http://stackoverflow.com/questions/2244157/reverse-java-graphics2d-scaled-and-rotated-coordinates/2244285#2244285)。 – trashgod
這是接受你的回答TrashGod的好歷史,但我這次喜歡西蒙的方法。感謝您的幫助,但是我會更多地瞭解getNormalizingTransform(),看起來很有趣。 – doNotCheckMyBlog