ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

desenhar linha grossa com canvas[Resolvido]

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
porter
Colaborador
Colaborador


Registrado: Segunda-Feira, 23 de Fevereiro de 2009
Mensagens: 1353

MensagemEnviada: Seg Jul 16, 2012 6:38 pm    Assunto: desenhar linha grossa com canvas[Resolvido] Responder com Citação

ola pessoal, como faço para desenhar uma linha usando canvas, quero desenhar uma linha grossa, o comando abaixo desenha, mas nao fica reta, ela fica apontada para baixo.


Canvas.lineTo(15,120,);

estou usando o Delphi 7,

obrigado.


Editado pela última vez por porter em Ter Jul 17, 2012 3:55 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
johnny-walker
Moderador
Moderador


Registrado: Sábado, 4 de Outubro de 2003
Mensagens: 10653
Localização: Contagem/MG - BRAZIL

MensagemEnviada: Seg Jul 16, 2012 7:11 pm    Assunto: Responder com Citação

Porter o windows desenha da seguinte forma:

Ele considera o canto superior esquerdo, com as coordenadas (x=0, y=0), assim:
Citação:

0___
|
|

Com o comando canvas.moveto(x, y) eu movimento o cursor para desenhar na linha x e y, aí utilizo lineto() para desenhar propriamente dito.

Para desenhar uma reta, com x=10 e y=10, temos:

Código:

begin
// defino o estilo
Pen.psSolid; //psDash, psDot...
// defino o tamanho da linha
Pen.Width :=  2;
// movendo o cursor para uma determinada coordenada XY=(10, 10);
Pen.MoveTo(10,10);
// desenhando uma reta com 100 pixels
Pen.LineTo(110, 10);

Observe que acima para desenhar uma reta com 100 pixels eu tenho de acrescentar os 10 da movimentação do cursor.


PS.: Eu apanhei bastante para me acostumar com este sistema de coordenadas, pois para desenhar além destes pontos com moveto() e lineto(), sempre eu me confundia para continuar do ponto em que parei.


bye
_________________
P.O.W.E.R B.Y D.E.L.P.H.I
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
porter
Colaborador
Colaborador


Registrado: Segunda-Feira, 23 de Fevereiro de 2009
Mensagens: 1353

MensagemEnviada: Ter Jul 17, 2012 3:54 pm    Assunto: Responder com Citação

obrigado Johny, deu certo
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB