Panzoom: Característica: Capacidade de definir um limite de pan ou limite de preenchimento

Criado em 23 jun. 2020  ·  4Comentários  ·  Fonte: timmywil/panzoom

Qual problema esse recurso resolve?

Descreva a solução que você gostaria
A capacidade de definir um limite de panorâmica para objetos sendo movidos
ie:
limiteRatioVertical = {0,8}
limiteRatioHorizontal = {0,8}

Descreva as alternativas que você considerou
O contain: 'inside' tem um estilo semelhante, mas preciso ser capaz de alternar entre os níveis de zoom enquanto mantenho o limite da proporção de preenchimento

feature votes needed

Comentários muito úteis

Obrigado por voltar para mim tão rapidamente.

Talvez eu não esteja entendendo contain: inside completamente. Tanto quanto eu entendo sua implementação: o nó panzoom não será mais capaz de fazer zoom além da caixa de retângulo de seu pai, mas eu quero que o usuário seja capaz de aumentar o zoom, contain: inside não está permitindo que meu objeto zoom além da janela de visualização.

Meu caso de uso: eu tenho um mapa histórico de grande resolução - que eu quero que o usuário seja capaz de se movimentar, é muito grande para ver todo o objeto, mas não quero que o usuário "perca o mapa" empurrando-o muito longe para um lado, que soa como contain: outside mas eu gostaria que eles tivessem controle total do zoom, para diminuir o zoom totalmente, mas para explorar mais aumentando o zoom.

Acho que o problema são as limitações que estou encontrando entre inside e outside

  • inside assume que a imagem é pequena o suficiente para caber na janela de visualização e tem alguns efeitos estranhos, caso contrário
  • outside assume que a imagem deve PELO MENOS ocupar toda a janela de visualização

onde eu poderia imaginar um contain: 'bounds' que permitiria o zoom e a panorâmica da imagem, e quando a imagem for maior que a janela de visualização e você chegar à borda ou canto, ela voltaria à respectiva borda

Todos 4 comentários

Obrigado por abrir um problema. Perdoe-me se entendi mal o recurso, mas isso não poderia ser feito adicionando um elemento de invólucro e usando contain: 'inside' ?

Obrigado por voltar para mim tão rapidamente.

Talvez eu não esteja entendendo contain: inside completamente. Tanto quanto eu entendo sua implementação: o nó panzoom não será mais capaz de fazer zoom além da caixa de retângulo de seu pai, mas eu quero que o usuário seja capaz de aumentar o zoom, contain: inside não está permitindo que meu objeto zoom além da janela de visualização.

Meu caso de uso: eu tenho um mapa histórico de grande resolução - que eu quero que o usuário seja capaz de se movimentar, é muito grande para ver todo o objeto, mas não quero que o usuário "perca o mapa" empurrando-o muito longe para um lado, que soa como contain: outside mas eu gostaria que eles tivessem controle total do zoom, para diminuir o zoom totalmente, mas para explorar mais aumentando o zoom.

Acho que o problema são as limitações que estou encontrando entre inside e outside

  • inside assume que a imagem é pequena o suficiente para caber na janela de visualização e tem alguns efeitos estranhos, caso contrário
  • outside assume que a imagem deve PELO MENOS ocupar toda a janela de visualização

onde eu poderia imaginar um contain: 'bounds' que permitiria o zoom e a panorâmica da imagem, e quando a imagem for maior que a janela de visualização e você chegar à borda ou canto, ela voltaria à respectiva borda

Isso soa como um comportamento único e não tenho certeza de como incluí-lo na biblioteca. Acho que você poderia vincular ao evento panzoomzoom e alterar a opção de contenção para 'fora' quando um limite for atingido. Eu costumava ter uma opção 'auto' para contain que alternava entre inside e outside dependendo do tamanho do elemento em relação ao contêiner. Quando menor do que o contêiner, seria definido como 'inside' , quando maior, 'outside' . Isso garantiria que a imagem pudesse ser ampliada, mas sempre visível. De qualquer forma, vou deixar isso na etiqueta de votos por enquanto.

@timmywil nos últimos dois dias, eu automaticamente tive essa ideia, alternar entre inside e outside , mas isso parece não funcionar como esperado, passando de {contain: outside} para {contain: inside} parece bloquear a imagem em uma posição e parece que zoomIn() e zoomOut estão vinculados à configuração de conteúdo, então eu não posso nem mesmo acionar um zoomOut a menos que eu mesmo o desencadeie. Avise-me se houver configurações que estou esquecendo.

Acho que são muitas palavras para dizer que contain: auto parece exatamente o que estou procurando hah

se houver uma votação para o recurso automático, ficarei feliz em apoiar isso :)

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

YuriGor picture YuriGor  ·  12Comentários

rpallares picture rpallares  ·  3Comentários

PrinceDhankhar picture PrinceDhankhar  ·  16Comentários

adred picture adred  ·  21Comentários

nich008 picture nich008  ·  14Comentários