Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/02/2009, 09:33
Avatar de Dradi7
Dradi7
 
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 16 años, 8 meses
Puntos: 220
De acuerdo Problema al Reemplazar Imagen Por Otra

Hola a Todos tengo la siguiente consulta q hasta ahora no lo puedo resolver
tengo un mantenimiento en donde seleccione una imagen a partir de una ruta especifica guardo el nombre de la ruta en mi bd de SQL Server cuando busco el registro lo encuentra exitosamente y lo muestra. El problema surge cuando le doy modificar al principio pensaba porq jalaba la imagen con la ruta tomada
pbx_foto.image=image.fromfile(ruta)
lo cambie por
pbx_foto.image=new system.drawing.bitmap(ruta)
lo cual me genera exitosamente la imagen
pero igual al tratar de seleccionar la otra imagen de otra ruta y tratar de reemplazar la imagen de la ruta actual por la otra me dice:

q el proceso no puede obtener acceso al archivo ya q esta siendo utilizado por otro proceso.

lo q quiero es q cuando seleccione la imagen pueda reemplazarla

el codigo es el siguiente

Variables Globales
Dim Origen as String,Destino as String,Temp as String

' Procedimiento Global para Llamar a una Imagen
Código PHP:
    Public Sub BuscarFoto(ByVal PbFoto As PictureBox)
        
Dim OpenFile As New OpenFileDialog
        Dim NomImg 
""
        
Try
            
With OpenFile
                
.InitialDirectory "D:\Arellano\"              ' Inicializamos la Ruta a Buscar
                ' Criterios a Filtrar Para la Busqueda de Foto
                .Filter = "
Imágenes JPG (*.jpg)|*.jpg" + _
                    "
Imagenes Fireworks (*.png)|*.png|" + _
                    "
Mapas de bits (*.bmp)|*.bmp|" + _
                    "
Todos Los Archivos|*.*"
                .Title = "
Seleccionar foto"                     ' Titulo a Mostrar
                If .ShowDialog = DialogResult.OK Then                         ' Preguntamos si es q abrio y lo cerro
                    NomImg = .FileName                          ' Sacamos la ruta de la imagen
                    If System.IO.File.Exists(NomImg) Then       ' Preguntamos si existe tal ruta
                        Origen = NomImg ' Devolvemos la ruta de la imagen
                    Else
                        MsgBox("
La Ruta Seleccionada no existe o la imagen es incorrecta", 48)
                    End If
                    Exit Sub
                Else
                    Origen = ""
                End If
            End With
        Catch ex As Exception
            MsgBox(ex.Message, 48)
        End Try
    End Sub 
' Procedimiento para Guardar Foto en una Ruta Especifica
Código PHP:
    Public Sub GuardarFoto(ByVal Org$, ByVal Des$)
        Try
            
System.IO.File.Copy(OrgDesTrue)       Copiamos la Imagen a Mostrar si existe la reemplaza
        
Catch ex As Exception
            MsgBox
(ex.Message48)
        
End Try

    
End Sub 
' Aqui es en donde en un boton llamo a buscarfoto
Código PHP:
BuscarFoto(Me.Pbx_Foto' Buscamos La Foto

        If Not Origen.Trim = "" Then    ' 
Preguntamos si nos devuelve cadena vacia

            Pbx_Foto
.Image = New System.Drawing.Bitmap(Origen)  ' Creamos una imagen binaria a partir de una ruta
            Pbx_Foto.SizeMode = PictureBoxSizeMode.StretchImage ' 
Adjuntamos la Imagen al Tamaño del Picturebox en Caso Sea Grande
            Destino 
"D:\Imagenes\img01.jpg" ' Creamos el Destino donde se guardara la imagen por ejemplo

        Else

            ' 
En Caso devuelva Origen Vacion el Destino Debe Ser Vacio ya q si no agregaremos una ruta sin archivo
            Pbx_Foto
.Image Nothing    ' Limpiamos el PictureBox
            Origen = ""     ' 
Liberamos Variables
            Destino 
""     Liberamos Variables

        End 
If 
cuando muestro el registro
Código PHP:
                    If Not Dt.Rows(0)(17).ToString "" Then  Ruta de la Imagen en SQL Server
                        Temp 
Dt.Rows(0)(17).ToString
                        Pbx_Foto
.Image = New System.Drawing.Bitmap(Temp)
                    
End If 
boton grabar
Código PHP:
' Verificamos si hemos agregado una nueva imagen o modificado
                    If Destino.Trim = "" Then Destino = Temp

Si el Origen es Vacio es Porq no hemos agregado una imagen y no guarda
If Not Origen "" Then
                            GuardarFoto
(OrigenDestino)
                        
End If
Registrar() 

q podria estar mal y porq no puedo reemplazar la imagen ayuda por favor