GARANTIR DESCONTO

Fórum Como saber se o tamanho de uma linha, é o tamanho REal? #290036

29/07/2005

0

Olá, minha dúvida é a seguinte:

Eu desenho um panel, que de largura deverá ter ´5 metros´, claro que não cabe na tela, aí eu falo que o panel tem 100px que equivale a 5 metros reais, aih eu pinto uma linha de 10px, ou seja, 2 metros...como eu faço para saber isso? pois os 10px na minha resolucao eh um tamanho, em outra resolucao eh outro tamanho, tem algum componente ou alguma funcao que me de isso?


Desde já agradeço


[]s
Fellipe H.


Titanius

Titanius

Responder

Posts

01/08/2005

Massuda

Não sei se entendi direito, mas [url=http://delphi.about.com/od/adptips2005/qt/pixel2mm.htm]este exemplo[/url] (em inglês) do site delphi.about.com mostra como converter pixels em milimetros (o contrário não é difícil de deduzir). Você pode convencionar, por exemplo, que 10 metros corresponde a 10 mm na tela e fazer seu desenho baseados nisso.


Responder

Gostei + 0

01/08/2005

Titanius

Era isso mesmo, Muitissimo obrigado massuda, irei estudar o exemplo...


[]s
Fellipe H.


Responder

Gostei + 0

01/08/2005

Titanius

Massuda, tentei entender o exemplo e não consegui... na verdade não consegui nem por pra rodar... vc poderia me explicar +/- como ele funciiona?


Desde já agradeço


Responder

Gostei + 0

01/08/2005

Massuda

Relendo o exemplo, vi que o exemplo de uso está errado (!) e é incompleto... um exemplo melhor seria...
var
  cx, cy : Double;
  mmx, mmy : Integer;
  pxx, pxy: Integer;
begin
  // supondo que isso esteja em um método de um form
  PixelsPerMM(Self.Canvas,cx,cy) ;

  // qual o tamanho, em mm,
  // de um retangulo 468x60 pixels?
  mmx := Trunc(468 / cx) ;
  mmy := Trunc(60 / cy) ;

  // qual o tamanho, em pixels,
  // de um retangulo 500x32 mm?
  pxx := Trunc(500 * cx);
  pxy := Trunc(32 * cy);
end;



Responder

Gostei + 0

01/08/2005

Titanius

Tentei executar, porém deu este erro:

[Error] Unit1.pas(52): Types of actual and formal var parameters must be identical

procedure TForm1.BitBtn1Click(Sender: TObject);
var
cx, cy : Double;
mmx, mmy : Integer;
pxx, pxy: Integer;
begin
// supondo que isso esteja em um método de um form
PixelsPerMM(Self.Canvas,cx,cy) ; [b:118e960219]<<--- Aqui esta o Erro[/b:118e960219]

// qual o tamanho, em mm,
// de um retangulo 468x60 pixels?
mmx := Trunc(468 / cx) ;
mmy := Trunc(60 / cy) ;

// qual o tamanho, em pixels,
// de um retangulo 500x32 mm?
pxx := Trunc(500 * cx);
pxy := Trunc(32 * cy);
end;


[]s

Fellipe H.


Responder

Gostei + 0

01/08/2005

Massuda

Desculpe... mude...
cx, cy : Double;
...para...
cx, cy : Single;



Responder

Gostei + 0

01/08/2005

Titanius

Muito obrigado massuda, ajudou muito! :D


[]s


Responder

Gostei + 0

01/08/2005

Titanius

So enchendo mais um pouquinho, como faço pra pintar um pixel via canvas num TImage?

Tipo, forneço X e Y, e ele pinta de preto....



[]s


Responder

Gostei + 0

01/08/2005

Massuda

Não faço idéia de como fazer isso... talvez fosse melhor abrir outro tópico, já que isso é outra novela...


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar