Título: programa para dibujar en windows xD Publicado por: vivachapas en 21 Enero 2008, 05:34 am bueno estuve viendo como trabjar con img... como en un picture dibujar en cierto pixel... y ese tipo de cosas q nunca habia hecho..
(la idea era tratar de hacer un juego) pero para eso falta todavia... hice un par de programas "bobos" pero les dejo este q es el mas entretenido y muy simple para quien quiera aprender algo mas... http://rapidshare.com/files/85333855/Capturas_de_pantalla.rar el codigo es 100% mio.. no se si laguien ya hizo algo al estilo de este xD SALUDOS P/D: hice un programa tipo Paint.. pero no se como guardar lo q dibujo en el picture box... x favor si alguno me puede explicar o darme un manual donde se hacen este tipo de cosas.. ya q lo q fui haciendo fue todo probrando xD ah y como se si ese pixel ya tiene algun color... otra pregunta alguno tiene un code de esos jueguitos viejo...(de los primeros) en el q un pixel es un autito... y esta siempre quiero pero se mueve la pista... o algun code asi para ponerme a investigar.. en google no encuentro xD Título: Re: programa para dibujar en windows xD Publicado por: cassiani en 21 Enero 2008, 14:56 pm Nunca he trabajado con algo así pero viéndolo por encima ¿porque no capturarlo como hicisteis en el evento load y actualizarlo?
Código: Private Sub menuGuardar_Click() Con un PopupMenu con las opciones guardar y salir, lo demás es... ¡claro! se podria ahorrar código creando una rutina para la captura de pantalla, y así llamarla cada vez que se necesite, en el load y en guardar como es este el caso ¡por ejemplo!. Por el momento no os puedo seguir ayudando por falta de tiempo, después pruebo lo demás y si lo deseáis os sigo ayudando. Pd: tambien seria necesario usar commondialog para guardar, y así no sustituir siempre la captura anterior. ¡S4lu2! Título: Re: programa para dibujar en windows xD Publicado por: Chefito en 21 Enero 2008, 18:02 pm Nas compas. La verdad es que os llevo leyendo algún tiempo esporadicamente y es la primera vez que intento ayudar. Espero que sirva de algo mi ignorancia. Mira...respecto a lo de saber el color de un pixel en un objeto picturebox mira lo que pone el msdn:
Devuelve, como un valor de tipo Integer Long, el color rojo-verde-azul (RGB) delpunto especificado de un objeto Form o un control PictureBox. No aceptaargumentos con nombre. Sintaxis objeto.Point(x, y) La sintaxis del método Point consta de las siguientes partes: Parte Descripción objeto Opcional. Unaexpresión de objeto que da como resultado un objeto de la lista Se aplica a. Si se omite objeto, se supone que el objeto es el objeto Form que tenga elenfoque. x, y Requerido. Valores de precisión simple que indican las coordenadas horizontal (eje x) y vertical (eje y) del punto según la propiedad ScaleMode del objeto Form o el control PictureBox. Deben colocarse entre paréntesis. Comentarios Si el punto definido por las coordenadas x e y está fuera del objeto, el método Point devuelve -1. Vamos...que sería color=picturebox1.point(x,y). Por supuesto tendrías que tener la propiedad Scalemode del objeto picturebox igual a vbpixels o 3 para que la unidad de medida de las coordenadas fuesen pixeles. Te remiendo que utilices esto, ya que el vb nos lo facilita. Pero para aportar más, también está la api getpixel: Declare Function GetPixel Lib "gdi32" Alias "GetPixel" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long Esta api también devuelve el color del pixel del objeto. En hdc tendrías que poner picturebox1.hdc y en x e y pues ya sabes :). Para hacer juegos te recomiendo que empices mirandote las apis de la libreria gdi32, que son de manejo de gráficos. Luego si te quieres meter en un embolado, mirate la libreria de, por ejemplo, los directX, aunque hay por ahi librería más intuitivas (creo recordar que en su día de los que más me gusto fue revolution3d por ejem): http://www.revolution3d.net/cms/index.php?option=com_frontpage Aunque no lo toqué apenas. Pero lo que te digo, si te quieres meter en camisa de once baras, te calientas el coco con la api de directx y punto, que los directx estas instalados en todos los win :). Y sobre juegos en vb.....pues en su día si había por la web, busca que seguro que encuentras. Mira en esta pagina: http://www.planet-source-code.com/vb/default.asp?lngWId=1 En la parte de abajo verás dos apartados que pueden que te interesen: Games y Graphics. Busca. Había un juego parecido al arkanoid hecho totalmente en vb tirando a tope de apis llamado ArkX. Buscalo, es bastante interesante. Yo mismamente hace años, intenté hacer el típico juego de las dos raquetas y la pelota (el de la atari 2600 :)). Al final casi lo acabé. Está por ahí perdido, pero si te interesa lo intento buscar y mandar. Tiene fallos pero la programación es bastante facil de entender. Y si os interesa pego un curso de metodos gráficos en vb6 (solo sus funciones, procedimientos y propiedades, nada de apis) que hace tiempo bajé de una pagina. Bueno, espero haber ayudado en algo. A ver si vuelvo a programar algo. P.D. Si quieres hacer juegos, a lo mejor te gustaría saber que hay lenguajes especificos para eso, lo mismo te interesan (Ejem. DarkBasic, BlitzBasic). Yo mismo tuve una pequeña época de Game Dev Studio :). Pero si te pones con vb y alguna librería puedes hacer maravillas ;). Título: Re: programa para dibujar en windows xD Publicado por: vivachapas en 21 Enero 2008, 19:04 pm chefito muchas gracias x la info! ya la voy a leer mas detenidamente...
y C@ss¡@n¡... la programa q yo me referia es otro... mira pongo el code tb asi lo ven... y lo q quiero es guardar lo q dibujo en el picturebox... http://rapidshare.com/files/85477201/Dibujos.rar en ese proyecto es donde quiero guardar el archivo... SALUDOS Título: Re: programa para dibujar en windows xD Publicado por: cassiani en 21 Enero 2008, 23:00 pm Citar C@ss¡@n¡... la programa q yo me referia es otro... ¡Ups! en ese caso mirad esto: Código: Private Sub CmdGuardar_Click() Implementa eso a tu proyecto y seguro que funciona, no olvides el AutoRedraw del PictureBox a True es fundamental. Bueno... ¡S4lu2! Título: Re: programa para dibujar en windows xD Publicado por: Chefito en 21 Enero 2008, 23:22 pm Un pequeño aporte para cuando canceles o cierres el cuadro de dialogo no se grabe la imagen:
Private Sub CmdGuardar_Click() With CommonDialog1 .DialogTitle = "Guardar el archivo" .Filter = "Archivos BMP|*.bmp|Archivos JPG|*.bmp|Todos|*.*" .ShowSave If .FileName = "" Then MsgBox "No se especificó ningún nombre", vbCritical End If If not(.CancelError) then SavePicture Picture1.Image, .FileName End With End Sub Private Sub Form_Load() Picture1.AutoRedraw = True End Sub Título: Re: programa para dibujar en windows xD Publicado por: Chefito en 21 Enero 2008, 23:56 pm Por cierto, otro apunte. Si quieres que no se te produzcan esos espacios a causa de utilizar el pset utiliza el line con alguna modificación en tu programa. Según me dijo un amigo sabio en vb hace mucho tiempo, los programas de dibujo hacen esto para no dejar espacios. Pon esto en tu código:
Declara esto: Dim X1 As Integer, Y1 As Integer Y sustituye los procedimientos siguientes: Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 1 Then Picture1.PSet (X, Y), Color X1 = X Y1 = Y End Sub Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Static X2 As Integer, Y2 As Integer If Button = 1 Then X2 = X Y2 = Y Picture1.Line (X1, Y1)-(X2, Y2), Color X1 = X2 Y1 = Y2 End If End Sub Quita el procedimiento Picture1_MouseUp que no sirve para nada ;) Si no entiendes algo dilo....si no soy yo alguien te lo aclarara. Título: Re: programa para dibujar en windows xD Publicado por: vivachapas en 22 Enero 2008, 03:07 am muchas gracias x los codes.. en serguida los pruebo...
el de chefito no me funciona :( gracias de todos modos ;) SALUDOS Título: Re: programa para dibujar en windows xD Publicado por: Chefito en 22 Enero 2008, 11:22 am Mmmmmmm.....como que no te funciona? Pero si te lo di mascado! :)
Haber sustituye la declaración tuya del principio: Código: Dim Color As ColorConstants Código: Dim Color As ColorConstants, X1 As Integer, Y1 As Integer Código: Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Código: Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Título: Re: programa para dibujar en windows xD Publicado por: cassiani en 22 Enero 2008, 13:15 pm Un pequeño aporte para cuando canceles o cierres el cuadro de dialogo no se grabe la imagen: Private Sub CmdGuardar_Click() With CommonDialog1 .DialogTitle = "Guardar el archivo" .Filter = "Archivos BMP|*.bmp|Archivos JPG|*.bmp|Todos|*.*" .ShowSave If .FileName = "" Then MsgBox "No se especificó ningún nombre", vbCritical End If If not(.CancelError) then SavePicture Picture1.Image, .FileName End With End Sub Private Sub Form_Load() Picture1.AutoRedraw = True End Sub En ese sentido, para que sea completamente correcto seria necesario agregarle: Código: .CancelError = True Código: If not(.CancelError) then SavePicture Picture1.Image, .FileName Por otro lado: Citar ah y como se si ese pixel ya tiene algun color... Aunque ya la respondieron correctamente, os dejo un ejemplo sencillo, podes trabajarlo con los valores hexadecimales que devuelve:Código: Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Creo que eso es todo... ¡S4lu2! y suerte en lo que haces... :o Título: Re: programa para dibujar en windows xD Publicado por: cassiani en 22 Enero 2008, 14:12 pm ¡Sin dejar escapar algo! :rolleyes: tratando imprevistos...
Código: Private Sub CmdGuardar_Click() ¡S4lu2! Título: Re: programa para dibujar en windows xD Publicado por: Chefito en 22 Enero 2008, 20:20 pm Jajajaja....como sigamos asi, veo que hacemos el programa entero :P
Título: Re: programa para dibujar en windows xD Publicado por: cassiani en 22 Enero 2008, 20:29 pm Jajajaja....como sigamos asi, veo que hacemos el programa entero :P Ja, ja, parece que si... ¡que locura! :xD Título: Re: programa para dibujar en windows xD Publicado por: Sancho.Mazorka en 29 Enero 2008, 18:26 pm Existe algo llamado BUSCADOR y buscabas como hacer un Paint hubieses encontrado porque esto ya se hablo y ensima yo hice y postee como respuesta el MiniPaint. Aunque lo de ustedes esta bueno tambien!
http://rapidshare.com/files/43341754/MiniPaint.rar (http://rapidshare.com/files/43341754/MiniPaint.rar) Sancho.Mazorka :¬¬ |