| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/06/2010 09:21:47
|
groff
Debugger
![[Avatar]](/images/avatar/491bf9a4259930aa7a779d25dae4fb09.jpg)
Membro desde: 29/03/2009 02:56:24
Mensagens: 60
Offline
|
Boa tarde a todos,
To criando esse tópico para ver se alguém da uma explicada de como funciona a questão do zoom em imagens e de como fazer essa função, se tem modos diferentes de fazer.
Quem souber algo sobre esse assunto posta aqui para poder ta passando pro pessoal.
Abraço a todos.
This message was edited 4 times. Last update was at 09/07/2010 08:42:14
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/06/2010 16:52:00
|
groff
Debugger
![[Avatar]](/images/avatar/491bf9a4259930aa7a779d25dae4fb09.jpg)
Membro desde: 29/03/2009 02:56:24
Mensagens: 60
Offline
|
Ajuda aí gente, fazendo favor!!!
This message was edited 2 times. Last update was at 18/06/2010 15:56:40
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/06/2010 15:55:56
|
groff
Debugger
![[Avatar]](/images/avatar/491bf9a4259930aa7a779d25dae4fb09.jpg)
Membro desde: 29/03/2009 02:56:24
Mensagens: 60
Offline
|
Você tem uma imagem na web, quando o usuário clicar na imagem com a função de zoom in/out, será verificado o ponto X e Y da onde o usuário clicou.
Apartir desses dois pontos, de alguma maneira se pega essa imagem nesse ponto e redesenha ela maior ou menor.
Seria algo desse tipo? Será que alguem poderia me responder se ta certo isso?
E se tiver alguém tem como me dar uma luz de como fazer isso.
Eu consigo pegar o ponto x e y da onde eu cliquei na imagem. O que eu nao to conseguindo é imaginar como eu vou redesenhar a imagem naquele ponto aumentando ou diminuindo o tamanho dela.
Aguardo uma resposta.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/06/2010 16:29:07
|
Marky.Vasconcelos
Moderador
![[Avatar]](/images/avatar/04940fadf3702cbd84b7a48161037c4f.png)
Membro desde: 11/04/2007 18:18:20
Mensagens: 5932
Localização: São Paulo/SP
Offline
|
Voce tem o AffineTransform da classe Graphics2D para fazer isso.
Ou então simplesmente recortar o Graphics e desenhar em uma area maior ou entao pegar tudo e desenhar em uma area menor. Mas desse jeito voce vai ter muita perda de qualidade.
|
Facebook @MarkyHitchhiker +Mark WP: MarkyTech's
Projects:
Android Roadmap - Aprenda Android do inicio (Java é o unico pre-requisito)
Towel ( ObjectTableModel & Swing & Utils )
Tower Defense Game - Java2D [Open-Source] [How-to-play]
EVGD: Programação de jogos (links) Ponto V! - Desenvolvimento de jogos para indies, curiosos e profissionais
DefaultTableModel?! PARE! Não faça isso! Faça melhor!
Dicas: Faça perguntas inteligentes! ; MigLayout ; GridBagLayout (Joke)
Develop games is fantastic, with words you can make worlds!!!
DON'T PANIC!
MarkyHitchhiker's Blog! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/06/2010 17:09:54
|
groff
Debugger
![[Avatar]](/images/avatar/491bf9a4259930aa7a779d25dae4fb09.jpg)
Membro desde: 29/03/2009 02:56:24
Mensagens: 60
Offline
|
Mark_Ameba, to tentando usar o AffineTransform aqui.
Já vi que com ele consigo mudar a escala, o que faz ele aproximar a imagem.
Mas é nessa escala que eu devo colocar o X e Y do clique do mouse?
E como usar um AffineTransform com uma BufferedImage?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/06/2010 17:01:29
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20578
Localização: Curitiba/PR
Online
|
Geralmente, basta setar o AffineTransform antes de começar o desenho na sua tela e pronto. Tudo fica com zoom.
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/06/2010 17:16:36
|
groff
Debugger
![[Avatar]](/images/avatar/491bf9a4259930aa7a779d25dae4fb09.jpg)
Membro desde: 29/03/2009 02:56:24
Mensagens: 60
Offline
|
Mesmo eu usando uma imagem que ta no meu computador???
Dá uma olhada no meu código e me fala qq eu tenho que fazer pq não to conseguindo meesmo...
Já to a quase 3 semanas empacado nesse zoom e não me desce que isso seja tão complicado.
Me fala aonde eu devo colocar o Affine, pq ja to ficando pirado com isso huauhahuahua
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/06/2010 17:18:38
|
Marky.Vasconcelos
Moderador
![[Avatar]](/images/avatar/04940fadf3702cbd84b7a48161037c4f.png)
Membro desde: 11/04/2007 18:18:20
Mensagens: 5932
Localização: São Paulo/SP
Offline
|
JImagePanel é o painel que o ViniGodoy criou certo?
Anyway.. voce vai precisar alterar no método paintComponent dele para setar o AffineTransform no Graphics2D e então desenhar a imagem.
|
Facebook @MarkyHitchhiker +Mark WP: MarkyTech's
Projects:
Android Roadmap - Aprenda Android do inicio (Java é o unico pre-requisito)
Towel ( ObjectTableModel & Swing & Utils )
Tower Defense Game - Java2D [Open-Source] [How-to-play]
EVGD: Programação de jogos (links) Ponto V! - Desenvolvimento de jogos para indies, curiosos e profissionais
DefaultTableModel?! PARE! Não faça isso! Faça melhor!
Dicas: Faça perguntas inteligentes! ; MigLayout ; GridBagLayout (Joke)
Develop games is fantastic, with words you can make worlds!!!
DON'T PANIC!
MarkyHitchhiker's Blog! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/06/2010 17:24:37
|
groff
Debugger
![[Avatar]](/images/avatar/491bf9a4259930aa7a779d25dae4fb09.jpg)
Membro desde: 29/03/2009 02:56:24
Mensagens: 60
Offline
|
Isso mesmo, é a classe do Vini...fazendo umas pesquisas acabei achando ela e que por sinal me ajudou muito.
Vlw pela grande ajuda Vini.
Agora, seria isso que vc quis dizer Mark
Acrescentei no código do Vini as linhas 4 e 6.
Seria isso?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/06/2010 17:38:22
|
Marky.Vasconcelos
Moderador
![[Avatar]](/images/avatar/04940fadf3702cbd84b7a48161037c4f.png)
Membro desde: 11/04/2007 18:18:20
Mensagens: 5932
Localização: São Paulo/SP
Offline
|
Sim, voce só precisa passar os parametros pra essa classe agora.
Da uma olhada o que é possivel fazer.
http://java.sun.com/j2se/1.4.2/docs/api/java/awt/geom/AffineTransform.html
|
Facebook @MarkyHitchhiker +Mark WP: MarkyTech's
Projects:
Android Roadmap - Aprenda Android do inicio (Java é o unico pre-requisito)
Towel ( ObjectTableModel & Swing & Utils )
Tower Defense Game - Java2D [Open-Source] [How-to-play]
EVGD: Programação de jogos (links) Ponto V! - Desenvolvimento de jogos para indies, curiosos e profissionais
DefaultTableModel?! PARE! Não faça isso! Faça melhor!
Dicas: Faça perguntas inteligentes! ; MigLayout ; GridBagLayout (Joke)
Develop games is fantastic, with words you can make worlds!!!
DON'T PANIC!
MarkyHitchhiker's Blog! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/06/2010 18:08:29
|
groff
Debugger
![[Avatar]](/images/avatar/491bf9a4259930aa7a779d25dae4fb09.jpg)
Membro desde: 29/03/2009 02:56:24
Mensagens: 60
Offline
|
Blz Mark,
Coloquei a linha 6 desse código abaixo.
e na hora de desenhar ele me retornou a imagem aproximada.
Abaixo ta a imagem normal
e abaixo ela usando o código acima com a linha acrescentada.
Agora, como eu faço pra dar esse zoom de acordo com o local aonde o usuário irá clicar???
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/06/2010 19:21:42
|
lina
Moderador
![[Avatar]](/images/avatar/8849f0a976aa5332853e848655a1d28f.jpg)
Membro desde: 23/12/2006 21:05:04
Mensagens: 3083
Offline
|
Oi,
Posso estar falando besteira, mais acredito que agora precisa ser pego a posição ou localidade do ponteiro do seu mouse e usa-las no método de imagem.
Algo como:
Como lhe falei por mp, estou sem eclipse e não sei se esses são os métodos certos.
Tchauzin!
|
Você é novo no GUJ? Vai criar um tópico e colar seu código-fonte? Leia aqui antes, por favor!
http://www.guj.com.br/posts/list/50115.java
Se o seu tópico foi respondido e você está satisfeito, segue:
- Pressione o botão <Edit> de seu primeiro post
- Acrescente no final do título a tag [RESOLVIDO]
@gujgirl
http://www.restartfans.hdfree.com.br
Meu blog:
http://www.runthecode.wordpress.com
Tchauzin! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/06/2010 01:45:53
|
groff
Debugger
![[Avatar]](/images/avatar/491bf9a4259930aa7a779d25dae4fb09.jpg)
Membro desde: 29/03/2009 02:56:24
Mensagens: 60
Offline
|
Vlw Lina,
Vou testar amanhã e espero que o pessoal ai possa me dizer tbm se são esses os métodos para se usar...
Eu tava tentando isso através de pegar o ponto aonde eu clico com o mouse.
Pegar o X e o Y.
Só não to conseguindo ligar esse ponto aonde eu clico com o zoom.
Alguém sabe como???
Agradecendo desde já a ajuda de todos.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/06/2010 08:56:03
|
lina
Moderador
![[Avatar]](/images/avatar/8849f0a976aa5332853e848655a1d28f.jpg)
Membro desde: 23/12/2006 21:05:04
Mensagens: 3083
Offline
|
OI,
A ação do botão <Zoom In> você terá que realiza-la em seu evento mouseClicked:
Tchauzin!
|
Você é novo no GUJ? Vai criar um tópico e colar seu código-fonte? Leia aqui antes, por favor!
http://www.guj.com.br/posts/list/50115.java
Se o seu tópico foi respondido e você está satisfeito, segue:
- Pressione o botão <Edit> de seu primeiro post
- Acrescente no final do título a tag [RESOLVIDO]
@gujgirl
http://www.restartfans.hdfree.com.br
Meu blog:
http://www.runthecode.wordpress.com
Tchauzin! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/06/2010 09:51:05
|
groff
Debugger
![[Avatar]](/images/avatar/491bf9a4259930aa7a779d25dae4fb09.jpg)
Membro desde: 29/03/2009 02:56:24
Mensagens: 60
Offline
|
Certo, no meu código ta da seguinte forma, tenho essa classe que passei acima e tenho uma classe chamada Mouse, aonde ela da um implements MouseListener.
Nessa classe mouse tem os métodos mouseClicked, mousePressed, etc.
Como vcs viram no meu código acima, tenho um objeto da classe mouse e meu JImagePanel ta ouvindo as funções do mouse.
(nesse código acima coloquei que o JPanelSul tbm ouve, mas era só para fazer um teste aqui.)
Então quando eu clico na imagem que ta carregada nesse meu JImagePanel, ele me passa as informações de X e Y.
A função desse botão ZoomIn ainda não ta desenvolvida hehehe...
Esse botão eu criei pra fazer da seguinte forma. Quando eu clicar nele, o ponteiro do mouse vai virar uma lupa e só quando o usuário clicar no mapa que da o zoom.
Vou criar o botão de Zoom Out depois tbm, mas por enquanto tenho que descobrir como dar o zoom nos pontos X e Y.
Enfim...
O que ta faltando é saber essa função do botão zoomIn, de clicar nele e só dar o zoom quando o usuário clicar no mapa.
Alguém sabe dizer juntar AffineTransform com os pontos X e Y do clique do mouse????
|
|
|
 |
|
|