LPARAMETERS tcOrigen
LOCAL lcArchivo, lnPosImagen, lcPosImagen, llLleno, lcArchDestino, lbImagen, llError
LOCAL loBmp AS GpBitmap OF "libs/_gdiplus.vcx"
*-------------------------------
SELECT cImagenes
LOCATE FOR EMPTY(imagen)
IF ! FOUND()
mensaje("Se ha copado el máximo de 9 imágenes. Puede eliminar una para agregar otra.")
RETURN
ENDIF
*-------------------------------
IF tcOrigen = "ARCHIVO"
lcArchivo = GETFILE('Imágenes BMP,JPG,GIF,PNG:BMP,JPG,GIF,PNG', 'Abrir Imagen...', 'Abrir',0,'Imagen producto')
IF EMPTY(lcArchivo)
RETURN
ENDIF
ELSE && "PEGAR" (origen: imagen en portapapeles)
lcArchivo = archazar("jpg")
With _Screen.System.Drawing
llError = .T.
TRY
loBmp = .Bitmap.FromClipboard()
loBmp.Save(lcArchivo, .Imaging.ImageFormat.jpeg) && el error lo da aqui, pero por si aca incluyo la linea de arriba tb
llError = .F.
CATCH
mensaje("Hubo un error al pegar la imagen. Asegúrese de haberla copiado.")
ENDTRY
IF llError
RETURN
ENDIF
EndWith
ENDIF
*-------------------------------
lcArchDestino = cambia_resol_y_formato_imagen(lcArchivo)
IF tcOrigen = "PEGAR"
borra_arch(lcArchivo)
ENDIF
IF EMPTY(lcArchDestino)
mensaje("Hubo un error al agregar la imagen.")
RETURN
ENDIF
*-------------------------------
lbImagen = cast(filetostr(lcArchDestino) as blob)
lnTamanoImagenKB = INT(LEN(lbImagen)/1024)
IF lnTamanoImagenKB > 150 && restriccion por si acaso ?
borra_arch(lcArchDestino)
mensaje("La imagen a grabar es demasiado grande.")
RETURN
ENDIF
*-------------------------------
lcPosImagen = ALLTRIM(STR(RECNO()))
thisform.mipgf1.mipgf_pgf1.mipgf_pag3.imagen&lcPosImagen..picture = lcArchDestino
REPLACE imagen WITH lbImagen
borra_arch(lcArchDestino)
BINDEVENT(thisform.mipgf1.mipgf_pgf1.mipgf_pag3.imagen&lcPosImagen., "click", thisform, "imagenes_agrandar_imagen")
thisform.mipgf1.mipgf_pgf1.mipgf_pag3.imagen&lcPosImagen..ToolTipText = "Haga click para agrandar"
thisform.lcambio_datos_imagenes = .T.
thisform.mipgf1.mipgf_pgf1.mipgf_pag3.micmd_eliminar._enabled = .T.
thisform.mipgf1.mipgf_pgf1.mipgf_pag3.cnt_rotar_girar.micmd_rotar_girar._enabled = .T.
thisform.mipgf1.mipgf_pgf1.mipgf_pag3.micmd_fijar_imagen_principal._enabled = .T.
thisform.mipgf1.mipgf_pgf1.mipgf_pag3.cnt_rotar_girar.micbo_tipo_rotar_girar._enabled = .T.