Imagenes como mapas...

Re: Imagenes como mapas...

Postby cuatecatl82 » Thu Jan 15, 2009 11:29 pm

Maestro Antonio:

Simplemente espectacular, es un ejemplo 100% funcional, practico y sobre todo muy sencillo, sin tanta complicación..
Mis Respetos Maestro...
Soluciones y Diseño de Software
Damos Soluciones...

I.S.C. Victor Daniel Cuatecatl Leon
Director y Diseñador de Proyectos

http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon
User avatar
cuatecatl82
 
Posts: 625
Joined: Wed Mar 14, 2007 6:49 pm
Location: San Cristobal de las Casas, Chiapas México

Re: Imagenes como mapas...

Postby Antonio Linares » Fri Jan 16, 2009 2:19 am

Raymundo,

Aqui tienes un ejemplo usando JPGs. Hay que tener cuidado pues al salvar una imagen JPG modificada, los colores uniformes que hayamos usado pueden ser cambiados por el programa de dibujo. En este caso pasa eso, pero sirve de ejemplo.

En vez de TBitmap ahora usamos objetos TImage y la libreria FreeImage.dll.

olga1.jpg
Image

olga2.jpg
Image

Podeis descargar el PRG, RC y JPGs desde aqui:
http://www.fivetechsoft.com/files/utili ... stmap2.zip
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41314
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Imagenes como mapas...

Postby Antonio Linares » Fri Jan 16, 2009 2:24 am

Copio aqui el codigo fuente para JPGs:

TestMap2.prg
Code: Select all  Expand view
#include "FiveWin.ch"

function Main()

   local oDlg, oHand, oBmp1

   DEFINE CURSOR oHand HAND

   DEFINE DIALOG oDlg RESOURCE "Test"

   REDEFINE IMAGE oBmp1 ID 110 OF oDlg FILENAME "olga1.jpg"

   oBmp1:oCursor = oHand
   
   oBmp1:bLClicked = { | nRow, nCol | MsgInfo( GetArea( GetColor( nRow, nCol, oDlg ) ) ) }

   ACTIVATE DIALOG oDlg CENTERED

return nil

function GetColor( nRow, nCol, oDlg )

   local hDC  := CreateCompatibleDC( oDlg:GetDC() )
   local oImg := TImage()
   local dummy := oImg:LoadImage( , "olga2.jpg" )
   local hBmp  := oImg:hBitmap
   local hOldBmp   := SelectObject( hDC, hBmp )
   local nRGBColor := GetPixel( hDC, nCol, nRow )   

   SelectObject( hDC, hOldBmp )
   DeleteObject( hBmp )
   DeleteDC( hDC )
   oDlg:ReleaseDC()
   
return nRGBColor

function GetArea( nRGBColor )

   do case
      case nRGBColor == 5091363
           return "Nariz"
           
      case nRGBColor == 2366445
           return "Ojos" 
           
      case nRGBColor == 2523134
           return "Boca"     
           
      case nRGBColor == 10832034
           return "Oido"     

      otherwise
           return Str( nRGBColor ) + ", no definido aun en la funcion GetArea()"       
     
   endcase
   
return nil     


TestMap2.rc
Code: Select all  Expand view
test DIALOG 17, 36, 235, 260
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "TestMap"
FONT 8, "MS Sans Serif"
{
  CONTROL "", 110, "TImage", WS_CHILD | WS_VISIBLE, 0, 0, 235, 300
}
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41314
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Imagenes como mapas...

Postby mmercado » Fri Jan 16, 2009 3:07 am

Rossine wrote:Mudei ele um pouco para mostar o texto e cor da area apontada:
Antonio, Rossine:

Alguna idea para usar ToolTips usando el block OnMouseMove (bMMove) igual que en el link que muestra como ejemplo Saloh, lo estuve intentando sin éxito.

Saludos.

Manuel Mercado.
manuelmercado at prodigy dot net dot mx
User avatar
mmercado
 
Posts: 782
Joined: Wed Dec 19, 2007 7:50 am
Location: Salamanca, Gto., México

Re: Imagenes como mapas...

Postby Raymundo Islas M. » Fri Jan 16, 2009 7:12 pm

Muchas gracias Master,

Hare mis pruebas considerando lo que comentas.


Saludos
FWH 10.6 + xHarbour + Borland 582
User avatar
Raymundo Islas M.
 
Posts: 592
Joined: Tue Mar 14, 2006 11:34 pm
Location: Acapulco, Gro. MEXICO

Re: Imagenes como mapas...

Postby hmpaquito » Tue Jan 20, 2009 4:16 pm

mmercado wrote:
Rossine wrote:Mudei ele um pouco para mostar o texto e cor da area apontada:
Antonio, Rossine:

Alguna idea para usar ToolTips usando el block OnMouseMove (bMMove) igual que en el link que muestra como ejemplo Saloh, lo estuve intentando sin éxito.

Saludos.

Manuel Mercado.


Y no tendran Vds. alguna idea de como dibujar el contorno o bien cambiar el color del area sobre la que esta el mouse ?
La idea de dibujar el contorno del area me parece mejor

Saludos
hmpaquito
 
Posts: 1482
Joined: Thu Oct 30, 2008 2:37 pm

Previous

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 81 guests