/ / Escala de imagem por largura em ambas as direções, sem esticar o conteúdo no centro - libgdx, nine-patch, scene2d

Escala de imagem por largura em ambas as direções, sem alongar o conteúdo no centro - libgdx, nove patch, scene2d

Estou tentando definir uma largura maior para minha imagem, mas euprecisa que a parte central da imagem permaneça sem esticar. O NinePatch presume que os cantos não se alongem, mas eu quero algo semelhante para a parte central. Eu tentei definir duas colunas diferentes de pixels no editor ninePatch e assumi que seria simétrico escalado em ambas as partes, mas leva em consideração apenas a primeira parte, então eu acho que o sistema libgdx ninepatch não permite fazer isso. Alguma ideia de como resolver o problema da maneira mais conveniente?

Respostas:

0 para resposta № 1

Não há equivalente de nove manchas que permita esticar uma imagem sem esticar uma parte central definida.

A solução mais simples que vejo é usar 2 imagens uma em cima da outra.

  • A imagem superior: corresponde à parte central da imagem final. Você o definirá com as dimensões que deseja que apareça.
  • A imagem inferior: corresponde às bordas de sua imagem final. Então, basicamente, será sua imagem final, na qual você substitui a parte central por um branco. Esta imagem inferior será esticada.

Ao combinar essas 2 imagens, você criará a ilusão de uma imagem que se estende, mas com um centro que mantém um tamanho constante.