@gilsones 4 Denunciar post Postado Fevereiro 3, 2012 Tenho uma imagem de w640 x h480, e suponhamos que dentro dela tenho outra imagem com w400 x h100 que se encontra na posição topo(y)= 100 e esquerda(x)= 50. Ao redimensionar a primeira imagem (isso já está pronto), preciso que a imagem de dentro também seja redimensionada "proporcionalmente", ou seja, preciso calcular novos valores de W, H, X e Y da imagem secundária (imagem de dentro) para que fique como a imagem abaixo: Alguém consegue me ajudar? Sou péssimo em cálculos <_< Obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Fevereiro 3, 2012 Eu também não sou muito bom de cálculos, mas, num primeiro momento, parece ser uma regra de três básica: Você mesmo já fez o cálculo, basta gora aplica numa função: // Largura 640 --- 400 400 --- x x = 160000 / 640 x = 250 Os componentes aqui são: A = 640; B = 400; C = 400; D = X A fórmula, então, seria: D = B * C / A Numa função: function proportionalReduction( $externalWidth, $internalWidth, $newExternalWidth ) { return ( $internalWidth * $newExternalWidth ) / $externalWidth; } Compartilhar este post Link para o post Compartilhar em outros sites
@gilsones 4 Denunciar post Postado Fevereiro 3, 2012 É, foi bem isso mesmo, o código ficou assim: Consegui!! Pra quem precisar ta ae: pri = imagem primaria sec = imagem secundaria 2 = imagem com dimensão editada $secW2 = round(($secW * $priW2) / $priW); $secH2 = round(($secH * $priH2) / $priH); $secY2 = round(($secY * $priH2) / $priH); $secX2 = round(($secX * $priW2) / $priW); assim independente do tamanho da imagem final as dimensãos e posição da imagem secundário será proporcional. Compartilhar este post Link para o post Compartilhar em outros sites
WoodsPhreaker 0 Denunciar post Postado Novembro 1, 2013 Olá @gilsones, tudo bom ? Estou procurando a algum tempo uma forma de calcular o W, H, X, Y de um elemento dentro de outro, redimensionando proporcionalmente. Seu post caiu com uma luva, pois é exatamente isso que preciso. Teria como você me ajudar ? Seguindo o exemplo que você deixou no seu post; $secW2 = round(($secW * $priW2) / $priW); $secH2 = round(($secH * $priH2) / $priH); $secY2 = round(($secY * $priH2) / $priH); $secX2 = round(($secX * $priW2) / $priW); Sei que o $secW é a largura da imagem secundaria, e o $priW é a largura da imagem principal, mas o que é o $priW2, $priH2 ? Essa conta é a mesma, aumentando ou diminuindo a imagem principal ? Sério mesmo, sua ajuda vai ser de extrema importância, e ficarei muito agradecido, pois tenho um projeto que depende desse cálculo. Sou programador também, e quem sabe podemos trocar informações. Desde já agradeço sua atenção. Abraço Compartilhar este post Link para o post Compartilhar em outros sites
@gilsones 4 Denunciar post Postado Novembro 1, 2013 Supondo que tenho uma um retangulo (pri), e dentro dele outro retangulo (sec); Quando redimensiono o retangulo primário, as novas dimensões deles será priW2 e priH2, ou seja, a dimensão final dele. São dessas duas variáveis que será calculado as dimensão e posição do retangulo secundário. Não sei se fui muito claro, qualquer dúvida fique a vontade em perguntar ok. Compartilhar este post Link para o post Compartilhar em outros sites
WoodsPhreaker 0 Denunciar post Postado Novembro 1, 2013 Olá @gilsones, tudo bom ? Cara, deu certo.Muito obrigado mesmo, me ajudou demais aqui. Estou fazendo uma aplicação de edição de imagens em JQuery e estava travado com este cálculo, agora consigo prosseguir. Mais uma vez, obrigado. Precisando de algo e eu podendo ajudar, estamos aí. Compartilhar este post Link para o post Compartilhar em outros sites
WoodsPhreaker 0 Denunciar post Postado Abril 14, 2015 Ajudou demais mesmo ... :yes: Compartilhar este post Link para o post Compartilhar em outros sites