'Establim les opcionsPrivate Sub cmd_Dibuixar_Click(Index As Integer)Select Case Index Case 0: Opcio = "Recta" Case 1: Opcio = "Rectangle" Case 2: Opcio = "Cercle" Case 3: Opcio = "Pintar"End SelectEnd Sub Private Sub Esborrar_Click() ' Li indiquem una ruta buida per aixi elimnar la imatge del picturebox With Picture1 .Picture = LoadPicture("") End WithEnd SubPrivate Sub Form_Load()cmd_Dibuixar(0).Caption = " Recta "cmd_Dibuixar(1).Caption = " Rectangle "cmd_Dibuixar(2).Caption = " Cercle "cmd_Dibuixar(3).Caption = " Pintar "Picture1.DrawMode = vbInvertPicture1.DrawWidth = 1Picture1.BackColor = vbWhiteEnd Sub Private Sub Picture1_MouseDown(Button As Integer, _ Shift As Integer, X As Single, Y As Single) 'Guardem els valors de x e y en les variablesm_x1 = Xm_y1 = Ym_x2 = Xm_y2 = Y ' Guardem el radiRadi = m_x2 - m_x1'Flag per que no s'executi sempre el MouseMoveFlag = True ' para pintarPicture1.PSet (X, Y)End Sub Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, _ X As Single, Y As Single)If Not Flag Then Exit Sub Select Case Opcio Case "Pintar" Picture1.Line -(X, Y), RGB(Rnd * 255, Rnd * 255, Rnd * 255) Case "Recta" Picture1.Line (m_x1, m_y1)-(m_x2, m_y2) Case "Rectangle" Picture1.Line (m_x1, m_y1)-(m_x2, m_y2), , B Case "Cercle" Picture1.Circle (m_x1, m_y1), Radi End Select m_x2 = X m_y2 = Y Select Case Opcio Case "Recta" Picture1.Line (m_x1, m_y1)-(m_x2, m_y2) Case "Rectangle" Picture1.Line (m_x1, m_y1)-(m_x2, m_y2), , B Case Else If m_x2 >= m_x1 Then Radi = m_x2 - m_x1 Else Radi = m_x1 - m_x2 End If End Select If Opcio = "Cercle" Then Picture1.Circle (m_x1, m_y1), Radi End Sub Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, _ X As Single, Y As Single)Flag = FalseEnd Sub
Mañana te atiendo al tema que hoy se me ha hecho tarde... este mensaje es para que no pienses que lo dejo pasar...Si te parece bien haremos una especie de motor 3d sencillo...
Cita de: "Nebire"Mañana te atiendo al tema que hoy se me ha hecho tarde... este mensaje es para que no pienses que lo dejo pasar...Si te parece bien haremos una especie de motor 3d sencillo...No tranquilo, si cada uno tiene sus cosas, para nada me corre prisa jeje Solo una cosa, no se a que te refieres exactamente a motor 3D, pero lo que tengo que hacer tiene k ser solo en plano 2D, para nada me tengo que complicar la vida, aunque quizas me equivoco y te refieres a otra cosa...
No puedes rotar una línea si no conoces sus cordenadas, del mismo modo que no puedes pegar una patada a un balón si no sabes donde está ni puedes cambiar de cadena la tele con el mando a distancia si lo has perdido.A las bravas se podría hacer un programa de reconocimiento de patrones, pero sería costoso y no podrías estar segura de si esa la línea que te interesa y si se ha reconocido 'fielmente', como esperabas.Lo correcto es no dibujar líneas sin control, sino supervisado, es decir puedes crear una estructura de tipo 'Lineas' donde recoges los 2 puntos que son a su vez una estructura de tipo cordenadas, luego puedes crear líneas y mediante una colección, las vas metiendo en ella, estando ya 'controladas' podrás dibujarlas, rotarlas, eliminarlas,... lo que necesites...Dame un tiempo, para que encuentre un momento de deshaogo y te hago un sencillo ejemplo que te sirva de orientación...
Cuéntame como te va... al ser novata no se si serás capaz de entender las clases de vb6...