Alguna ves usé esta funcion que alguien pasó y me sirvió lo mas bien para cambiar la resolucion
Espero te sirva
Saludos
Carlos Morandin

PARAMETERS tcFile as String, tcWidth as Integer, tcHeight as Integer, tcQuality as Integer

  *!* FUNCTION ResizePicture()
  *!*    La funcion requiere de 4 parametros:
  *!*    tcFile   -> Archivo de imagen
  *!*    tcWitdth -> Nuevo ancho de imagen
  *!*    tcHeigth -> Nuevo alto de imagen
  *!*    tcQuality -> Calidad para el redimencionamiento (0 - 100)

  SET CLASSLIB TO HOME() + "/FFC/_GdiPlus.vcx"
  SET COMPATIBLE ON

  LOCAL loGraphics as gpGraphics OF HOME() + "/FFC/_GdiPlus.vcx"
  LOCAL loImage    as gpImage    OF HOME() + "/FFC/_GdiPlus.vcx"
  LOCAL loBmpOut   as gpBitmap   OF HOME() + "/FFC/_GdiPlus.vcx"
  LOCAL lcNewPic  as String
  LOCAL lcExt     as Character

  IF !DIRECTORY(ADDBS(SYS(5) + SYS(2003)) + "Temp\Fotos\",1)
        MKDIR (ADDBS(SYS(5) + SYS(2003)) + "Temp\Fotos\")
  ENDIF

  lcExt = LOWER(JUSTEXT(tcFile))
lcNewPic = ADDBS(SYS(5) + SYS(2003)) + "Temp\Fotos\" + LOWER(JUSTSTEM(tcFile)) + CHR(46) + lcExt

  loGraphics = CREATEOBJECT("gpGraphics")
  loImage    = CREATEOBJECT("gpImage",m.tcFile)
  loBmpOut   = CREATEOBJECT("gpBitmap",m.tcWidth,m.tcHeight)

  loImage.CreateFromFile(m.tcFile)
  loGraphics.CreateFromImage(loBmpOut)
loGraphics.DrawImageScaled(loImage,0,0,loBmpOut.ImageWidth,loBmpOut.ImageHeight)
  DO CASE
    CASE lcExt = "bmp"
loBmpOut.SaveToFile(lcNewPic,"image/bmp","quality=" + ALLT(STR(m.tcQuality)))
    CASE (lcExt = "jpg") OR (lcExt = "jpeg")
loBmpOut.SaveToFile(lcNewPic,"image/jpeg","quality=" + ALLT(STR(m.tcQuality)))
    CASE lcExt = "gif"
loBmpOut.SaveToFile(lcNewPic,"image/gif","quality=" + ALLT(STR(m.tcQuality)))
    CASE (lcExt = "tif") OR (lcExt = "tiff")
loBmpOut.SaveToFile(lcNewPic,"image/tiff","quality=" + ALLT(STR(m.tcQuality)))
    CASE lcExt = "png"
loBmpOut.SaveToFile(lcNewPic,"image/png","quality=" + ALLT(STR(m.tcQuality)))
  ENDCASE
 RETURN (lcNewPic)
ENDFUNC


El 28/08/2015 a las 02:44 p.m., Walter Comito escribió:

Amigos como están, estoy teniendo un error en estas líneas de programa e identifique que si el archivo pesa mas de 1 o 1.5 megas me da el error.

vmfile = "FOTOS\"+PADL(CLIENTE_VIENE,8,'0')+'_016.JPG'

oPict = LOADPICTURE("&vmfile")

thisform.PGF.Page1.img5.Pictureval = opict

Este error me lo da en la linea loadpicture….

Si alguien me puede dar una mano se lo agradeceria.

Otra cosa que vi es que abri photoshop y le baje la calidad y se pudo mostrar la foto.

Alguna idea para bajar la resolucion de una foto por programacion?

Gracias.

*Walter Cómito*

 Analista de Sistemas

MP 0397 C.P.C.I.P.C.

*›****[email protected] <mailto:[email protected]>*

***[email protected] <mailto:[email protected]>*

*'****+54 351 494.4667*

*           153.292.707*

**

*þ****www.softram.com.ar <http://www.softram.com.ar/>*

QSi no es necesario, no imprima este correo.

Todos somos responsables por el cuidado del medio ambiente.

*NOTA DE CONFIDENCIALIDAD*
Este mensaje (y sus anexos) es confidencial y puede contener información de propiedad exclusiva de Walter Cómito (SRS Sistemas). Si usted ha recibido este mensaje por error, por favor comuníquelo inmediatamente a _walter.comito <mailto:[email protected]>[email protected] <http://gmail.com/>_ y tenga la amabilidad de eliminarlo; no deberá copiar el mensaje ni divulgar su contenido a ninguna persona.

Muchas Gracias.



------------------------------------------------------------------------
Avast logo <https://www.avast.com/antivirus>      

El software de antivirus Avast ha analizado este correo electrónico en busca de virus.
www.avast.com <https://www.avast.com/antivirus>



--

Responder a