Ir para conteúdo
Fórum Script Brasil
  • 0

Image


jntk

Pergunta

:huh:

Pessoal estou com um problema com o Image do VB

Coloquei ele com um certo tamanho (3495x3495) e quando eu carrego a imagem retangular ele acaba distorcendo a imagem, ou seja, comprimindo a imagem nesse "quadrado" do Image.

Pesquisei no Fórum e vi a propiedade Stretch, que desabilitada (False) ele não comprime a imagem, e sim traz ela no seu tamanho original.

Com isso criei outro problema, pois as imagens são muito grandes e acaba cortando a imagem essa propriedade, fazendo com que apareça 30% da imagem somente.

O que eu preciso fazer é com que ele traga a imagem e redimensione ela pra caber dentro do "quadrado" que montei sem distorce-la, ou seja, diminui-la proporcionalmente não só na altura ou na largura.

Espero ter me expressado bem!

No aguardo por ajudas

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Não seria só você fazer um retângulo (ou quadrado) proporcional ao tamanho da figura? Uma vez que ele preenche a área toda (reduzindo a imagem), se esta área for proporcional você terá a imagem reduzida proporcionalmente.

Abraços,

Graymalkin

O problema é que existem figuras quadradas e retangulares, e são muito grandes, se fosse "desenhar" uma área para a imagem na tela do form ocuparia a tela toda.

No aguardo....

Link para o comentário
Compartilhar em outros sites

  • 0

Não entendi... sua idéia não é redimensionar a imagem? Não é isso que a propriedade Stretch faz? O problema que você relatou era que a imagem não era redimensionada proporcionalmente, e a idéia que eu te passei é justamente deixar o quadrado (ou retângulo) com um tamanho proporcional ao tamanho da figura (qualquer que seja ela).

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Não entendi... sua idéia não é redimensionar a imagem? Não é isso que a propriedade Stretch faz? O problema que você relatou era que a imagem não era redimensionada proporcionalmente, e a idéia que eu te passei é justamente deixar o quadrado (ou retângulo) com um tamanho proporcional ao tamanho da figura (qualquer que seja ela).

Abraços,

Graymalkin

Eu entendi a sua dica, mas é que esse é um form de cadastro, então por exemplo no cadastro 1 tenho uma figura quadrada (ex. 500x500) e no cadastro 2 tenho uma retangular (ex. 750x500) e no cadastro 3 tenho uma outra retangular (ex. 500x750), então não tem como deixar com tamanho proporcinal o Image, teria sim se todas as figuras fossem do mesmo tamanho, ou retangulares ou quadradas.

Pensei em algum código que calculasse o tamanho da imagem e redimensionasse o "Image" proporcionalmente ao tamanho da figura, tipo se a figura fosse 750x500 ele deixava o "Image" com 75x50; e se fosse 500x500 ele deixava o "Image" com 50x50.

(Acho que agora consegui me expressar melhor..rs)

Complicado né.rsrs....

Link para o comentário
Compartilhar em outros sites

  • 0

Ah, mas era justamente isso que eu estava falando. O tamanho de uma Image *não* precisa ser fixo, e eu pensei que você soubesse disso. Foi por isso que o tempo todo eu insisti em dizer que você deveria dimensionar a Image de acordo com o tamanho da imagem exibida (qualquer que seja ela). Basta alterar as propriedades Width (largura) e Height (altura) dela.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Ah, mas era justamente isso que eu estava falando. O tamanho de uma Image *não* precisa ser fixo, e eu pensei que você soubesse disso. Foi por isso que o tempo todo eu insisti em dizer que você deveria dimensionar a Image de acordo com o tamanho da imagem exibida (qualquer que seja ela). Basta alterar as propriedades Width (largura) e Height (altura) dela.

Abraços,

Graymalkin

:huh:

Ahhh, acho que estou começando a entender..rs.. (me desculpe)...

Isso seria via código, certo; mas como faço isso???

Abraço...

Link para o comentário
Compartilhar em outros sites

  • 0

:huh:

Ahhh!!! Acho que entendi o que o Graymalkin quis dizer.....

img_image.Stretch = False

img_image.Picture = LoadPicture(foto)

maxw = 3495
maxh = 3135

w1 = img_image.Width
h1 = img_image.Height

Do While h1 > maxh
    w1 = w1 / 1.001
    h1 = h1 / 1.001
Loop

Do While w1 > maxw
    w1 = w1 / 1.001
    h1 = h1 / 1.001
Loop

img_image.Width = w1
img_image.Height = h1

img_image.Stretch = True

(Dividi por 1.001 porque preciso de precisão..rsrs)

Se tiverem uma outra solução postem ai....

Valeu!!!!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...