A configuração do site `min ratio to crop` deve respeitar a proporção w/h definida no markdown

Imagens com alta proporção largura/altura não respeitam o tamanho definido manualmente na postagem (a prévia do editor mostra o tamanho correto; ao enviar a postagem, o tamanho está correto brevemente, mas é redimensionado para a largura da tela)

![image|50x50](upload://dO5YfHKxcWVcelI12ypCQpOhc3A.png)

![image|50x50](upload://dBlV2poMFtso5zGLgXpcBraTVxg.png)

2 curtidas

Ao longo dos anos, tivemos alguns tópicos sobre imagens altas (alta proporção entre altura e largura). Pelo que sei, o comportamento padrão é exatamente o que você está encontrando. Existe uma configuração do site para alterar isso:

3 curtidas

Isso realmente seria o caso, se a imagem fosse inserida sem o redimensionamento manual.

Meu problema não é querer que a imagem seja exibida no seu tamanho padrão (com altura maior que a largura), mas sim dimensionada conforme os parâmetros inseridos manualmente (observe que o tamanho está definido como 50x50 para ambas as imagens, mas apenas uma é respeitada).

Ainda acredito que isso seja um bug, pois a imagem não foi inserida com o tamanho automático definido pelo sistema (e depois ajustado de acordo com as configurações do site). O sistema, na verdade, não respeitou o tamanho que foi inserido intencionalmente manualmente.

2 curtidas

Entendi o que você disse: eu disse que esse é o comportamento padrão, conforme meu entendimento.

Em outras palavras, você não cortou manualmente o tamanho da postagem salva. Acho que não é possível fazer isso, mas alguém da equipe pode confirmar.

Veja a postagem a seguir, que explica como o redimensionamento é tratado, e você verá que definir as medidas de altura e largura não funcionará, a menos que sejam as dimensões reais:

1 curtida

Com respeito, acredito que não seja esse o caso. Talvez eu não tenha explicado direito, então vou tentar novamente:

  • a imagem original em questão tem uma baixa proporção de largura/altura em pixels (isso não é contestado)
  • se a imagem for inserida diretamente no editor, ela será dimensionada com largura e altura automáticas em markdown, assim: ![image|164x500](upload://), e manterá a mesma baixa proporção de largura/altura, sendo exibida de acordo com o min ratio to crop
  • mas, quando a imagem é redimensionada manualmente em markdown como ! [image|50x50](upload://): essa nova proporção de largura/altura é 1, e portanto não deveria acionar a configuração do site min ratio to crop.

A imagem original não pode ser recortada, pois todas as informações que ela contém são importantes; o resultado desejado é criar uma miniatura pequena de 50x50 que aponte para a original.

A questão, devidamente reescrita, é, portanto:

A configuração do site min ratio to crop deve respeitar a proporção de largura/altura definida no markdown em vez da proporção física de pixels.

@dax, isso foi movido de bug para Support. Devo abrir um novo tópico em bug ou editar a mensagem original neste?

3 curtidas

A questão reescrita parece correta. Mas, se você tivesse lido os tópicos que vinculei, entenderia por que provavelmente não terá muita adesão.

A configuração do site foi desenvolvida para impedir que indivíduos a sobrescrevam, enquanto você deseja fazê-lo. Em vez disso, a configuração do site deve ser alterada o suficiente para tornar a proporção da imagem aceitável para redimensionamento.

Em outras palavras, imagens excessivamente alongadas não são aceitas por padrão e devem ser explicitamente permitidas pelo administrador do site. Usuários individuais não podem sobrescrever isso.

1 curtida

Como seria essa miniatura? Usando seu exemplo de 50x50, vejo três opções:

  • O topo/rodapé da imagem é recortado para tornar a miniatura um quadrado perfeito de 50x50.
  • Os lados esquerdo/direito teriam preenchimento preto (ou similar) para que você veja a imagem “completa” na proporção original dentro da miniatura de 50x50.
  • A imagem é esticada para que a imagem completa (mas distorcida) ocupe um quadrado perfeito de 50x50.

Há outra opção que não estou vendo?

Por favor, verifique a OP: a primeira imagem foi redimensionada para 50x50, e a forma como isso foi feito está correta e deve funcionar para qualquer proporção (creio que ela recorta a imagem do topo centro com largura total e altura ajustada conforme a proporção declarada, e então redimensiona).

O problema é que, para imagens que têm uma baixa proporção de pixels de largura/altura, mas uma proporção de tela definida manualmente aceitável, a configuração global não deve ser aplicada.

A proporção definida manualmente deve ter precedência, pois essa configuração visa evitar que a imagem domine uma grande parte da tela (devido à sua altura), o que claramente não acontece em 50x50.

Sim, vi isso. Mas parecia contradizer sua outra afirmação:

Relendo, percebo que você disse que a original não deveria ser recortada. Pelo que sei, a imagem original nunca é recortada, então não há nada com o que se preocupar nesse aspecto.

De qualquer forma, concordo com sua preocupação/sugestão geral. O motivo declarado para mostrar apenas imagens parciais é evitar que imagens com alta proporção entre altura e largura dominem a página. Ao definir as dimensões para algo como 50x50 no seu exemplo, isso obviamente não é o caso. Portanto, não há motivo para ignorar as dimensões especificadas no markdown.

1 curtida

Não faço parte da equipe do Discourse, então estou apenas repetindo o que vi.

Existiu mais de um motivo apresentado para o padrão atual. Os motivos que lembro de ter visto aqui são:

  • fornecer controle desse recurso ao proprietário do site
  • evitar que imagens alongadas dominem a página ocupando muito espaço verticalmente
  • evitar que imagens alongadas se tornem faixas horizontais ou quebras
  • fornecer pré-visualizações legíveis
  • desencorajar imagens incomuns e não otimizadas (incluindo imagens alongadas), que às vezes são causadas por esticamento não intencional em uma dimensão

Há também o problema com a pré-visualização do editor, que faz parecer que você pode redimensionar manualmente a imagem exibida. Isso já foi relatado antes, mas aparentemente não foi considerado uma prioridade para corrigir:

Acho que você está perdendo o ponto. Por que uma imagem de 200x1000 especificada como 200x200 em markdown deveria ser tratada de forma diferente de uma imagem de 200x300 também especificada como 200x200 em markdown?

1 curtida

Não estou ignorando o ponto, pois não estou defendendo nem contra a mudança do padrão. Repito que estou apenas relatando o que já existe no fórum. Não faço parte da equipe do Discourse, então não tenho nenhum papel na decisão do que acontecerá.

A única opinião que expressei é que considero improvável que haja alguma mudança no padrão atual. Após cinco anos lendo quase todos os novos tópicos neste fórum, estou muito mais confortável com a forma como a equipe toma decisões. No momento, a falta de contribuição da equipe do Discourse é reveladora.

Talvez devêssemos dar um espaço para a equipe responder, já que isso saiu de um simples relatório de bug e virou um artigo de opinião totalmente fora do tópico.

Esse espantalho já foi discutido até a exaustão; talvez seja hora de deixá-lo descansar?

Ninguém aqui está argumentando que esse padrão precisa ser alterado; na verdade, ele é bastante sensato como está:

O que estou argumentando é que min ratio to crop deve operar apenas usando as dimensões definidas no próprio post, e não as do arquivo físico.

Se a imagem com baixa proporção largura/altura for redimensionada manualmente dentro do post, ela certamente não dominará mais a discussão, não é?

E antes que surja a pergunta sobre por que isso constitui um bug:

É porque não consigo formatar apenas um subconjunto específico de imagens, que dominariam a discussão se deixadas sem formatação, criando assim um impasse.

Se você ainda não acredita que essa configuração quebra a funcionalidade esperada, tente redimensionar a segunda imagem do OP para 50% usando a ferramenta de escala do compositor.

O resultado é que todas as imagens no post podem ser reduzidas para metade da largura, exceto as altas e estreitas.

1 curtida

Isso não é um bug, pois se trata do comportamento normal e padrão do Discourse. É uma limitação conhecida por design. Além disso, existe uma configuração do site que permite o que você deseja, e é prerrogativa do proprietário do site remover essa restrição.

Existem configurações do site para tamanhos de imagem, extensões de arquivo, etc., que recebem solicitações semelhantes para alterar o padrão. Não são bugs se você só precisa solicitar ao proprietário do site que tente alterar uma configuração.

Isso não é um bug. Se você reverter para ‘bug’, verá de forma bastante abrupta que não será mais bem-vindo aqui.

2 curtidas

Oi Jeff, obrigado por se interessar por essa questão.

Posso garantir que eu não recategorizei (e nunca recategorizaria) este tópico depois que ele foi movido para outra categoria por um membro da equipe (por favor, note que a recategorização de volta para a categoria de bug não foi feita por mim). Estou bastante satisfeito em chamar isso de solicitação de recurso.

Meu objetivo ao postar aqui foi expor o problema que estou enfrentando no uso regular do software e solicitar uma resposta da equipe.

De forma alguma estou exigindo algo, nem mesmo uma resposta, mas gostaria, pelo menos, de ser ouvido pela equipe (e não apenas descartado várias vezes seguidas pelo mesmo — sem dúvida bem-intencionado — membro deste fórum com o mesmo argumento, que não aborda totalmente a questão).

Espero que você tenha conseguido ler todo o tópico e esteja familiarizado com a questão, mas, apenas para maior clareza, aqui está o resumo:

  • nem todas as imagens podem ser definidas para o tamanho desejado usando markdown (comportamento inesperado do ponto de vista do usuário)
  • isso é governado por min ratio to crop, que usa a proporção de pixels de largura/altura da imagem, mesmo quando a imagem é redimensionada manualmente via markdown para uma proporção de largura/altura aceitável
  • se não for um investimento excessivo, seria possível usar a proporção de largura/altura definida no markdown?

Isso resolveria o comportamento inesperado de dimensionamento de imagens como este (todas as imagens definidas para 50x50):

Clique para ampliar
Clique para ampliar
Clique para ampliar
Clique para ampliar

Obrigado pela sua consideração e, mais uma vez, obrigado a toda a equipe por todo o esforço dedicado a essa maravilhosa peça de software!

7 curtidas

Não tenho certeza de quão complexo seria alterar isso, mas eu também gostaria de ver essa funcionalidade.

Geralmente, esbarro nisso quando estou postando uma captura de tela da interface… quando você redige uma postagem, não há nenhuma indicação de que a imagem será cortada, então acabo postando, vendo a imagem recortada e, em seguida, editando a postagem para evitar o corte. Algumas vezes, tentei editar as dimensões no markdown, mas, claro, isso não funciona… então, no final, volto atrás, recorto a imagem e a reenvio.

8 curtidas

@zogstrip, o que você acha de


    if crop
      cropped_width, cropped_height = ImageSizer.crop(original_width, original_height)

      if cropped_width < width
        width = cropped_width
        img["width"] = width
      end

      if cropped_height < height
        height = cropped_height
        img["height"] = height
      end
    end

em vez do atual:

Certamente é menos surpreendente do que o comportamento atual e deixaria o @awesomerobot feliz. A única inconveniência real que consigo ver é que esse teste é muito, muito, muito mockado.

Se você gostar, fique à vontade para fazer o commit.

7 curtidas

Sugerindo uma pequena alteração:

Alterar uma dimensão e não a outra pode resultar em algumas… estranhezas

2 curtidas

Pelo que consigo ver, ele faz uma correção da proporção depois, pelo menos no dev.

5 curtidas