Ver Mensaje Individual
  #4  
Antiguo 08-06-2015
Ines Rodriguez Ines Rodriguez is offline
Registrado
NULL
 
Registrado: jun 2015
Posts: 5
Reputación: 0
Ines Rodriguez Va por buen camino
Hola, si lo que quiero hacer es dibujar un diagrama como el que adjunto, creando lineas con:
Código Delphi [-]
  Image1.Canvas.MoveTo(x1,y1);
  Image1.Canvas.LineTo(x2,y2);
y usando MOUSEDOWN y MOUSEUP para sus coordenadas pero bueno aparte de eso quiero insertar las imágenes (descargadas de google NO dibujadas) como la computadora, el router etc. por medio de los botones, bueno por ejemplo si le doy en el boton linea pues dibujo una linea que seria representación del cable y así sucesivamente si le doy en el boton computadora me muestre dicha imagen y así sucesivamente con la impresora, el switch etc. hasta ir formando todo mi diagrama.

Les adjunto igual mi código por si no me supe explicar jeje Gracias por la ayuda de antemano
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, jpeg, Buttons;

type
  TForm1 = class(TForm)
    ScrollBox1: TScrollBox;
    Image1: TImage;
    Panel1: TPanel;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    SpeedButton1: TSpeedButton;
    Label3: TLabel;
    procedure SpeedButton1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var   //variables globales
  Form1: TForm1;
  i,j,x1,y1,x2,y2 : Integer;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject); //FIBRA
begin
  Image1.Canvas.Pen.Color := RGB(250,150,0);  //Color naranja
  Image1.Canvas.Pen.Width := 5; //Ancho
  Image1.Canvas.MoveTo(x1,y1); //crea linea  segun coordenadas apuntadas
  Image1.Canvas.LineTo(x2,y2);

end;

procedure TForm1.Button2Click(Sender: TObject); //CABLE
begin
  Image1.Canvas.Pen.Color := RGB(50,50,50);  //Color negro
  Image1.Canvas.Pen.Width := 3; //Ancho
  Image1.Canvas.MoveTo(x1,y1); //crea linea  segun coordenadas apuntadas
  Image1.Canvas.LineTo(x2,y2);

end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  Image1.Picture.LoadFromFile('computadora.jpg');
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Text := '0';
Image1.Canvas.Rectangle(0,0,1000,1000);

for I := 1 to 20 do  //crea malla color gris
for J := 1 to 20 do
Image1.Canvas.Pixels[i*50,j*50] := RGB(150,150,150);
end;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  x1 := X;
  y1 := Y;
end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  x2 := X;
  y2 := Y;
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
//SpeedButton1.Glyph.LoadFromFile('computadora.jpg');
end;

end.
Imágenes Adjuntas
Tipo de Archivo: jpg Diagrama_red_web2.jpg (19,4 KB, 9 visitas)

Última edición por ecfisa fecha: 08-06-2015 a las 04:30:42. Razón: Agregar etiquetas [delphi][/delphi]
Responder Con Cita