{"id":24482236,"url":"https://github.com/ozzies-code/visorimagenesvb4","last_synced_at":"2026-01-02T13:21:28.295Z","repository":{"id":270763140,"uuid":"911386365","full_name":"ozzies-code/VisorImagenesVb4","owner":"ozzies-code","description":"Version definitiva del Proyecto Visor de Imagenes en Visual Basic.NET","archived":false,"fork":false,"pushed_at":"2025-01-02T22:42:36.000Z","size":691,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-21T12:13:05.778Z","etag":null,"topics":["barcode","drawing-app","events","icons","images","tools"],"latest_commit_sha":null,"homepage":"https://github.com/ozzies-code/VisorImagenesVb4","language":"Visual Basic .NET","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ozzies-code.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-02T22:30:41.000Z","updated_at":"2025-01-02T22:45:13.000Z","dependencies_parsed_at":"2025-01-02T23:38:01.376Z","dependency_job_id":null,"html_url":"https://github.com/ozzies-code/VisorImagenesVb4","commit_stats":null,"previous_names":["ozzies-code/visorimagenesvb4"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ozzies-code%2FVisorImagenesVb4","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ozzies-code%2FVisorImagenesVb4/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ozzies-code%2FVisorImagenesVb4/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ozzies-code%2FVisorImagenesVb4/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ozzies-code","download_url":"https://codeload.github.com/ozzies-code/VisorImagenesVb4/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243633013,"owners_count":20322518,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["barcode","drawing-app","events","icons","images","tools"],"created_at":"2025-01-21T12:13:11.061Z","updated_at":"2026-01-02T13:21:28.252Z","avatar_url":"https://github.com/ozzies-code.png","language":"Visual Basic .NET","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VisorImagenesVb4\n Version definitiva del Proyecto Visor de Imagenes en Visual Basic.NET\n\n# Descripcion\n\n Este proyecto consiste en el desarrollo de una aplicacion que emplea\n la importacion de imagenes que seran afectadas por una serie de \n eventos a traves de un formulario que emplea una barra de herramientas\n en la que cada boton llamada a un evento especifico que afectara a \n cada imagen y brindara informacion al usuario a traves de informacion \n de registro de la aplicacion.\n \n # Actualizacion: 02/01/2025\n # Hora: 18:35\n\nDetalles técnicos del proyecto:\nIdioma: Visual Basic.NET\nVersión del framework: 4.7.2\n\n# ImageViewerVb4\nFinal version of the Image Viewer Project in Visual Basic.NET\n\n# Description\n\nThis project consists of the development of an application that uses\nthe import of images that will be affected by a series of events \nthrough a form that uses a toolbar in which each button calls a \nspecific event that will affect each image and provide information \nto the user through application registration information.\n\n# Update: 02/01/2025\n# Time: 18:35\n\nTechnical Details of the Project:\nLanguage: Visual Basic.NET\nFramework Version: 4.7.2\n\n![imagen](https://github.com/user-attachments/assets/7283b25c-7400-4c19-ac8d-b96318f6dffe)\n\nCode of the Project:\n\nPublic Class frmRegistroVisor\n    Private Sub btnAceptar_Click(sender As Object, e As EventArgs) Handles btnAceptar.Click\n        Me.Close()\n    End Sub\n\n    Private Sub frmRegistroVisor_Load(sender As Object, e As EventArgs) Handles Me.Load\n\n        Try\n            Dim objArchivo As New System.IO.StreamReader(System.AppDomain.CurrentDomain.BaseDirectory() \u0026 \"\\RegImagenes.txt\")\n            txtRegistro.Text = objArchivo.ReadToEnd()\n            objArchivo.Close()\n            objArchivo.Dispose()\n\n        Catch ex As Exception\n            txtRegistro.Text = \"No se pudo encontrar el archivo\"\n        End Try\n    End Sub\nEnd Class\n\n   Module ModuloDibujo\n\n    Public Sub AbrirImagen()\n\n        Try\n            'Subrutina: Procedimiento que no devuelve un valor\n\n            'Mostrar en el cuadro de diálogo Abrir Archivo\n\n            If FrmVisorEventos.ofdSeleccionarImagen.ShowDialog = DialogResult.OK Then\n                'Cargar la imagen en el PictureBox o Cuadro de Imagen\n                FrmVisorEventos.picTexto.Image = Image.FromFile(FrmVisorEventos.ofdSeleccionarImagen.FileName)\n                'Mostrar el nombre del archivo como titulo del formulario\n                FrmVisorEventos.sbrMiBarraEstado.Items(0).Text = FrmVisorEventos.ofdSeleccionarImagen.FileName\n                ActualizarRegistro(FrmVisorEventos.ofdSeleccionarImagen.FileName)\n            End If\n\n        Catch objExcepcion As System.OutOfMemoryException\n\n            MessageBox.Show(\"El archivo elegido no es una imagen.\", \"Archivo no valido\", MessageBoxButtons.OK)\n        End Try\n\n    End Sub\n\n    Public Sub ActualizarRegistro(strNombreArchivo As String)\n\n        Dim objArchivo As New System.IO.StreamWriter(System.AppDomain.CurrentDomain.BaseDirectory() \u0026 \"\\RegImagenes.txt\", True)\n\n        objArchivo.WriteLine(Today() \u0026 \"\" \u0026 strNombreArchivo)\n        objArchivo.Close()\n        objArchivo.Dispose()\n    End Sub\n\n    Public Sub DibujarBordes(ByRef objCuadroimagen As PictureBox)\n\n        Dim objGraphics As Graphics\n        objGraphics = objCuadroimagen.Parent.CreateGraphics\n        objGraphics.Clear(System.Drawing.SystemColors.Control)\n\n        objGraphics.DrawRectangle(System.Drawing.Pens.Blue, objCuadroimagen.Left - 1, objCuadroimagen.Top - 1, objCuadroimagen.Width + 1, objCuadroimagen.Height + 1)\n        objGraphics.Dispose()\n    End Sub\n\nEnd Module\n\nPublic Class FrmVisorEventos\n\n    Const c_predConfirmarSalida As Boolean = False\n    Private m_strNombreUsuario As String\n    Private m_blnConfirmarSalida As Boolean\n    Private m_objColorFondoImagen As Color\n\n    Private Sub picTexto_MouseMove(sender As Object, e As MouseEventArgs) Handles picTexto.MouseMove\n        lblX.Text = \"X: \" \u0026 e.X\n        lblY.Text = \"Y: \" \u0026 e.Y\n\n        'Con el evento MouseMove se puede obtener la posición del mouse en el control PictureBox\n        'y mostrarla en los controles Label lblX y lblY como coordenadas del objeto \"e\" asociado al evento MouseMove\n    End Sub\n\n\n    Private Sub picTexto_MouseLeave(sender As Object, e As EventArgs) Handles picTexto.MouseLeave\n        'Con el evento Load se puede limpiar los controles Label lblX y lbl al cargarse el formulario en memoria\n        lblX.Text = \"\"\n        lblY.Text = \"\"\n\n        'Con el evento MouseLeave se puede limpiar los controles Label lblX y lbl al detener el movimiento del raton\n    End Sub\n\n    Private Sub FrmVisorEventos_Load(sender As Object, e As EventArgs) Handles MyBase.Load\n        lblX.Text = \"\"\n        lblY.Text = \"\"\n\n        CargarPrederminados()\n\n    End Sub\n\n    Public Sub CargarPrederminados()\n\n        Const c_strNombreClave As String = \"HKEY_CURRENT_USER\\Software\\SoftwareXYZ\\VisorImagenes\\\"\n\n        'Inicializa las variables de opciones.\n\n        'm_blnConfirmarSalida = c_predConfirmarSalida\n        m_blnConfirmarSalida = CBool(My.Computer.Registry.GetValue(c_strNombreClave, \"ConfirmarSalida\", \"0\"))\n\n        'm_objColorFondoImagen = System.Drawing.SystemColors.Control\n        If CStr(My.Computer.Registry.GetValue(c_strNombreClave, \"ColorDeFondo\", \"Gris\")) = \"Gris\" Then\n            m_objColorFondoImagen = System.Drawing.SystemColors.Control\n        Else\n            m_objColorFondoImagen = System.Drawing.Color.White\n        End If\n\n        'Configura el color de fondo del cuadro de imagen\n\n        picTexto.BackColor = m_objColorFondoImagen\n\n        'Configura el valor de la confirmacion de salida\n        mnuuConfirmarSalida.Checked = m_blnConfirmarSalida\n\n    End Sub\n\n\n    Private Sub mnuAbrirImagen_Click(sender As Object, e As EventArgs) Handles mnuAbrirImagen.Click\n        ''Mostrar en el cuadro de diálogo Abrir Archivo\n        'If ofdSeleccionarImagen.ShowDialog = DialogResult.OK Then\n        '    'Cargar la imagen en el PictureBox\n        '    picTexto.Image = Image.FromFile(ofdSeleccionarImagen.FileName)\n        '    'Mostrar el nombre del archivo como titulo del formulario\n        '    Me.Text = \"Visor de Imagenes(\" \u0026 ofdSeleccionarImagen.FileName \u0026 \")\"\n        'End If\n        'Codigo sustituido por el modulodibujovb\n\n        AbrirImagen() 'Se llama a la funcion del ModuloDibujo.vb\n    End Sub\n\n    Private Sub mnuuConfirmarSalida_Click(sender As Object, e As EventArgs) Handles mnuuConfirmarSalida.Click\n        mnuConfirmarSalida.Checked = Not mnuConfirmarSalida.Checked\n        m_blnConfirmarSalida = mnuuConfirmarSalida.Checked\n    End Sub\n\n    Private Sub mnuSalir_Click(sender As Object, e As EventArgs) Handles mnuSalir.Click\n        Me.Close()\n    End Sub\n\n    Private Sub mnuDibujarBordes_Click(sender As Object, e As EventArgs) Handles mnuDibujarBordes.Click\n        'Dim objGraphics As Graphics\n        'objGraphics = Me.CreateGraphics()\n        'objGraphics.DrawRectangle(Pens.Blue, picTexto.Left - 1, picTexto.Top - 1, picTexto.Width + 1, picTexto.Height + 1)\n        'objGraphics.Dispose()\n        'Codigo sustituido por el modulodibujovb\n        DibujarBordes(picTexto) 'Se llama a la funcion del ModuloDibujo.vb que recibe como parametro el objeto picTexto\n    End Sub\n\n    Private Sub mnuOpciones_Click(sender As Object, e As EventArgs) Handles mnuOpciones.Click\n        frmOpciones.ShowDialog()\n    End Sub\n\n    Private Sub DibujarBordesToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DibujarBordesToolStripMenuItem.Click\n        Dim objGraphics As Graphics\n        objGraphics = Me.CreateGraphics\n        objGraphics.Clear(SystemColors.Control)\n\n        objGraphics.DrawRectangle(Pens.Blue, picTexto.Left - 1, picTexto.Top - 1, picTexto.Width + 1, picTexto.Height + 1)\n        objGraphics.Dispose()\n    End Sub\n\n    Private Sub tbbAbrirImagen_Click(sender As Object, e As EventArgs) Handles tbbAbrirImagen.Click\n        ''Mostrar en el cuadro de diálogo Abrir Archivo\n        'If ofdSeleccionarImagen.ShowDialog = DialogResult.OK Then\n        '    'Cargar la imagen en el PictureBox o Cuadro de Imagen\n        '    picTexto.Image = Image.FromFile(ofdSeleccionarImagen.FileName)\n        '    'Mostrar el nombre del archivo como titulo del formulario\n        '    Me.Text = \"Visor de Imagenes(\" \u0026 ofdSeleccionarImagen.FileName \u0026 \")\"\n        'End If\n        'Codigo sustituido por el modulodibujovb\n\n        AbrirImagen() 'Se llama a la funcion del ModuloDibujo.vb\n    End Sub\n\n    Private Sub tbbDibujarBordes_Click(sender As Object, e As EventArgs) Handles tbbDibujarBordes.Click\n        'Dim objGraphics As Graphics\n        'objGraphics = Me.CreateGraphics\n        'objGraphics.Clear(SystemColors.Control)\n\n        'objGraphics.DrawRectangle(Pens.Blue, picTexto.Left - 1, picTexto.Top - 1, picTexto.Width + 1, picTexto.Height + 1)\n        'objGraphics.Dispose()\n        'Codigo sustituido por el modulodibujovb\n        DibujarBordes(picTexto) 'Se llama a la funcion del ModuloDibujo.vb que recibe como parametro el objeto picTexto\n    End Sub\n\n    Private Sub tbbOpciones_Click(sender As Object, e As EventArgs) Handles tbbOpciones.Click\n        frmOpciones.ShowDialog()\n    End Sub\n\n    Private Sub picTexto_Click(sender As Object, e As EventArgs) Handles picTexto.Click\n\n    End Sub\n\n    Private Sub FrmVisorEventos_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing\n        If m_blnConfirmarSalida Then\n            If MessageBox.Show(\"Desea cerrar el programa Visor de Imagenes?\", \"Visor de Imagenes\", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.No Then\n                e.Cancel = True\n            End If\n        End If\n    End Sub\n\n    Private Sub tbbAtributosArchivo_Click(sender As Object, e As EventArgs) Handles tbbAtributosArchivo.Click\n\n        Dim strPropiedades As String\n        Dim lngAtributos As Long\n\n        If ofdSeleccionarImagen.FileName = \"\" Then Exit Sub\n\n        'Obtener las fechas.\n        strPropiedades = \"Creado: \" \u0026 System.IO.File.GetCreationTime(ofdSeleccionarImagen.FileName)\n        strPropiedades = strPropiedades \u0026 \"Acceso Reciente: \" \u0026 System.IO.File.GetLastAccessTime(ofdSeleccionarImagen.FileName)\n        strPropiedades = strPropiedades \u0026 vbCrLf\n        strPropiedades = strPropiedades \u0026 \"Modificado: \" \u0026 System.IO.File.GetLastWriteTime(ofdSeleccionarImagen.FileName)\n\n        'Obtener los atributos del archivo.\n        lngAtributos = System.IO.File.GetAttributes(ofdSeleccionarImagen.FileName)\n\n        'Utilizar un AND binario para extraer los atributos especificos\n        strPropiedades = strPropiedades \u0026 vbCrLf\n        strPropiedades = strPropiedades \u0026 \"Normal: \" \u0026 CBool(lngAtributos And IO.FileAttributes.Normal)\n\n        strPropiedades = strPropiedades \u0026 vbCrLf\n        strPropiedades = strPropiedades \u0026 \"Oculto: \" \u0026 CBool(lngAtributos And IO.FileAttributes.Hidden)\n\n        strPropiedades = strPropiedades \u0026 vbCrLf\n        strPropiedades = strPropiedades \u0026 \"Solo Lectura: \" \u0026 CBool(lngAtributos And IO.FileAttributes.ReadOnly)\n\n        strPropiedades = strPropiedades \u0026 vbCrLf\n        strPropiedades = strPropiedades \u0026 \"Sistema: \" \u0026 CBool(lngAtributos And IO.FileAttributes.System)\n\n        strPropiedades = strPropiedades \u0026 vbCrLf\n        strPropiedades = strPropiedades \u0026 \"Archivo temporal: \" \u0026 CBool(lngAtributos And IO.FileAttributes.Temporary)\n\n        strPropiedades = strPropiedades \u0026 vbCrLf\n        strPropiedades = strPropiedades \u0026 \"Archivado: \" \u0026 CBool(lngAtributos And IO.FileAttributes.Archive)\n\n        MessageBox.Show(strPropiedades, \"Visor de imagenes\")\n    End Sub\n\n    Private Sub tbbMostrarRegistro_Click(sender As Object, e As EventArgs) Handles tbbMostrarRegistro.Click\n\n        frmRegistroVisor.ShowDialog()\n    End Sub\nEnd Class\n\nPublic Class frmOpciones\n\n    Const c_strNombreClave As String = \"HKEY_CURRENT_USER\\Software\\SoftwareXYZ\\VisorImagenes\\\"\n    Private Sub btnOpciones_Click(sender As Object, e As EventArgs)\n\n\n\n    End Sub\n\n    Private Sub btnAceptar_Click(sender As Object, e As EventArgs) Handles btnAceptar.Click\n\n        My.Computer.Registry.SetValue(c_strNombreClave, \"NombreDeUsuario\", txtNombreUsuario.Text)\n        My.Computer.Registry.SetValue(c_strNombreClave, \"ConfirmarSalida\", chkConfirmarSalida.Checked)\n\n        If optFondoDefecto.Checked Then\n            My.Computer.Registry.SetValue(c_strNombreClave, \"ColorDeFondo\", \"Gris\")\n        Else\n            My.Computer.Registry.SetValue(c_strNombreClave, \"ColorDeFondo\", \"Blanco\")\n        End If\n\n        FrmVisorEventos.CargarPrederminados()\n\n        Me.Close()\n    End Sub\n\n    Private Sub btnCancelar_Click(sender As Object, e As EventArgs) Handles btnCancelar.Click\n\n    End Sub\n\n    Private Sub frmOpciones_Load(sender As Object, e As EventArgs) Handles MyBase.Load\n\n        txtNombreUsuario.Text = CStr(My.Computer.Registry.GetValue(c_strNombreClave, \"NombreDeUsuario\", \"\"))\n\n        chkConfirmarSalida.Checked = CBool(My.Computer.Registry.GetValue(c_strNombreClave, \"ConfirmarSalida\", \"0\"))\n\n        If CStr(My.Computer.Registry.GetValue(c_strNombreClave, \"ColorDeFondo\", \"Gris\")) = \"Gris\" Then\n            optFondoDefecto.Checked = True\n        Else\n            optFondoBlanco.Checked = True\n        End If\n\n    End Sub\nEnd Class\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fozzies-code%2Fvisorimagenesvb4","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fozzies-code%2Fvisorimagenesvb4","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fozzies-code%2Fvisorimagenesvb4/lists"}