Mesa Digitalizadora

0 respostas
augusto_ab

…escrevi esse tópico a algum tempo atrás como segue…

http://www.guj.com.br/posts/list/53498.java

… bom agora que o problema foi resolvido passo a dica de como fiz, não sei se é a melhor maneira, mas por enquanto está servindo…

Eu desenvolvo uma ferramenta Cad/Cam, e nesse caso a precisão do desenho capturado a partir de uma mesa digitalizadora é fundamental, no mercado existem diversos tamanhos de mesas, e para cada tamanho a coordenada absoluta passada da mesa para o sistema é diferente.

Então, primeiro é preciso saber a resoluçao do monitor para transformar a medida desejada em pixels…

int resolution = Toolkit.getDefaultToolkit().getScreenResolution()

geralmente os monitores tem uma resoluçao de 96 DPI (densidade de pontos por polegada), então transformando isso em milimetros eu tenho:
96 / 25.4 = 3,779 DPmm (densidade de pixel por milímetro)…haa 1 polegada = 25.4 milimetros…

Bom agora o próximo passo é saber a proporção das coordenadas da mesa digitalizadora para o monitor, para isso, é necessário que o usuário faça um desenho com medidas conhecidas utilizando a mesa digitalizadora, no meu caso, uma lente circular de diâmetro 40mm.

pois bem… montei uma tela contendo um jPanel para receber o desenho e dois jTextField para o usuário informar a altura e a largura do objeto, o desenho vai sair com tamanho despropordional ao original na tela. O próximo passo é calcular a área do desenho da tela e a área da medida informada, como a área da medida informada está em mm é preciso tranformá-la em pixels.

então faça, no meu caso

a coordenada relativa entre a mesa e monitor fica

para saber a altura e largura da mesa fica, primeiro é preciso saber o tamanho da tela…

Dimension tela = Toolkit.getDefaultToolkit().getScreenSize();

a altura e largura da mesa fica

…é isso aí… espero que sirva p/ mais alguém… se não servir fica registrado para nossos netos… :smiley:

Criado 28 de março de 2007
Respostas 0
Participantes 1