Bandera Cubana usando canvas.
#21
Posted 15 December 2008 - 11:14 AM
#22
Posted 15 December 2008 - 11:39 AM
var Factor: Integer; begin Factor := spFactor.Value; //Amarillo Form1.Canvas.Pen.Color := clYellow; Form1.Canvas.Pen.Width := 0; Form1.Canvas.Brush.Color := clYellow; Form1.Canvas.Rectangle(10, 10, 200*Factor, 80*(Factor div 2)); //Azul Form1.Canvas.Pen.Color := clBlue; Form1.Canvas.Pen.Width := 0; Form1.Canvas.Brush.Color := clBlue; Form1.Canvas.Rectangle(10, 10 + (70*(Factor div 2)), 200*Factor, 150*(Factor div 2)); //Rojo Form1.Canvas.Pen.Color := clRed; Form1.Canvas.Pen.Width := 0; Form1.Canvas.Brush.Color := clRed; Form1.Canvas.Rectangle(10, (10 + (70*(Factor div 2))* 2), 200*Factor, 220*(Factor div 2)); end;
¿Que hace?, Estira las barras proporcionalmente, segun el factor dado en el spinedit.
#23
Posted 15 December 2008 - 12:18 PM
#24
Posted 15 December 2008 - 01:06 PM
Yo quiero ver cómo diantres le haríamos para el escudito
Hola
procedure TForm1.Button1Click(Sender: TObject); begin Image1.Top := 60; Image1.Left := 140; with Canvas do begin Pen.Color := clWhite; Pen.Width := 0; Brush.Color := clWhite; Rectangle(10,10,390,200); Pen.Color := clRed; Pen.Width := 0; Brush.Color := clRed; Rectangle(10,10,130,200); Pen.Color := clGreen; Pen.Width := 0; Brush.Color := clGreen; Rectangle(260,10,390,200); Image1.Repaint; \\ Escudo end; end;
Salud OS
Attached Files
#25
Posted 15 December 2008 - 01:10 PM
Yo quiero ver cómo diantres le haríamos para el escudito
Hola
delphi
procedure TForm1.Button1Click(Sender: TObject); begin Image1.Top := 60; Image1.Left := 140; with Canvas do begin Pen.Color := clWhite; Pen.Width := 0; Brush.Color := clWhite; Rectangle(10,10,390,200); Pen.Color := clRed; Pen.Width := 0; Brush.Color := clRed; Rectangle(10,10,130,200); Pen.Color := clGreen; Pen.Width := 0; Brush.Color := clGreen; Rectangle(260,10,390,200); Image1.Repaint; \\ Escudo end; end;
Salud OS
Jajajajaja, eso pensé pero luego me dije: trampositaaa !!!!
#26 Guest_Jose Fco_*
Posted 15 December 2008 - 01:12 PM
Un Saludo.
#27
Posted 15 December 2008 - 02:55 PM
Jajajajaja, eso pensé pero luego me dije: trampositaaa !!!!
:$ (w)
Carnal, me salistes buen alumno, estoy orgulloso de ti.
Salud OS
#28
Posted 16 December 2008 - 09:50 AM
1. Ejecuto
2. Doy click al botón que dibuja la Bandera (lo hace correctamente)
3. Restauro una ventana de cualquier otra aplicación corriendo que cubra total o parcialmente el Form con la Bandera dibujada
4. La parte de la Bandera que fue cubierta por la ventana restaurada se desdibuja, lo que no sucede con la parte que no cubrió.
De esto me di cuenta "accidentalmente" e hice también pruebas moviendo la ventana del hacia uno de los extremos de la pantalla, de tal manera que también se ocultara una parte de la Bandera y al regresar la ventana al centro de la pantalla, esa parte cubierta se había desdibujado.
Sé que debe existir una razón para ello... y sé que alguien me lo aclarará
Saludos
#29 Guest_Jose Fco_*
Posted 16 December 2008 - 10:01 AM
Estuve ayer jugando con el código que usa Canvas para dibujar cualquier cosa sobre un Form y me encontré con algo "curioso" para mi. Trataré de explicarlo paso por paso cómo lo hice para hacerme entender:
1. Ejecuto
2. Doy click al botón que dibuja la Bandera (lo hace correctamente)
3. Restauro una ventana de cualquier otra aplicación corriendo que cubra total o parcialmente el Form con la Bandera dibujada
4. La parte de la Bandera que fue cubierta por la ventana restaurada se desdibuja, lo que no sucede con la parte que no cubrió.
De esto me di cuenta "accidentalmente" e hice también pruebas moviendo la ventana del hacia uno de los extremos de la pantalla, de tal manera que también se ocultara una parte de la Bandera y al regresar la ventana al centro de la pantalla, esa parte cubierta se había desdibujado.
Sé que debe existir una razón para ello... y sé que alguien me lo aclarará
Saludos
Hola Fena, es un problema de la pintura que usas.Por alguna razon la pintura que estas usando es muy sencible a la oscuridad y una vez que la retornas a la luz ambiente se descolora.
Si nos puedes poner un sample de ella aqui, la podemos probar en el laboratorio y te diremos exactamente que sucede.
Un Saludo.
#30
Posted 16 December 2008 - 10:22 AM
Estuve ayer jugando con el código que usa Canvas para dibujar cualquier cosa sobre un Form y me encontré con algo "curioso" para mi. Trataré de explicarlo paso por paso cómo lo hice para hacerme entender:
1. Ejecuto
2. Doy click al botón que dibuja la Bandera (lo hace correctamente)
3. Restauro una ventana de cualquier otra aplicación corriendo que cubra total o parcialmente el Form con la Bandera dibujada
4. La parte de la Bandera que fue cubierta por la ventana restaurada se desdibuja, lo que no sucede con la parte que no cubrió.
De esto me di cuenta "accidentalmente" e hice también pruebas moviendo la ventana del hacia uno de los extremos de la pantalla, de tal manera que también se ocultara una parte de la Bandera y al regresar la ventana al centro de la pantalla, esa parte cubierta se había desdibujado.
Sé que debe existir una razón para ello... y sé que alguien me lo aclarará
Saludos
Hola
procedure TForm1.FormPaint(Sender: TObject); begin Button1.Click; end; procedure TForm1.Button1Click(Sender: TObject); begin Image1.Top := 60; Image1.Left := 140; with Canvas do begin Pen.Color := clWhite; Pen.Width := 0; Brush.Color := clWhite; Rectangle(10,10,390,200); Pen.Color := clRed; Pen.Width := 0; Brush.Color := clRed; Rectangle(10,10,130,200); Pen.Color := clGreen; Pen.Width := 0; Brush.Color := clGreen; Rectangle(260,10,390,200); Image1.Repaint; \\ Escudo end; end;
Salud OS
#31
Posted 16 December 2008 - 10:26 AM
jejeje lo que sucede es que el comportamiento que describes es el normal. cuando una pantalla se oculta al volverse a mostrar se pinta de nuevo. Como pintas directamente al canvas debes sobreescribir el metodo Paint, para que el sepa que es lo que va a pintar.
#32
Posted 16 December 2008 - 02:59 PM
El único detalle que agregué para que la Bandera no se dibuje desde el principio si no hasta que se le de Click al botón fue con una variable global booleana que detectara si el Form se estaba dibujando por primera vez o lo hacía después del Click del botón y funciona bonito...
Gracias...
#33
Posted 16 December 2008 - 03:49 PM
#34
Posted 16 December 2008 - 03:52 PM
entonces utilizastes una bandera para dibujar la bandera jejej
Efectivamente mi estimado y querido amiguito
#35
Posted 16 December 2008 - 03:54 PM
entonces utilizastes una bandera para dibujar la bandera jejej
Efectivamente mi estimado y querido amiguito
jejeje, muy inteligente esa frase amigo eduarcol después de leer mas de dos veces tu respuesta la entendi
Salud OS
#36
Posted 17 December 2008 - 09:18 AM