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

Delphi Image Stretch


Tetzner

Pergunta

Tenho uma imagem de 800x600 jpeg

uso componente TImage para carregá-la com loadfromfile.

mas o componente tem width = 200x150 ( 1/4 do original )

a propriedade Stretch está true, mas ao trabalhar com a imagem, a referencia de .pixels[x,y] continua como sendo a da imagem original.

se eu varrer a imagem 200x150 no componente, apenas um bloco dela é percorrida.

Como fazer para reduzir a imagem e trabalhar com ela na nova dimensão ?

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Simples, é so você utilizar uma regra de 3 para as proporções.....

Por exemplo. Tenho uma imagem 100x150 e quero diminui-la 15% , então :

with_original := 100;

height_original := 150;

perc_diminuir := 15;

with_final := (width_original * (perc_diminuir/100));

height_final := (height_original * (perc_diminuir/100));

Pronto é isso ....

Espero ter ajudado....

Sebastião Júnior

Link para o comentário
Compartilhar em outros sites

  • 0
Então,

se a imagem original tem 800x600

mesmo com o Timage em 200x100 e o Strech true

fazendo a varredura com o property pixels

eu preciso varrer de 1 a 800 para cobrir a imagem

o componente não deveria usar o novo tamanho relativo, em vez do absoluto da imagem original ?

Não!

Observe que sua imagem tem o tamanho "X" e o que o componente faz é ajustar ele para caber dentro da área de visualização que você tem (a janela do componente), visto que você utiliza o stretch. É apenas uma definição de visualização.

Para visualizar no tamanho que deseja (como você faz hoje), mas querendo acessar toda a imagem ao utilizar a propriedade Pixels você deve utilizar as dimensões da imagem (tbitmap, tjpgimage, ou seja da propriedade Picture) e não a do componente.

Assim, seu for deverá utilizar algo como:

for Largura := 0 to Image1.Picture.Width-1 do
begin
  for Altura := 0 to Image1.Picture.Height -1 do
  begin
    ...
  end;
end;

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

então eu tenho de gerar uma "miniatura" da imagem e ai trabalhar com ela?

nossa vai ficar muito lento

eu tenho originalmente um jpeg

transformo em bitmap

ai tem de montar miniatura ....

se a imagem original .jpg tens uns 25kb e transformo em bitmap vai para 900 kb

ai faço minitarura ...

Eu gostaria de trabalhar só com a Jpeg direto e comparar imagem 1 com 2 e saber

simples saber de a imagem 1 é igual a imagem 2 .jpeg

não tem um modo mais simples e eficiente ?

Link para o comentário
Compartilhar em outros sites

  • 0

Desculpe,

mas é para qualquer um quiser ajudar rs

o problema original é:

"tenho 2 jpegs, quero compará-los para saber se são iguais ou diferentes"

obtive várias respostas, levando sempre à conversão para bitmap.

gostaria de uma solução que compare o arquivo .jpeg já que este é bem menor que o equivalente .bmp

vlw por qualquer help.

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,2k
    • Posts
      651,9k
×
×
  • Criar Novo...