Ajustar uma imagem via programação
eu estou fazendo um relatorio que na parte superior tem o logo do cliente.. quando ele quiser trocar o logo eh soh colocar o logo novo em um diretorio padrao que o sistema quando abrerto novamente ele pega esse logo novo... mas voltando ao topico... no quickreport tem o componente QRImage.. soh que ele nao tem a propriedade proportional como um image normal... eu tenho que verificar o tamanho do logo e ver se o tamanho do logo eh maior do que o espaço disposto a ele .. se for tenho que redimencionar.. pas ele fica desproporcional quando faço isso com uma imagem maior que o espaço.... ela fica destorcida.;. sera que tem algum jeito de fazer um procedimento como o proportional do image.
valew ..
valew ..
Zumbi
Curtidas 0
Respostas
Nildo
27/04/2004
Neste caso você tem que programar isto. O que você deve fazer é pegar a porcentagem da diferenca de tamanho entre o espaçamento Horizontal e Vertical do Logotipo dele, e ir diminuir proporcionalmente (utilizando a diferenca acima dita) o Width e Height da imagem até o tamanho que cabe no espaço que você deseja. Mas não se esqueça de setar Streched como True.
Acho que está meio complicado a explicação, mas a ideia é essa! Uma vez eu fiz algo exatamente como o que você precisa mas perdi o fonte.
Entendeu?
Acho que está meio complicado a explicação, mas a ideia é essa! Uma vez eu fiz algo exatamente como o que você precisa mas perdi o fonte.
Entendeu?
GOSTEI 0
Talisjonatas
27/04/2004
Caro amigo, segue a procedure.
Grato.
procedure ProportionalHeight(var Image: TqrImage; NewHeight:Integer); var W, H: Integer; Fator: Double; begin with Image do begin try Visible := False; Stretch := False; AutoSize := True; W := Width; H := Height; Stretch := True; AutoSize := False; if NewHeight > H then begin Fator := NewHeight / H; Image.Width := Trunc(W * Fator); Image.Height := NewHeight; end; if NewHeight < H then begin Fator := H / NewHeight; Image.Width := W div Trunc(Fator); Image.Height := NewHeight; end finally Visible := True; end; end; end;
Grato.
GOSTEI 0