Rotar Imagen

Re: Rotar Imagen

Postby acuellar » Fri May 08, 2015 4:22 pm

Si está

Comenté esta línea //ohBmp:End()
y funciona.

Gracias.

Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1644
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Rotar Imagen

Postby acuellar » Fri May 08, 2015 4:30 pm

Manuel

Hay diferencia entre usar BITMAP o IMAGE
Ya probé y con ambos funciona.

Gracias.

Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1644
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Rotar Imagen

Postby mastintin » Fri May 08, 2015 4:35 pm

acuellar wrote:Manuel

Hay diferencia entre usar BITMAP o IMAGE
Ya probé y con ambos funciona.

Gracias.

Saludos,

Adhemar

En principio no , lo usamos como control contenedor una vez tienes un hBmp valido , no creo que exista diferencia entre los controles.
Me intriga lo del hbmp:end() , yo lo tengo funcionando bien sin comentarlo , lo voy a revisar a ver que es lo que pasa ...
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Re: Rotar Imagen

Postby acuellar » Fri May 08, 2015 5:07 pm

Muchas gracias Manuel

Con ésto mis sistemas están casi portable al 100% solo falta excluir la libmysql.dll de mysql
Por ahora la adjunto con Enigma virtual box y queda 100% portable el ejecutable.

Gracias una vez más.

Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1644
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Rotar Imagen

Postby mastintin » Fri May 08, 2015 5:21 pm

Mira a ver si funciona bien cambiando la función por esta mejorada:
Code: Select all  Expand view  RUN


Function oBmpLoadFromStr( oBmp, cStr, nWidth, nHeight )
local hBmpOld := oBmp:hBitmap
local hPalOld := oBmp:hPalette
local ohBmp
local hBmp := 0

 if ! Empty( cStr )
   ohBmp := GDIBmp():new()  
   ohBmp:LoadFromStr( cStr )
   if ( ! Empty( nWidth ) .or. ! Empty( nHeight ) )
        ohBmp:Resize( nWidth, nHeight )
    endif
    hBmp := ohBmp:GetGDIHbitmap()  
    ohBmp:End()  
 endif
 oBmp:hBitmap  := hBmp      
 oBmp:hPalette := 0
 
  if ! Empty( hBmpOld )
     PalBmpFree( hBmpOld, hPalOld )
 endif
 
RETURN nil

 
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Re: Rotar Imagen

Postby acuellar » Fri May 08, 2015 5:25 pm

Da el mismo error

Error description: Error BASE/1004 Message not found: GDIBMP:END
Args:
[ 1] = O GDIBMP

Quizas tenga algo que ver con los compiladores tengo Harbour 3.2.0dev (r1412151448) y BCC68


Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1644
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Rotar Imagen

Postby mastintin » Fri May 08, 2015 5:34 pm

No creo que sea eso , pero es importante esa linea ya que es la que libera los recurso gdi+ de memoria . ...

si pones un par de msfinfo () ?

Code: Select all  Expand view  RUN


  ohBmp := GDIBmp():new()  
  msginfo(ohbmp:hbmp)
   ohBmp:LoadFromStr( cStr )
   msginfo(ohbmp:hbmp)
   if ( ! Empty( nWidth ) .or. ! Empty( nHeight ) )
        ohBmp:Resize( nWidth, nHeight )
    endif
    hBmp := ohBmp:GetGDIHbitmap()  
   msginfo(hbmp)
    msginfo(ohbmp:hbmp)
    ohBmp:End()  
 
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Re: Rotar Imagen

Postby acuellar » Fri May 08, 2015 5:45 pm

Muestra cantidades

Ej:
855972370 varia, a veces negativo
42706344 siempre el mismo

Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1644
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Rotar Imagen

Postby mastintin » Fri May 08, 2015 5:46 pm

mejor aun ...cambia el

ohbmp:end()

por

GdiPlusImageDispose(ohbmp:hBmp )
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Re: Rotar Imagen

Postby acuellar » Fri May 08, 2015 5:52 pm

Compila bien

Al mostrar sale el programa a dejado de funcionar
y se cuelga.

Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1644
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Rotar Imagen

Postby mastintin » Fri May 08, 2015 5:58 pm

Es muy raro lo que esta pasando , intenta matar un objeto que no existe ....
si lo colocamos así ? se cuelga ?
if ! Empty( ohbmp:hbmp )
GdiPlusImageDispose(ohbmp:hBmp )
endif
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Re: Rotar Imagen

Postby acuellar » Fri May 08, 2015 6:05 pm

Si da el mismo error, ya que no es vacio.

Al compilar el gdiplus.ccp me da un error de advertencia.
Warning W8022 D:\SISTEMAS\COMPILER\BCC68\include\windows\GdiplusHeaders.h 636: 'Bitmap::Clone(const Rect &,int)' hides virtual function 'Image::Clone()'

Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1644
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Rotar Imagen

Postby mastintin » Fri May 08, 2015 6:14 pm

pues no cazo el problema , aquí me funciona bien,puede que sea porque mi version de tgdiplus no es la misma . la verdad que no lo entiendo , si tiene valor ,tendría que destruirla sin problemas.
de momento comenta la linea y listo . yo uso bcc582 , por lo que alguna definía también puede estar en eso .
LO dejo .
Saludos.
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Re: Rotar Imagen

Postby acuellar » Fri May 08, 2015 6:46 pm

Manuel

Pásame tu correo para que te envíe un link de descarga de BCC68

Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1644
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Previous

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot], groiss and 68 guests